Как устроена радиосвязь
В ИТ многое завязано на радиоволны и связь по воздуху: Wi-Fi, Bluetooth и сети 4G — всё это работает на радиоволнах. Но Wi-Fi раздаёт интернет на 10–20 метров, а вышка 4G — на несколько километров. Посмотрим, как это работает и от чего зависит дальность и качество связи.
Эта статья для тех, кому интересно, как физически устроена беспроводная передача данных. Здесь ничего нет про код и алгоритмы, поэтому, если нужно что-то по программированию, — почитайте наши проекты про вычисление логарифма или про слайдер с jQuery на странице.
Электромагнитное поле
Основа любой связи — радиоволны. Радиоволну можно представить как обычную волну на поверхности пруда, когда кидаешь в него камень. Разница в том, что волна распространяется не в воде, а в невидимом глазу электромагнитном поле.
Электромагнитное поле можно представить как океан, в который погружена Вселенная. Оно повсюду, мы его не замечаем, но как только мы начинаем трясти электронами, двигать магниты, светить лазерами и совершать любые другие манипуляции с энергией, эти манипуляции возбуждают электромагнитное поле. По нему начинают расходиться эти самые волны.
Всё движение в электромагнитном поле происходит с фиксированной скоростью — почти 300 тысяч километров в секунду. Мы называем ее «скоростью света», но на самом деле это скорость передачи любых взаимодействий в полях, и свет ей тоже подчиняется.
Любая волна — следствие того, что полю сообщили энергию. Условно говоря, если мы бросаем в озеро камень, мы «сообщаем» озеру кинетическую энергию этого камня. Эта энергия начинает распределяться во все стороны, толкая ближайшие молекулы воды. Эти молекулы толкают соседей, те — соседей. Так получается волна.
Похожим образом учёные представляют электромагнитное поле. Сообщил ему дополнительную энергию, и она пошла возмущать поле во всех направлениях, передавая себя со скоростью света. По дороге наша энергия встречается с другими энергиями — например, энергией стен, антенн, решёток, гор и т. д. По мере столкновения с такими препятствиями энергия угасает.
Длина и частота волны
У каждой волны есть три важные характеристики: длина волны, частота и амплитуда. От них зависит качество связи и дальность приёма сигнала:

Сейчас нас больше всего интересует длина волны — это расстояние между двумя соседними гребнями. От длины волны зависит то, на какое расстояние она может передать сигнал и как волна реагирует на препятствия — огибает их, отражается или поглощается и дальше не идёт.
Например, если волна очень длинная, она может проникать через большие земляные и водяные массы, огибать горы и в целом плевать на любые препятствия. Но зато у неё будет низкая частота, то есть данных можно передать мало. А если волна сверхкороткая, то её может задержать любое, даже незначительное препятствие. Зато короткими волнами можно передавать очень много данных очень быстро.
В зависимости от длины волны делятся на разные категории. Вот картинка, чтобы было проще понять, о чём мы будем говорить.

Сверхдлинные волны — дальняя и подводная связь
Длина одной сверхдлинной волны от 10 до 100 километров. Такая большая длина получается из-за очень низкой частоты: от 3 до 40 килогерц. Благодаря своей длине эти волны могут отражаться от ионосферы — это верхний слой атмосферы, который облучается космическими лучами. Так эти волны распространяются по всей Земле
А ещё они хорошо проникают в воду, поэтому связь с подлодками обычно происходит именно на этих частотах.
Длинные волны — телевидение и навигация
Длинные волны живут на частоте 150—500 килогерц. Их длина — от 600 метров до 2 километров. Эти волны могут огибать простые препятствия (например, горы), но проникающая способность у них небольшая, поэтому в помещении поймать ничего не получится — нужна улица и длинная антенна.
Длинные волны используют для телевещания, связи с объектами на большой площади и радионавигации. Кстати, старые большие телевизионные антенны на крышах ловили как раз длинные волны.
Средние и короткие волны — международная и местная связь
У средних и коротких волн с длиной волны от 500 до 10 метров похожая физика распространения — они хорошо отражаются от ионосферы, огибают Землю и не требуют для этого передатчиков большой мощности. Этим пользуются радиолюбители, чтобы пообщаться друг с другом с разных концов света без интернета. Частота таких волн — от 500 килогерц до 30 мегагерц.
А ещё коротковолновую связь можно иногда увидеть на машинах: если стоит длинная трёхметровая антенна, то это значит, что внутри будет коротковолновая рация для связи на частоте 27 мегагерц. Это разрешённая для использования частота, доступная без лицензии.
Антенна для связи на средней частоте. Фото — Драйв2
Метровые волны — местная связь, радио и телевидение
Сюда относятся волны с частотой от 30 до 300 мегагерц и с длиной волны от 1 до 10 метров. На этих волнах работают радиостанции (FM-диапазон тоже сюда входит), принимаются телесигналы и можно установить связь на расстояние до 2000 километров. Огибать большие препятствия эти волны не могут (но могут отражаться), а всё, что меньше 10 метров в ширину или длину, они пройдут без проблем.
Сейчас на «двухметровом» диапазоне работает связь у городских служб — МЧС, скорая и других служб быстрого реагирования. А всё потому, что на этих частотах можно установить надёжную голосовую связь даже в условиях плотной застройки.
Дециметровые волны — вайфай, блютус и мобильная связь
Самый популярный диапазон в IT — от 300 мегагерц до 3 гигагерц. Сюда попадает вайфай, блютус, протоколы умного дома, охранные брелки и прочие подобные вещи, включая микроволновки. Все современные стандарты мобильной связи тоже попадают в этот диапазон, поэтому иногда связь пропадает, на первый взгляд, просто так, а на самом деле ей может мешать работающая рядом микроволновка.
Чем выше частота, тем большую плотность передачи сигнала можно в ней закодировать, поэтому операторы сотовой связи взяли себе самые высокие из доступных частот. По этой же причине вайфай использует эти же частоты — чтобы передавать данные по воздуху как можно быстрее. О том, как устроено кодирование сигнала в зависимости от частоты, мы расскажем в следующей статье.
Сантиметровые волны — 5G и связь со спутниками
Если поднять частоту ещё выше, от 3 до 50 гигагерц, то получим уже сантиметровые волны. Они легко проникают через ионосферу, поэтому на этих частотах работает спутниковая связь и управление в космосе. При этом из-за размера они слабо проникают сквозь препятствия, но могут отражаться от них, чтобы достичь нужной точки.
А ещё на этих частотах планируется развернуть скоростную часть связи 5G, чтобы получить скорость интернета 10 гигабит в секунду и скачать любой фильм за пару секунд.
Важно: все компьютерные беспроводные дела — это одно и то же радио
Блютус, вайфай, все сотовые стандарты, NFC и другие беспроводные протоколы — это всё радио. Это всё возмущения в одном и том же электромагнитном поле — только с разной частотой, скоростью и способами кодирования. Прямо сейчас, когда вы это читаете, вы сидите в центре огромного электромагнитного шторма от всех электромагнитных излучателей вокруг вас. Если вы сейчас достанете антенну и послушаете это излучение, вы услышите всё, что происходит в «эфире» электромагнитного поля. Другое дело, что вы не сможете это дешифровать, но это детали. Представьте, что мы все сидим в одном озере и пускаем волны по его поверхности. Вот в этом хаосе волн и приходится работать всем нашим роутерам и мобильникам.
И ещё пикантная деталь: все наши радиоволны, которые прошли сквозь ионосферу и улетели в космос, продолжают бесконечный полёт по электромагнитному полю со скоростью 300 тысяч км/с, лишь изредка сталкиваясь с пылью и шальными звёздами. Если где-то на другом конце галактики инопланетяне тоже изобретут радио, с большой вероятностью они поймают наши сигналы (когда эти сигналы долетят).
Что дальше
Теперь у нас достаточно знаний, чтобы разобраться в двух вещах — как всё-таки кодируются данные, которые передаются по радиосвязи, и почему связь 5G даст такой огромный прирост скорости и возможностей.
Преобразование Фурье в действии: точное определение частоты сигнала и выделение нот
Начнём с пианино. Очень упрощёно этот музыкальный инструмент представляет собой набор белых и чёрных клавиш, при нажатии на каждую из которых извлекается определённый звук заранее заданной частоты от низкого до высокого. Конечно, каждый клавишный инструмент имеет свою уникальную тембральную окраску звучания, благодаря которой мы можем отличить, например, аккордеон от фортепиано, но если грубо обобщить, то каждая клавиша представляет собой просто генератор синусоидальных акустических волн определённой частоты.
Когда музыкант играет композицию, то он поочерёдно или одновременно зажимает и отпускает клавиши, в результате чего несколько синусоидальных сигналов накладываются друг на друга образуя рисунок. Именно этот рисунок воспринимается нами как мелодия, благодаря чему мы без труда узнаём одно произведение, исполняемое на различных инструментах в разных жанрах или даже непрофессионально напеваемое человеком.

Наглядная иллюстрация нотного рисунка
Определение частоты (режим гитарного тюнера) 
Обратная задача состоит в том, чтобы разобрать звучащую музыкальную композицию на ноты. То есть разложить суммарный акустический сигнал, улавливаемый ухом, на исходные синусоиды. По сути, этот процесс и представляет собой прямое преобразование Фурье. А нажатие на клавиши и извлечение звука есть процесс обратного преобразования Фурье.
Математически в первом случае происходит разложение сложной периодической (на некотором временном интервале) функции в ряд более элементарных ортогональных функций (синусоид и косинусоид). А во втором их обратное суммирование, то есть синтез сложного сигнала.
Ортогональность, в некотором роде, обозначает несмешиваемость функций. Например, если мы возьмём несколько кусочков цветного пластилина и склеим их, то потом всё же сможем разобрать, какие цвета были изначально, но если хорошенько перемешаем несколько баночек гуашевых красок, то точно восстановить исходные цвета без дополнительной информации уже будет невозможно.
(!) Важно понимать, когда мы берёмся анализировать реальный сигнал с помощью преобразования Фурье, мы идеализируем ситуацию и исходим из предположения, что он периодический на текущем временном интервале и состоит из элементарных синусоид. Зачастую это именно так, поскольку акустические сигналы, как правило, имеют гармоническую природу, но вообще возможны и более сложные случаи. Любые наши допущения о природе сигнала обычно ведут к частичным искажениям и погрешностям, но без этого выделить полезную информацию из него крайне сложно.
Теперь опишем весь процесс анализа более подробно:
1. Всё начинается с того, что звуковые волны колеблют мембрану микрофона, который преобразует их в аналоговые колебания электрического тока.
2. Затем происходит дискретизация аналогового электрического сигнала в цифровую форму. На этом моменте стоит остановиться подробно.
Поскольку аналоговый сигнал математически состоит из бесконечного непрерывного во времени множества точек-значений амплитуды, в процессе измерения мы можем выделить из него лишь конечный ряд значений в дискретные моменты времени, то есть, по сути, выполнить квантование по времени…
Как правило, значения-отсчёты берутся через небольшие равные временные промежутки, то есть с определённой частотой, например, 16000 или 22000 Гц. Однако в общем случае дискретные отсчёты могут идти и неравномерно, но это усложняет математический аппарат анализа, поэтому на практике обычно не применяется.

Существует важная теорема Котельникова-Найквиста-Шеннона, которая гласит, что аналоговый периодический сигнал, имеющий конечный (ограниченный по ширине) спектр, может быть однозначно восстановлен без искажений и потерь по своим отсчётам, взятым с частотой, большей или равной удвоенной верхней частоте спектра (называемой частотой дискретизации или Найквиста).
Для этого восстановления необходимо применить специальные интерполирующие функции, но проблема в том, что при использовании данных функций вычисления нужно выполнять на бесконечном временном интервале, что на практике невозможно. Поэтому в реальной жизни нельзя сколь угодно повысить частоту дискретизации искусственным образом без искажений даже если изначально она удовлетворяет теореме Котельникова-Найквиста-Шеннона. Для этой операции применяются фильтры Фарроу.
Также дискретизация происходит не только по времени, но и по уровню значений амплитуды, поскольку компьютер способен манипулировать лишь ограниченным множеством чисел. Это также вносит небольшие погрешности.
3. На следующем этапе происходит само дискретное прямое преобразование Фурье.
Мы выделяем короткий кадр (интервал) композиции, состоящий из дискретных отсчётов, который условно считаем периодическим и применяем к нему преобразование Фурье. В результате преобразования получаем массив комплексных чисел, содержащий информацию об амплитудном и фазовом спектрах анализируемого кадра. Причём спектры также являются дискретными с шагом равным (частота дискретизации)/(количество отсчётов). То есть чем больше мы берём отсчётов, тем более точное разрешение получаем по частоте. Однако при постоянной частоте дискретизации увеличивая число отсчётов, мы увеличиваем анализируемый временной интервал, а поскольку в реальных музыкальных произведениях ноты имеют различную длительность звучания и могут быстро сменять друг друга, происходит их наложение, поэтому амплитуда длительных нот «затмевает» собой амплитуду коротких. С другой стороны для гитарных тюнеров такой способ увеличения разрешения по частоте подходит хорошо, поскольку нота, как правило, звучит долго и одна.
Существует также довольно простой трюк для увеличения разрешения по частоте — нужно исходный дискретный сигнал заполнить нулями между отсчётами. Однако в результате такого заполнения сильно искажается фазовый спектр, но зато увеличивается разрешение амплитудного. Также возможно применение фильтров Фарроу и искусственное увеличение частоты дискретизации, однако и оно вносит искажения в спектры.
Длительность кадра обычно составляет приблизительно от 30 мс до 1 с. Чем он короче, тем лучшее разрешение мы получаем по времени, но худшее по частоте, чем сэмпл длиннее, тем лучшее по частоте, но худшее по времени. Это очень напоминает принцип неопределённости Гейзенберга из квантовой механики..и не с проста, как гласит Википедия, соотношение неопределенностей в квантовой механике в математическом смысле есть прямое следствие свойств преобразования Фурье…
Интересно и то, что в результате анализа сэмпла одиночного синусоидального сигнала амплитудный спектр очень напоминает дифракционную картинку…
Синусоидальный сигнал, ограниченный прямоугольным окном, и его «дифракция»
Дифракция световых волн 
На практике это нежелательный эффект, затрудняющий анализ сигналов, поэтому его стараются понизить путём применения оконных функций. Таких функций придумано немало, ниже представлены реализации некоторых из них, а также сравнительное влияние на спектр одиночного синусоидального сигнала.
Применяется оконная функция ко входному кадру очень просто:
Что касается компьютеров, в своё время был разработан алгоритм быстрого преобразования Фурье, который минимизирует число математических операций, необходимых для его вычисления. Единственное требование алгоритма состоит в том, чтобы число отсчётов было кратно степени двойки (256, 512, 1024 и так далее).
Ниже его классическая рекурсивная реализация на языке C#.
Существует две разновидности алгоритма БПФ — с прореживанием по времени и по частоте, но оба дают идентичный результат. Функции принимают массив комплексных чисел, заполненный реальными значениями амплитуд сигнала во временной области, а после своего выполнения возвращают массив комплексных чисел, содержащий информацию об амплитудном и фазовом спектрах. Стоит помнить, что реальная и мнимая части комплексного числа — это далеко не то же самое, что его амплитуда и фаза!
magnitude = Math.Sqrt(x.Real*x.Real + x.Imaginary*x.Imaginary)
phase = Math.Atan2(x.Imaginary, x.Real)
Результирующий массив комплексных чисел заполнен полезной информацией ровно на половину, другая половина является лишь зеркальным отражением первой и спокойно может быть исключена из рассмотрения. Если вдуматься, то этот момент хорошо иллюстрирует теорему Котельникова-Найквиста-Шеннона, о том, что частота дискретизации должна быть не меньше максимальной удвоенной частоты сигнала…
Также существует разновидность алгоритма БПФ без рекурсии по Кули-Тьюки, которая часто применяется на практике, но она чуть более сложна для восприятия.
Сразу после вычисления преобразования Фурье удобно нормализовать амплитудный спектр:
Это приведёт к тому, что величина значений амплитуды получится одного порядка не зависимо от размеров сэмпла.
Вычислив амплитудный и частотный спектры, легко производить обработку сигнала, например, применять частотную фильтрацию или производить сжатие. По сути, таким образом можно сделать эквалайзер: выполнив прямое преобразование Фурье, легко увеличить или уменьшить амплитуду определённой области частот, после чего выполнить обратное преобразование Фурье (хотя работа настоящих эквалайзеров обычно основана на другом принципе — фазовом сдвиге сигнала). Да и сжать сигнал очень просто — нужно всего лишь сделать словарь, где ключом является частота, а значением соответствующее комплексное число. В словарь нужно занести лишь те частоты, амплитуда сигнала на которых превышает какой-то минимальный порог. Информация о «тихих» частотах, не слышимых ухом, будет потеряна, но получится ощутимое сжатие при сохранении приемлемого качества звучания. Отчасти этот принцип лежит в основе многих кодеков.
4. Точное определение частоты
Дискретное преобразование Фурье даёт нам дискретный спектр, где каждое значение амплитуды отстоит от соседних на равные промежутки по частоте. И если частота в сигнале кратна шагу равному (частота дискретизации)/(количество отсчётов), то мы получим выраженный остроконечный пик, но если частота сигнала лежит где-то между границами шага ближе к середине у нас выйдет пик со «срезанной» вершиной и нам будет затруднительно сказать, что же там за частота. Очень может быть что в сигнале присутствуют две частоты лежащие рядом друг с другом. В этом и заключается ограничение разрешения по частоте. Так же как на фотоснимке с низким разрешением мелкие предметы склеиваются и становятся неразличимы, так же и тонкие детали спектра могут теряться.
Но частоты музыкальных нот лежат далеко не на сетке шагов преобразования Фурье, а для повседневных задач настройки музыкальных инструментов и распознавания нот необходимо знать именно точную частоту. Более того, на низких октавах при разрешении от 1024 отсчётов и ниже сетка частот Фурье становится настолько редкой, что попросту на одном шаге начинают умещаться несколько нот и определить какая же на самом деле из них играет становится фактически невозможно.
Чтобы как-то обойти это ограничение иногда применяют аппроксимирующие функции, например, параболические.
www.ingelec.uns.edu.ar/pds2803/Materiales/Articulos/AnalisisFrecuencial/04205098.pdf
mgasior.web.cern.ch/mgasior/pap/biw2004_poster.pdf
Но всё это искусственные меры, которые улучшая одни показатели могут давать искажения в других.
Существует ли более естественный путь для точного определения частоты?
Да, и скрыт он как раз-таки в использовании фазового спектра сигнала, которым часто пренебрегают.
Данный метод уточнения частоты сигнала, основан на вычислении задержки фаз у спектров двух кадров, наложенных друг на друга, но немного сдвинутых во времени.
На C# реализация метода выглядит довольно просто:
Применение также несложное:
Обычно исходные кадры сдвинуты на 1/16 или 1/32 своей длины, то есть ShiftsPerFrame равно 16 или 32.
В результате мы получим словарь частота-амплитуда, где значения частот будут довольно близки к реальным. Однако «срезанные пики» всё ещё будут наблюдаться, хоть и менее выражено. Чтобы устранить этот недостаток, можно просто «дорисовать» их.

Перспективы
Нотный анализ музыкальных произведений открывает ряд интересных возможностей. Ведь имея в наличии готовый нотный рисунок, можно осуществлять поиск других музыкальных композиций со схожим рисунком.
Например, одно и то же произведение может быть исполнено на другом инструменте, в различной манере, с другим тембром, либо транспонировано по октавам, однако нотный рисунок останется похожим, что позволит найти различные варианты исполнения одного и того же произведения. Это очень напоминает игру «угадай мелодию».
В некоторых случаях подобный анализ поможет выявить плагиат в музыкальных произведениях. Также по нотному рисунку, теоретически, можно искать произведения определённого настроения или жанра, что поднимает поиск на новый уровень.
В этой статье изложены основные принципы точного определения частот акустических сигналов и выделения нот. А также показана некоторая тонкая интуитивная связь дискретного преобразования Фурье с квантовой физикой, что подталкивает на размышления о единой картине мира.
Как найти частоту сигнала
Частота f сигнала — величина, обратная его периоду T: $$ f = 1 / T. $$ Из определения следует, что частота численно равна количеству колебаний (количеству периодов) в единицу времени.
Понятия частоты и периода применимы, строго говоря, только к периодическим сигналам (функциям). Для заданной периодической функции, частота и период — постоянные величины.
Реальные сигналы не идеальны, они никогда не бывают строго периодическими. Тем не менее, по отношению к реальным сигналам также используется понятие частоты. Что понимают под частотой в этом случае?
Введение
Частота — важный параметр сигнала. Существует огромное множество случаев, когда необходимо знать частоту сигнала, или иметь возможность измерить частоту с высокой точностью (с целью тестирования, диагностики устройств и поиска неисправностей; для выполнения измерений в таких измерительных системах, где используется преобразование величин в частоту сигнала и т.д.). Очень часто требуется генерировать сигнал с нужной частотой: многие устройства содержат в себе генераторы опорного сигнала, от точности установки и стабильности частоты которых, зависит нормальная работа устройств. Например, очень жёсткие требования предъявляются к передатчикам (которые не должны мешать соседям по диапазону). Но и в приёмнике частота гетеродина также должна быть точно установлена и стабильна, от этого зависит точность настройки на передатчик и качество приёма. От качества опорного генератора напрямую зависит точность многих приборов (таких, например, как цифровые частотомеры или, скажем, обычные часы).
Но что это такое — частота? Рассмотрим подробнее этот вопрос.
Понятие частоты периодического сигнала
Как уже было отмечено в самом начале, понятия периода и частоты применимы только к периодическим * сигналам (или функциям). Функция u(t) называется периодической, если существует число T > 0 такое, что для любого t $$ u(t \pm T) = u(t), $$ значение T называют периодом функции.

Рис. %img:pf
Понятно, что при таком определении периодическая функция имеет бесконечно много периодов: если некоторая величина является периодом функции, то и любая кратная ей величина также будет периодом. Но если периодическая функция — не константа, то для неё существует наименьший период (наименьшая положительная величина, являющаяся периодом). Далее под периодом будем подразумевать именно наименьший период.
* В математике также рассматриваются "почти периодические" функции, но это весьма специфический вопрос и в математике этим термином обозначается не совсем то, что имеется в виду под "почти периодическими" функциями в технике.
Частота периодического сигнала (функции) — величина, обратная его периоду: $$ f = 1 / T. $$

Рис. %img:hf
Примером периодического сигнала является гармонический (синусоидальный) сигнал (рис. %img:hf). Для того чтобы полностью описать такой сигнал, достаточно задать всего три параметра: амплитуду сигнала A, период T (или, что равнозначно, частоту f) и начальную фазу \( <\phi>_0 \), $$ u(t)=A \sin \left( \frac <2 \pi>T t + <\phi>_0 \right). $$ Запишем то же самое с использованием частоты: $$ u(t) = A \sin( 2 \pi f t + <\phi>_0). $$ Наряду с частотой сигнала, также рассматривается циклическая (также иногда называемая круговой или угловой) частота \( \omega = 2 \pi f \), используя которую, выражение для синусоидального сигнала можем записать следующим образом: $$ u(t) = A \sin( \omega t + <\phi>_0). $$ Иногда слово "циклическая" опускают, если из контекста или обозначений понятно, о какой именно частоте идёт речь.
Последнее выражение можно записать ещё проще: $$ u(t) = A \sin \phi(t), $$ где \( \phi(t) = \omega t + <\phi>_0 \) — фаза сигнала. Нетрудно заметить, что фаза синусоидального сигнала линейно растёт со временем. Со скоростью, равной циклической частоте: $$ \frac
Частота реального сигнала. Мгновенная частота
Строгие определения и формальные теоретические подходы хороши для математики. В реальной жизни, в технике, сигналы никогда не бывают периодическими. Прежде всего, потому что никакой сигнал не может длиться бесконечно долго. Сигнал имеет начало и конец, что уже нарушает идеальную периодичность. Но даже если отвлечься от этого, скорее философского вопроса о конечности существования, то и за время существования сигнала, строгая периодичность недостижима. С другой стороны, некоторая степень регулярности и повторяемости характерна для очень многих реальных сигналов.
Часто такие сигналы оказывается удобно представлять в квазигармонической форме $$ \begin

Рис. %img:cf
Функция A(t) описывает поведение огибающей сигнала. Фаза \( \phi(t) \) определяет поведение сигнала в пределах "периода" и "повторяемость" сигнала. В частности, фаза определяет моменты прохождения сигнала через 0: если \( \sin \phi = 0 \), то понятно, что и \( u(t) = 0 \); это происходит, когда $$ \phi (t) = k \pi, $$ где k — целое.
Мгновенной частотой такого квазигармонического сигнала, по аналогии с гармоническим, называют скорость изменения его фазы: $$ \omega = \frac
Заметим, что даже в случае периодических с математической точки зрения, идеальных сигналов, иногда бывает удобнее рассматривать их как "не вполне" периодические, с изменяющейся во времени амплитудой и/или частотой.
Простейший пример — модулированный по амплитуде сигнал при модуляции его гармоническим сигналом: $$ u(t) = A (1 + m \sin \Omega t) \sin \omega t, $$ предполагаем, что \( \Omega \ll \omega \). Для простоты начальные фазы считаем равными 0.
Очевидно, что период \( T = 2 \pi / \omega \) несущего колебания уже не является периодом модулированного сигнала из-за множителя \( (1 + m \sin \Omega t) \), который изменится через время T.
Легко показать, что если частота несущего сигнала кратна частоте модулирующего сигнала, т.е. $$ \omega = k \Omega, $$ k — целое, то период модулированного сигнала оказывается равным периоду модулирующего. Если частоты не кратны, но соизмеримы (их отношение выражается рациональным числом), то период сигнала оказывается ещё больше, он будет в целое количества раз больше периода низкочастотного модулирующего колебания. А если частоты несоизмеримы (их отношение не является рациональным числом), то модулированный сигнал, строго говоря, оказывается непериодическим.
Излишне говорить, что с практической точки зрения такой подход совершенно неудобен; истинные частота и период рассмотренного сигнала абсолютно не отражают его реальных свойств. В то же время, мгновенная частота, которая в случае амплитудно-модулированного сигнала равна частоте несущего сигнала \( \omega \), оказывается намного более объективной и информативной характеристикой сигнала.
Перейдём теперь к вопросу об измерении частоты. В общем случае, измерение мгновенной частоты сигнала — достаточно сложная задача. Она заметно упрощается, когда заранее имеется информация о характере сигнала (известен вид функции, описывающей сигнал). Тогда, отслеживая мгновенные значения сигнала и обрабатывая эти данные (с помощью аналоговой цепи или цифровыми методами), сможем определять мгновенную частоту сигнала в любой момент. Получаемая при этом точность, по ряду причин, часто оказывается не слишком высокой.
Очень точному измерению поддаётся среднее значение частоты сигнала, об этом далее.
Среднее значение частоты. Измерение частоты
Пусть мы имеем сигнал вида $$ u(t)=A(t) \sin \phi (t), $$ где A(t) > 0. Тогда точки, в которых сигнал проходит через нулевые значения, определяются только фазой. Возьмём две последовательные точки t1 и t2 такие, что в этих точках $$ \sin \phi(t) = 0, $$ а значит и $$ u(t) = 0, $$ причём u(t) проходит через нулевое значение в этих точках в одном направлении. Например, от отрицательных значений к положительным (рис. %img:mf). Это означает, что \( \sin’ \phi \) в этих точках имеет одинаковый знак, в нашем случае — оба значения положительные.

Рис. %img:mf
С учётом свойств периодичности тригонометрических функций, можем утверждать, что значения фазы в указанных точках отличаются на \( 2 \pi \): $$ \phi(t_2) — \phi(t_1) = 2 \pi. $$
Так как мгновенная циклическая частота \( \omega = d \phi / dt \), то эта же разность фаз может быть вычислена интегрированием мгновенной частоты: $$ \phi(t_2) — \phi(t_1) = \int_
Далее воспользуемся тем, что интегрирование функции и нахождение её среднего — взаимосвязанные операции. По определению, среднее значение x на отрезке [t1, t2] равно $$ \bar
Получили что для того, чтобы измерить среднее значение частоты, достаточно измерить промежуток времени между двумя моментами, когда сигнал проходит через нулевое значение (в одном направлении). Впрочем, этот результат вполне соответствует интуитивному представлению о периоде реального сигнала и соотношению между периодом и частотой.
Если сигнал высокочастотный, то интервал \( \Delta t \) становится очень малым и, его оказывается трудно измерить с высокой точностью. Тогда оказывается выгодным взять интервал, за который фаза сигнала возрастает не на \( 2 \pi \), а на кратное этой величине значение, т.е \( 2 \pi m \), где m — целое: $$ \Delta \phi = 2 \pi m. $$ Иначе говоря, измеряем длительность не одного периода сигнала, а длительность m периодов. Тогда средняя частота за соответствующий интервал времени составит $$ \bar f = \frac 1 <2 \pi \Delta t>\int_
Для точного измерения \( \Delta t \) хорошо подходят цифровые методы. Покажем, как выполнить измерение. Преобразуем исходный сигнал в цифровой таким образом, что значениям \( u(t) \lt 0 \) будет соответствовать логический 0, а значениям \( u(t) \ge 0 \) — логическая 1 (рис. %img:df). Тогда моментам перехода исходного сигнала через 0 от отрицательных значений к положительным, будут соответствовать фронты полученного цифрового сигнала.

Рис. %img:df
На самом деле, обязательно наличие гистерезиса при преобразовании (порог переключения от 0 к 1 должен быть выше, чем порог обратного переключения). В противном случае, вблизи порога переключения будем получать пачки паразитных импульсов из-за наличия шумов и помех в сигнале. Но это детали реализации, не изменяющие самого принципа.
Задача определения промежутка времени между двумя заданными фронтами решается очень просто — с помощью счётчика подсчитывается количество импульсов n эталонного генератора с частотой fr (с периодом Tr) за этот промежуток времени (по первому фронту сигнала счёт запускается, по последнему — останавливается). Тогда $$ \Delta t = n T_r = n / f_r, \\ \bar f = \frac m <\Delta t>= f_r \frac m n. $$
Целое значение m задаётся точно. Подсчёт n выполняется с точностью \( \pm 1 \), поэтому относительная погрешность счёта, а значит и погрешность измерения \( \bar f \) составляет 1 / n (без учёта погрешности эталонного генератора). Для получения как можно меньшей относительной погрешности выгодно, чтобы значение n было как можно больше. Увеличивать n можно, увеличивая частоту эталонного генератора. Однако, на этом пути имеются ограничения, связанные с предельным быстродействием счётчика. Другой вариант — увеличивать длительность интервала измерения, увеличивая m. Этот подход позволяет достичь очень высокой точности измерений, но ценой увеличения длительности измерения.
Динамическая погрешность измерений
Мы нашли способ определения средней частоты сигнала за некоторый интервал времени с высокой точностью. Но если частота сигнала изменяется, средняя частота даёт слишком мало информации о сигнале. Зачастую бывает необходимо знать, как во времени изменяется мгновенная частота сигнала и насколько сильно она отклоняется от среднего значения.
Рассмотрим, как соотносятся средняя и мгновенная частота на примере сигнала, модулированного по частоте гармоническим сигналом: $$ \omega = <\omega>_0 + \Delta \omega \sin \Omega t. $$ Здесь
\( \omega \) — мгновенная частота модулированного сигнала;
\( <\omega>_0 \) — его средняя частота;
\( \Delta \omega \) — наибольшее отклонение мгновенной частоты от среднего значения;
\( \Omega \) — частота модулирующего гармонического сигнала.
Для простоты считаем, что начальная фаза модулирующего воздействия равна 0.
Так как мгновенная частота по определению \( \omega = d \phi / dt \), то фаза модулированного сигнала описывается выражением $$ \phi = \int \omega dt = \int (<\omega>_0 + \Delta \omega \sin \Omega t) dt = <\omega>_0 t — \frac <\Delta \omega> <\Omega>\cos \Omega t + <\phi>_0, $$ а сам сигнал может быть представлен в следующей форме $$ u(t) = A \sin \left( <\omega>_0 t — \frac <\Delta \omega> <\Omega>\cos \Omega t + <\phi>_0 \right), $$ впрочем, в данном случае это не столь важно.
Посмотрим, какой результат даст измерение средней частоты сигнала $$ \bar \omega = \frac 1 <\Delta t>\int_
Учитывая, что $$ \cos \alpha — \cos \beta = -2 \sin \frac <\alpha - \beta>2 \sin \frac <\alpha + \beta>2, $$ получаем $$ \bar \omega = <\omega>_0 + \frac <2 \Delta \omega> <\Omega \Delta t>\sin \frac <\Omega \Delta t>2 \sin \frac <\Omega (t_1 + t_2)>2. $$ Величина $$ \frac
Тогда $$ \bar \omega = <\omega>_0 + \frac <2 \Delta \omega> <\Omega \Delta t>\sin \frac <\Omega \Delta t>2 \sin \Omega \left( t_2 — \frac <\Delta t>2 \right). $$
Заметим, что если частота изменяется не по гармоническому закону, всё равно, мгновенную частоту как функцию можно разложить на гармонические составляющие и рассматривать воздействие операции усреднения на каждую составляющую по отдельности. Это возможно, поскольку операция усреднения является линейной.
Рассмотрим, как влияет интервал измерения на результат измерений. Предположим сначала, что частота сигнала изменяется достаточно медленно, а интервал измерения достаточно мал, так что $$ \frac <\Omega \Delta t>2 \ll 1, $$ а значит, $$ \sin \frac <\Omega \Delta t>2 \approx \frac <\Omega \Delta t>2 $$ и $$ \bar\omega \approx <\omega>_0 + \Delta \omega \sin \Omega \left( t_2 — \frac <\Delta t>2 \right). $$ То есть, если выбран достаточно малый интервал измерений, то результат измерений приближается к мгновенной частоте сигнала в момент, соответствующий середине интервала измерения (результат измерения запаздывает на \( \Delta t /2 \) относительно мгновенной частоты).
С увеличением интервала измерения уменьшается коэффициент $$ \frac <2 \Delta \omega><\Omega \Delta t>, $$ при этом в силу свойств тригонометрических функций, $$ \left| \sin \frac <\Omega \Delta t>2 \right| \le 1. $$ Так что, при $$ \Delta t \rightarrow \infty, \bar \omega \rightarrow <\omega>_0. $$
На основе полученных выводов можем должным образом выбрать интервал измерения.
1. Если хотим точно измерить среднюю частоту, влияние отклонений мгновенной частоты на результат необходимо минимизировать. Как было выяснено, для этого следует увеличивать интервал измерения. Предположим, что относительная погрешность метода составляет \( \varepsilon \). Тогда, вероятно, мы захотим, чтобы дополнительная погрешность, вносимая колебаниями частоты, не превышала этой величины: $$ \frac <2 \Delta \omega><\Omega \Delta t <\omega>_0> \lt \varepsilon, $$ откуда получаем $$ \Delta t \gt \frac <2 \Delta \omega><\Omega <\omega>_0 \varepsilon> $$ или $$ \Delta t \gt \frac <\Delta f><\pi F f_0 \varepsilon>. $$ Пример. Пусть имеем сигнал со средней частотой f0 = 1 МГц, мгновенная частота которого периодически отклоняется от среднего значения на величину \( \Delta f \) до 10 Гц; желаемое относительное отклонение результата от среднего значения \( \varepsilon \lt 10^ <-8>\). В зависимости от частоты F, с которой изменяется мгновенная частота f сигнала, выбираем интервал измерения, например: $$ F = 1 \text< Гц>: \Delta t \gt 320 \text< с>; \\ F = 50 \text< Гц>: \Delta t \gt 6.4 \text< с>; \\ F = 1 \text< кГц>: \Delta t \gt 0.32 \text< с>. $$
2. Предположим, что наоборот, требуется отследить изменения мгновенной частоты сигнала. Тогда имеет смысл выбирать малый интервал измерения. Прежде всего, чтобы обнаружить изменение частоты сигнала, которое происходит с частотой \( \Omega \), следует выбрать $$ \Delta t \lt \frac <2 \pi> <\Omega>= \frac 1 F, $$ тогда можно быть уверенным, что измеряемые отклонения не окажутся нулевыми за счёт множителя \( \sin( \Omega \Delta t / 2) \).
А если, допустим, $$ \Delta t = \frac 1 <2 F>, $$ то $$ \bar \omega = <\omega>_0 + c \Delta \omega \sin \left( t_2 — \frac <\Delta t>2 \right), $$ где коэффициент \( c \approx 0.64 \), т.е. измеряемое отклонение частоты от среднего значения составит не менее 60% от реального отклонения.
Если идёт речь о достижении как можно более высокой точности в измерении мгновенной частоты, то следует далее уменьшать интервал измерения. С уменьшением интервала, результат всё более приближается к мгновенной частоте, т.е. уменьшается динамическая погрешность измерения, но одновременно с этим растёт погрешность метода. Это ограничивает предельную точность измерения частоты путём измерения средней частоты сигнала. Не имеет смысла снижать абсолютную динамическую погрешность \( <\Delta>_2 \) до значений меньше абсолютной погрешности метода \( \Delta_1 \).
Погрешность метода (относительная и абсолютная) $$ \varepsilon = \frac 1 n = \frac 1 <\Delta t f_r>, \\ <\Delta>_1 = \varepsilon f_0 = \frac
Под динамической погрешностью будем понимать разность между наибольшим действительным отклонением \( (\Delta \omega \) или \( \Delta f) \) мгновенной частоты от среднего значения и наибольшим отклонением результата измерения от истинного значения средней частоты. Для циклической частоты погрешность может быть вычислена как $$ \Delta \omega — \frac <2 \Delta \omega> <\Omega \Delta t>\sin \frac <\Omega \Delta t>2 $$ или просто для частоты: $$ <\Delta>_2 = \Delta f — \frac <\Delta f> <\pi F \Delta t>\sin(\pi F \Delta t). $$ При малых значений аргумента, синус может быть приближённо вычислен по формуле $$ \sin x \approx x — \frac
Пример. Сигнал имеет среднюю частоту f0 = 100 кГц, мгновенная частота отклоняется от среднего значения на величину \( \Delta f = 1 \text < Гц>\), причём отклонение описывается синусоидой с частотой F = 10 Гц. Требуется определить оптимальный интервал измерения (при котором погрешность метода достигает динамической погрешности измерения), если частота опорного генератора составляет fr = 24 МГц. Вычисления по приведённой выше формуле дают результат \( \Delta t \approx 0.03\text < с>\) (абсолютная погрешность метода измерения и динамическая погрешность при этом оказываются порядка 0.14 Гц).
Другим простым, но представляющим интерес примером, является измерение средней частоты сигнала, мгновенная частота которого на некотором интервале изменяется линейно. Легко показать (настолько легко, что подробно не будем на этом останавливаться), что результат будет равен мгновенной частоте в момент, соответствующий середине интервала измерения, или, что то же самое, среднему арифметическому мгновенных частот на концах интервала измерения.
Смотрите далее пример простого частотомера с хорошими характеристиками:
Частотомер на основе микроконтроллера STM32 с конвейерным измерением частоты — 2
Литература
Особенно хотелось бы отметить книгу "Сигналы, помехи, ошибки. ". Это замечательная книга, в которой хорошо раскрывается понятие мгновенной частоты; поясняется, в каких случаях уместно говорить о частоте сигнала, а когда следует переходить к рассмотрению спектра, а также подробно обсуждаются многие другие вопросы. Материал излагается довольно живо, доступно, но не упрощённо. И что приятно, книга не лишена тонкого ненавязчивого юмора.
В математических энциклопедиях можно найти определения базовых понятий (периодическая функция; почти периодическая функция; период; частота).
В энциклопедии по физике также можно найти аналогичные определения периодичности, периода, частоты и т.д.