Амплитудно частотный спектр ряда фурье. Амплитудный спектр сигнала. Амплитудно-частотная характеристика (АЧХ). Свойства спектра периодической последовательности прямоугольных импульсов

Любой сигнал можно разложить на составляющие. Такое разложение сигнала называется спектральным. При этом сигнал можно представить в виде графика зависимости параметров сигнала от частоты, такая диаграмма называется спектральной или спектром сигнала.

Спектр сигнала — это совокупность простых составляющих сигнала с определенными амплитудами, частотами и начальными фазами.
Между спектром сигнала и его формой существует жесткая взаимосвязь: изменение формы сигнала приводит к изменению его спектра и наоборот, любое изменение спектра сигнала приводит к изменению его формы. Это важно запомнить, поскольку при передаче сигналов в системе передачи, они подвергаются преобразованиям, а значит, происходит преобразование их спектров.

Различают два вида спектральных диаграмм:
— спектральная диаграмма амплитуд;
— спектральная диаграмма фаз.

В спектральной диаграмме амплитуд — отображаются все составляющие со своими амплитудами и частотами.
В спектральной диаграмме фаз — отображаются все составляющие со своими начальными фазами и частотами.
Любой сигнал имеет одну спектральную диаграмму амплитуд и одну спектральную диаграмму фаз, в составе которых может содержаться множество составляющих.

Не зависимо от того, какой спектр (амплитуд или фаз), он изображается в виде множества линий — составляющих. В спектре амплитуд высота спектральной линии равна амплитуде составляющей сигнала, а в спектре фаз — начальной фазе составляющей. Причем: в спектре амплитуд все составляющие имеют положительные значения, а в спектре фаз как положительные, так и отрицательные. Если амплитуда спектральной составляющей имеет отрицательный знак, то в спектре амплитуд она берется по модулю, а в спектре фаз знак составляющей изменяется на противоположный.

Классификация спектров сигналов.
1. По виду спектры бывают дискретными (линейчатыми) или сплошными .
Дискретным является спектр, у которого можно выделить отдельные составляющие.
Сплошным является спектр, у которого нельзя выделить отдельные составляющие, так как они расположены настолько близко, что сливаются друг с другом.
2. По диапазону частот различают спектры ограниченные и неограниченные .
Ограниченным является спектр, у которого вся энергия сигнала (все спектральные составляющие) находятся в ограниченном диапазоне частот (fmax ? ?).
Неограниченным является спектр, у которого вся энергия сигнала находится в неограниченном диапазоне частот (fmax ? ?). На практике такие спектры ограничивают.

Спектральное представление периодических сигналов

1. Гармоническое колебание.
Математическая модель гармонического колебания имеет вид:

u(t)=Ums sin (?st+?s) (11)

Как видно из математической модели, в спектре данного колебания присутствует одна гармоническая составляющая, которая находится на частоте?s. Высота составляющей в спектре амплитуд равна амплитуде колебания Ums, а в спектре фаз — начальной фазе колебания?s. Причем при построении спектра необходимо учитывать связь между временной диаграммой сигнала и спектром амплитуд. Амплитуда составляющей спектра должна по высоте соответствовать амплитуде колебания на временной диаграмме.
Необходимо отметить, что при увеличении частоты сигнала, его составляющая будет удаляться по оси частот от нуля (рисунок 13).

Рисунок 13 - Спектральное представление гармонических колебаний

Как видно из рисунков, спектр гармонического колебания является дискретным и ограниченным.
2. Периодические, негармонические сигналы.
Основной особенностью спектрального представления таких сигналов является наличие в их спектре множества спектральных составляющих. Такие сигналы могут быть описаны рядом Фурье, согласно которому:

т. е. сигнал может быть представлен суммой постоянной составляющей и множества гармонических составляющих.

Преобразуем данный ряд, используя тригонометрическое свойство

sin(x+y) = sin x cos y + cos x sin y (13)

Полагая что x=?k и y=k?ct получим:

Поскольку Umk и?k являются параметрами ряда, то их можно обозначить коэффициентами

Umk sin ? k = ak; Umk cos ?k = bk (15)

Тогда ряд примет вид:

Параметры ряда можно определить через коэффициенты ak и bk:

где k=1, 2, 3 …

Амплитуда постоянной составляющей и коэффициенты могут быть определены через значение сигнала u(t):

Из ряда следует, что если описываемый сигнал является четной функцией f(t)=f(-t), то ряд будет иметь только косинусоидальные составляющие, так как bk=0, если нечетная функция (f(t) ? f(-t)), то рад содержит только синусоидальные составляющие (ak=0).
Рассмотрим спектральное представление периодических, негармонических сигналов на примере периодической последовательности прямоугольных импульсов (ПППИ).
При построении спектра необходимо рассчитать следующие параметры:
а) скважность сигнала:

б) значение постоянной составляющей:

в) частоту первой гармоники спектра, которая равна частоте сигнала:

г) амплитуды гармонических составляющих спектра:

При построении спектра необходимо отметить следующие особенности:
1. Все гармонические составляющие находятся на частотах, кратных частоте первой гармоники (2?1, 3?1, 4?1 и т. д.);
2. Для спектра амплитуд:
а) спектр ПППИ имеет лепестковый характер, т. е. в спектре можно выделить множество «лепестков»;
б) количество гармонических составляющих в лепестке зависит от скважности и равно q — 1;
в) амплитуды гармонических составляющих, находящихся на частотах, кратных скважности, равны нулю;
г) форма спектра обозначается огибающей — пунктирной линией, плавно соединяющей вершины гармонических составляющих;
д) точка, из которой исходит огибающая, равна 2U0 или 2I0.
3. Для спектра фаз:
а) все гармонические составляющие, на частотах, не кратных скважности, имеют одинаковую высоту, равную?/2 (90°);
б) все гармонические составляющие в одном лепестке имеют одинаковый знак, а в соседних противоположный.
в) составляющие на частотах кратных скважности имеют начальную фазу равную нулю.
Спектры ПППИ при скважности q=3 представлены на рисунке 14.
Как видно из диаграмм спектр ПППИ является дискретным и неограниченным. Поэтому за ширину спектра принимают диапазон частот, в пределах которого находится два первых лепестка, т. к. в них содержится около 95% энергии сигнала:

Fs = 2/?и. (26)

Рисунок 14 - Спектральное представление ПППИ: а) временная диаграмма; б) спектральная диаграмма амплитуд; в) спектральная диаграмма фаз

Как видно из формулы ширина спектра ПППИ зависит только от длительности импульса и не зависит от его периода.
3. Непериодические сигналы .
Поскольку в непериодических сигналах нельзя выделить период, т. к. Т??, то рассчитать и построить спектр тем же методом, что и для периодических сигналов нельзя. Однако знать спектр таких сигналов необходимо, т. к. все информационные сигналы являются непериодическими. Для построения спектра непериодического сигнала производят следующую процедуру: сигнал мысленно представляют как периодический с произвольным периодом, ддля которого строят спектр. Затем осуществляют предельный переход устремляя период к бесконечности (Т??) (рисунок 15). При этом частота первой гармоники и, соответственно, расстояние между гармоническими составляющими стремится к нулю (f1=1/Т), поэтому все составляющие сливаются друг с другом и образуют сплошной спектр.

Рисунок 15 - Импульсный сигнал u(t) и его представление периодическим сигналом

Форма спектра непериодических сигналов обозначается огибающей (сплошной линией) (рисунок 16).

Рисунок 16 - Спектральная диаграмма непериодического сигнала

Ряд Фурье, для таких сигналов, также нельзя записать, т. к. в этом случае амплитуда постоянной составляющей и коэффициенты ak и bk равны нулю. В этом случае значение сигнала в любой момент времени также равно нулю, что является не верным. Поэтому для таких сигналов используют преобразования Фурье:

Выражение (27) является обратным преобразованием, а (28) прямым преобразованием Фурье.
Величина S(?) является комплексной спектральной плотностью непериодического сигнала u(t). Она равна:

S(?) = S(?)e ^(-j?(?)) (29)

где S(?) спектральная плотность амплитуд или амплитудный спектр непериодического сигнала, а?(?) — фазовый спектр непериодического сигнала.
Спектральная плотность амплитуд непериодического сигнала на любой частоте? равна суммарной амплитуде составляющих находящихся в малой полосе?? в окрестностях частоты? пересчитанных на 1 Герц.
Временные диаграммы и спектральные плотности амплитуд для прямоугольного и треугольного импульсов представлены на рисунке 18:

Рисунок 18 - Спектральное представление непериодических сигналов: а) прямоугольный импульс; б) треугольный импульс

Набор гармоник, образующих ряд Фурье (4.10) в тригоно­метрической форме, называют спектром периодического сигна­ла , а наборы амплитудU m k и начальных фазэтих гармо­ник - спектрамиамплитуд и фаз . Каждую гармонику:

можно отобразить двумя вертикальными линиями. Для этого на одной оси частот необходимо отложить значение частоты этой гармоники и изобразить вертикальную линию высотой, рав­ной амплитуде гармоникизатем на другой оси частот на частоте этой же гармоникиизобразить вторую вертикальную линию, равную по высоте начальной фазе гармоники.

Ряд Фурье (4.3) можно переписать в виде

Учитывая, что функция косинуса периодична с периодом 2 = 360°, т.е. ее значения повторяются через 360°, можно вы­честь целое число периодов из фазы гармонических составляю­щих. Тогда получим еще одну форму записи ряда (4.3):

Эти ряды можно изобразить графически. Гармоники этого сигнала, входящие в формулу (4.3), показаны на временных диа­граммах рис. 4.1, б -д. Другой способ графического изображе­ния составляющих ряда Фурье для сигнала на рис. 4.1, а приве­ден на рис. 4.5,а в. Амплитуды гармоник убывают по закону, гдеп - номер гармоники, а фазы гармоник изменяются по законуn где- фаза первой гармоники.

Для смещенной на четверть периода периодической последо­вательности прямоугольных импульсов (рис. 4.3, а ) формула ря­да Фурье (4.6) может быть видоизменена, если вспомнить, что знак «минус» перед гармоническим колебанием означает поворот колебания по фазе на 180°:

Рис. 4.5. Амплитуды и фазы гармоник сигнала (4.12) и (4.13)

Начальные фазы колебаний в ряде (4.14) поочередно прини­мают значения 0 и 180°. Графическое изображение ряда (4.14) дано на рис. 4.5, а и б.

Вертикальные линии на рис. 4.5 и 4.6 получили название спектральных линий , а наборы этих линий, или, что то же, на­боры амплитуди фазгармоник в (4.10), образуютспек­тры амплитуд и фаз данного сигнала.

Рис. 4.6. Амплитуды и фазы гармоник сигнала (4.14)

Радиоинженерам знакомы приборы – анализаторы спектров, которые откликаются на каждую гар­монику, входящую в состав сигнала сложной формы и позволяющие их измерять.

Таким образом, спектр амплитуд - это набор амплитуд гармоник , , , ... (включая постоянную и ос­новную составляющие), входящих в ряд Фурье, записанный в тригонометрической форме (4.10), а спектр фаз - это набор начальных фаз,, … этих гармоник. Комплексные ам­плитуды из (4.12) образуют комплексный спектр сигнала u (t ).

Анализ спектрального (гармонического) состава периодиче­ских сигналов - это вычисление амплитуд и начальных фаз гармонических составляющих ряда Фурье. Обычно для вычисления указанных величин используется форма записи ряда Фурье (4.2):

Покажем, что форма записи (4.15) эквивалентна форме запи­си (4.7).

Из приведенных выше рассуждений следует, что для анализа спектрального состава сигнала достаточно знать, как вычислять величины , U " mn иU mn в выражении (4.15).

Из формул (4.2) мы знаем, что постоянная составляющая ряда вычисляется как среднее значение функции:

Коэффициенты U " mk иU "" mk вычисляются как средние взве­шенные значения с весамиcosk иsinсоответственно:

Поскольку, то

Применяя формулу Эйлера

получаем окончательно выражение для комплексного спектра сиг­нала:

На спектр сигнала влияет не только форма сигнала, но и его параметры. Лучше всего рассмотреть это влияние на кон­кретном примере, а проще всего – на примере периодической последовательности прямоугольных импульсов. В достаточно общем случае эта последовательность изображена на рис. 4.7,а. Пери­од повторения импульсов обозначенТ", а отношение периода к длительности импульсов" называютскважностью и обозначают.

Вычисление коэффициентов ряда Фурье в тригонометриче­ской форме по формулам (4.16) - (4.18) приводит нас к записи (см. табл. 4.1)

где U 0 =U / q и

Рис. 4.7. Периодическая последовательность прямоугольных импульсов со скважностью q = 3 и ее спектр

Спектр амплитуд такой периодической последовательности со скважностью q = 3 изображен на рис. 4.7,б.

При значениях k , кратных скважностиq импульсной после­довательности, функцияпринимает нулевые значения и гармоники с этими номерами имеют нулевые амплитуды (в нашем примере сk = 3,6, 9, ...). Частота первой гармоники определяет­ся по формуле

Для гармоник с номерами k , для которых амплитудапо­ложительная, фазовый уголравен нулю; для гармоник же с номерамиk , для которых величинаокажется отрицатель­ной, фазовый угол принимает значение 180° (рис. 4.7, в).

Рассмотрим влияние на спектр последовательности прямо­угольных импульсов таких ее параметров, как период и длитель­ность импульса.

От величины периода зависит прежде всего частота основной гармоники, т.е. ее местоположение в спектре. Если мы будем, на­пример, увеличивать период импульсной последовательности (рис. 4.7, а ), то частота первой гармоникибудет уменьшаться.

Это приведет к сгущению спектральных линий (рис. 4.8, б ив ). Скважность импульсов будет также увеличи­ваться с ростом периода (в нашем примереq = 5), следовательно, обращаться в нуль будут гармоники с более высокими номерами, кратнымиq (k = 5, 10, 15, ...). Амплитуды всех гармоник умень­шатся.

Рис. 4.8. Последовательность прямоугольных импульсов со скважностью q = 5 и ее спектр

С другой стороны, если период последовательности оставлять неизменным (например, ), а длительность импульсов, скажем, уменьшать (например, до величины, как на рис. 4.9,а ), то первая гармоника не будет менять свое местоположение в спектре сигнала. С ростом же скважности в нуль будут обращаться, как и ранее, гармоники с номерами, кратнымиq (на рис. 4.8,б приk = 5,10,15,).

Рис. 4.9. Влияние длительности импульсов на спектр сигнала

Рис. 4.10. Влияние длительности импульсов и периода их повторения на спектр сигнала

На рис. 4.10, показан случай, когда подверглись изменению и период, и длительность импульса. Предлагаем читателям про­анализировать данную ситуацию самостоятельно. Примеры решения задач по расчету периодических сигналов также приведены в .

Хотя мы проанализировали довольно частные примеры, ха­рактерное поведение спектра наблюдается и для других видов пе­риодических импульсных последовательностей. Оно заключается в следуюoем:

При увеличении периода последовательности Т частота первой гармоникиуменьшается и спектральные линии сгущаются; наоборот, при уменьшении периода частота первой гармоники увеличивается и спектральные линии становятся реже;

Чем короче импульсы в последовательности, тем медленнее убы­вают с ростом номера п амплитуды гармоник; наоборот, чем шире импульсы, тем быстрее убывают амплитуды высших гармоник.

Основные положения изложенных в п. 4.2 материалов.

Не так давно товарищ Makeman описывал , как с помощью спектрального анализа можно разложить некоторый звуковой сигнал на слагающие его ноты. Давайте немного абстрагируемся от звука и положим, что у нас есть некоторый оцифрованный сигнал, спектральный состав которого мы хотим определить, и достаточно точно.

Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии.

Итак, что имеем.
Файл с отсчетами оцифрованного сигнала. Известно, что сигнал представляет собой сумму синусоид со своими частотами, амплитудами и начальными фазами, и, возможно, белый шум.

Что будем делать.
Использовать спектральный анализ для того, чтобы определить:

  • количество гармоник в составе сигнала, а для каждой: амплитуду, частоту (далее в контексте числа длин волн на длину сигнала), начальную фазу;
  • наличие/отсутствие белого шума, а при наличии, его СКО (среднеквадратическое отклонение);
  • наличие/отсутствие постоянной составляющей сигнала;
  • всё это оформить в красивенький PDF отчёт с блэкджеком и иллюстрациями.

Будем решать данную задачу на Java.

Матчасть

Как я уже говорил, структура сигнала заведомо известна: это сумма синусоид и какая-то шумовая составляющая. Так сложилось, что для анализа периодических сигналов в инженерной практике широко используют мощный математический аппарат, именуемый в общем «Фурье-анализ» . Давайте кратенько разберём, что же это за зверь такой.
Немного особой, Фурье-магии
Не так давно, в 19 веке, французский математик Жан Батист Жозеф Фурье показал, что любую функцию, удовлетворяющую некоторым условиям (непрерывность во времени, периодичность, удовлетворение условиям Дирихле) можно разложить в ряд, который в дальнейшем получил его имя - ряд Фурье .

В инженерной практике разложение периодических функций в ряд Фурье широко используется, например, в задачах теории цепей: несинусоидальное входное воздействие раскладывают на сумму синусоидальных и рассчитывают необходимые параметры цепей, например, по методу наложения.

Существует несколько возможных вариантов записи коэффициентов ряда Фурье, нам же лишь необходимо знать суть.
Разложение в ряд Фурье позволяет разложить непрерывную функцию в сумму других непрерывных функций. И в общем случае, ряд будет иметь бесконечное количество членов.

Дальнейшим усовершенствованием подхода Фурье является интегральное преобразование его же имени. Преобразование Фурье .
В отличие от ряда Фурье, преобразование Фурье раскладывает функцию не по дискретным частотам (набор частот ряда Фурье, по которым происходит разложение, вообще говоря, дискретный), а по непрерывным.
Давайте взглянем на то, как соотносятся коэффициенты ряда Фурье и результат преобразования Фурье, именуемый, собственно, спектром .
Небольшое отступление: спектр преобразования Фурье - в общем случае, функция комплексная, описывающая комплексные амплитуды соответствующих гармоник. Т.е., значения спектра - это комплексные числа, чьи модули являются амплитудами соответствующих частот, а аргументы - соответствующими начальными фазами. На практике, рассматривают отдельно амплитудный спектр и фазовый спектр .


Рис. 1. Соответствие ряда Фурье и преобразования Фурье на примере амплитудного спектра.

Легко видно, что коэффициенты ряда Фурье являются ни чем иным, как значениями преобразования Фурье в дискретные моменты времени.

Однако, преобразование Фурье сопоставляет непрерывной во времени, бесконечной функции другую, непрерывную по частоте, бесконечную функцию - спектр. Как быть, если у нас нет бесконечной во времени функции, а есть лишь какая-то записанная её дискретная во времени часть? Ответ на этот вопрос даёт дальнейшей развитие преобразования Фурье - дискретное преобразование Фурье (ДПФ) .

Дискретное преобразование Фурье призвано решить проблему необходимости непрерывности и бесконечности во времени сигнала. По сути, мы полагаем, что вырезали какую-то часть бесконечного сигнала, а всю остальную временную область считаем этот сигнал нулевым.

Математически это означает, что, имея исследуемую бесконечную во времени функцию f(t), мы умножаем ее на некоторую оконную функцию w(t), которая обращается в ноль везде, кроме интересующего нас интервала времени.

Если «выходом» классического преобразования Фурье является спектр – функция, то «выходом» дискретного преобразования Фурье является дискретный спектр. И на вход тоже подаются отсчёты дискретного сигнала.

Остальные свойства преобразования Фурье не изменяются: о них можно прочитать в соответствующей литературе.

Нам же нужно лишь знать о Фурье-образе синусоидального сигнала, который мы и будем стараться отыскать в нашем спектре. В общем случае, это пара дельта-функций, симметричная относительно нулевой частоты в частотной области.


Рис. 2. Амплитудный спектр синусоидального сигнала.

Я уже упомянул, что, вообще говоря, мы рассматриваем не исходную функцию, а некоторое её произведение с оконной функцией. Тогда, если спектр исходной функции - F(w), а оконной W(w), то спектром произведения будет такая неприятная операция, как свёртка этих двух спектров (F*W)(w) (Теорема о свёртке).

На практике это означает, что вместо дельта-функции, в спектре мы увидим что-то вроде этого:


Рис. 3. Эффект растекания спектра.

Этот эффект именуют также растеканием спектра (англ. spectral leekage). А шумы, появляющиеся вследствие растекания спектра, соответственно, боковыми лепестками (англ. sidelobes).
Для борьбы с боковыми лепестками применяют другие, непрямоугольные оконные функции. Основной характеристикой «эффективности» оконной функции является уровень боковых лепестков (дБ). Сводная таблица уровней боковых лепестков для некоторых часто используемых оконных функций приведена ниже.

Основной проблемой в нашей задаче является то, что боковые лепестки могут маскировать другие гармоники, лежащие рядом.


Рис. 4. Отдельные спектры гармоник.

Видно, что при сложении приведённых спектров, более слабые гармоники как бы растворятся в более сильной.


Рис. 5. Чётко видна лишь одна гармоника. Нехорошо.

Другой подход к борьбе с растеканием спектра состоит в вычитании из сигнала гармоник, создающих это самое растекание.
То есть, установив амплитуду, частоту и начальную фазу гармоники, можно вычесть её из сигнала, при этом мы уберём и «дельта-функцию», соответствующую ей, а вместе с ней и боковые лепестки, порождаемые ей. Другой вопрос состоит в том, как же точно узнать параметры нужной гармоники. Недостаточно просто взять нужные данные из комплексной амплитуды. Комплексные амплитуды спектра сформированы по целым частотам, однако, ничто не мешает гармонике иметь и дробную частоту. В этом случае, комплексная амплитуда как бы расплывается между двумя соседними частотами, и точную её частоту, как и другие параметры, установить нельзя.

Для установления точной частоты и комплексной амплитуды нужной гармоники, мы воспользуемся приёмом, широко применяемым во многих отраслях инженерной практики – гетеродинирование .

Посмотрим, что получится, если умножить входной сигнал на комплексную гармонику Exp(I*w*t). Спектр сигнала сдвинется на величину w вправо.
Этим свойством мы и воспользуемся, сдвигая спектр нашего сигнала вправо, до тех пор, пока гармоника не станет ещё больше напоминать дельта-функцию (то есть, пока некоторое локальное отношение сигнал/шум не достигнет максимума). Тогда мы и сможем вычислить точную частоту нужной гармоники, как w 0 – w гет, и вычесть её из исходного сигнала для подавления эффекта растекания спектра.
Иллюстрация изменения спектра в зависимости от частоты гетеродина показана ниже.


Рис. 6. Вид амплитудного спектра в зависимости от частоты гетеродина.

Будем повторять описанные процедуры до тех пор, пока не вырежем все присутствующие гармоники, и спектр не будет напоминать нам спектр белого шума.

Затем, надо оценить СКО белого шума. Хитростей здесь нет: можно просто воспользоваться формулой для вычисления СКО:

Автоматизируй это

Пришло время для автоматизации выделения гармоник. Повторим ещё разочек алгоритм:

1. Ищем глобальный пик амплитудного спектра, выше некоторого порога k.
1.1 Если не нашли, заканчиваем
2. Варируя частоту гетеродина, ищем такое значение частоты, при которой будет достигаться максимум некоторого локального отношения сигнал/шум в некоторой окрестности пика
3. При необходимости, округляем значения амплитуды и фазы.
4. Вычитаем из сигнала гармонику с найденной частотой, амплитудой и фазой за вычетом частоты гетеродина.
5. Переходим к пункту 1.

Алгоритм не сложный, и единственный возникающий вопрос - откуда же брать значения порога, выше которого будем искать гармоники?
Для ответа на этот вопрос, следует оценить уровень шума еще до вырезания гармоник.

Построим функцию распределения (привет, мат. cтатистика), где по оси абсцисс будет амплитуда гармоник, а по оси ординат - количество гармоник, не превышающих по амплитуде это самое значение аргумента. Пример такой построенной функции:


Рис. 7. Функция распределения гармоник.

Теперь построим еще и функцию - плотность распределения. Т.е., значения конечных разностей от функции распределения.


Рис. 8. Плотность функции распределения гармоник.

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

Посмотреть на кусок кода, детектирующий гармоники в составе сигнала

public ArrayList detectHarmonics() { SignalCutter cutter = new SignalCutter(source, new Signal(source)); SynthesizableComplexExponent heterodinParameter = new SynthesizableComplexExponent(); heterodinParameter.setProperty("frequency", 0.0); Signal heterodin = new Signal(source.getLength()); Signal heterodinedSignal = new Signal(cutter.getCurrentSignal()); Spectrum spectrum = new Spectrum(heterodinedSignal); int harmonic; while ((harmonic = spectrum.detectStrongPeak(min)) != -1) { if (cutter.getCuttersCount() > 10) throw new RuntimeException("Unable to analyze signal! Try another parameters."); double heterodinSelected = 0.0; double signalToNoise = spectrum.getRealAmplitude(harmonic) / spectrum.getAverageAmplitudeIn(harmonic, windowSize); for (double heterodinFrequency = -0.5; heterodinFrequency < (0.5 + heterodinAccuracy); heterodinFrequency += heterodinAccuracy) { heterodinParameter.setProperty("frequency", heterodinFrequency); heterodinParameter.synthesizeIn(heterodin); heterodinedSignal.set(cutter.getCurrentSignal()).multiply(heterodin); spectrum.recalc(); double newSignalToNoise = spectrum.getRealAmplitude(harmonic) / spectrum.getAverageAmplitudeIn(harmonic, windowSize); if (newSignalToNoise > signalToNoise) { signalToNoise = newSignalToNoise; heterodinSelected = heterodinFrequency; } } SynthesizableCosine parameter = new SynthesizableCosine(); heterodinParameter.setProperty("frequency", heterodinSelected); heterodinParameter.synthesizeIn(heterodin); heterodinedSignal.set(cutter.getCurrentSignal()).multiply(heterodin); spectrum.recalc(); parameter.setProperty("amplitude", MathHelper.adaptiveRound(spectrum.getRealAmplitude(harmonic))); parameter.setProperty("frequency", harmonic - heterodinSelected); parameter.setProperty("phase", MathHelper.round(spectrum.getPhase(harmonic), 1)); cutter.addSignal(parameter); cutter.cutNext(); heterodinedSignal.set(cutter.getCurrentSignal()); spectrum.recalc(); } return cutter.getSignalsParameters(); }

Практическая часть

Я не претендую на звание эксперта Java, и представленное решение может быть сомнительным как по части производительности и потреблению памяти, так и в целом философии Java и философии ООП, как бы я ни старался сделать его лучше. Написано было за пару вечеров, как proof of concept. Желающие могут ознакомиться с исходным кодом на

Понятие "сигнал" можно трактовать по-разному. Это код или знак, переданный в пространство, носитель информации, физический процесс. Характер оповещений и их связь с шумом влияют на его дизайн. Спектры сигналов можно классифицировать несколькими способами, но одним из наиболее фундаментальных является их изменение во времени (постоянные и переменные). Вторая основная классификационная категория - частоты. Если рассмотреть во временной области более подробно, среди них можно выделить: статические, квазистатические, периодические, повторяющиеся, переходные, случайные и хаотические. Каждый из этих сигналов обладает определенными свойствами, которые могут влиять на соответствующие проектные решения.

Типы сигналов

Статический по определению является неизменным в течение очень длительного периода времени. Квазистатический определяется уровнем постоянного тока, поэтому его необходимо обрабатывать в схемах усилителя с низким дрейфом. Этот тип сигнала не возникает на радиочастотах, потому что некоторые подобные схемы могут создавать уровень неменяющегося напряжения. Например, непрерывное волновое оповещение с постоянной амплитудой.

Термин «квазистатический» означает «почти неизменный», поэтому относится к сигналу, который необычайно медленно изменяется в течение длительного времени. Он обладает характеристиками, более похожими на статические оповещения (постоянные), чем динамические.

Периодические сигналы

Это те, которые точно повторяются на регулярной основе. Примеры периодических сигналов включают синусоидальные, квадратные, пилообразные, треугольные волны и т. д. Характер периодической формы указывает на то, что она идентична в одинаковых точках вдоль временной линии. Другими словами, если идет продвижение по временной линии ровно на один период (T), то напряжение, полярность и направление изменения формы волны будут повторяться. Для формы напряжения это можно выразить формулой: V (t) = V (t + T).

Повторяющиеся сигналы

Являются квазипериодическими по природе, поэтому имеют некоторое сходство с периодической формой волны. Основное различие между ними обнаруживается путем сравнения сигнала при f (t) и f (t + T), где T - это период оповещения. В отличие от периодического оповещения, в повторяющихся звуках эти точки могут быть не идентичными, хотя они будут очень похожи, так же, как и общая форма волны. Рассматриваемое оповещение может содержать либо временные, либо стабильные признаки, которые варьируются.

Переходные сигналы и импульсные сигналы

Оба вида являются либо одноразовым событием, либо периодическим, в котором продолжительность очень коротка по сравнению с периодом формы волны. Это означает, что t1 <<< t2. Если бы эти сигналы были переходными процессами, то в радиочастотных схемах намеренно генерировались бы в виде импульсов или переходного режима шума. Таким образом, из вышеизложенной информации можно сделать вывод, что фазовый спектр сигнала обеспечивает колебания во времени, которые могут быть постоянными или периодическими.

Ряды Фурье

Все непрерывные периодические сигналы могут быть представлены основной синусоидальной волной частоты и набором косинусных гармоник, которые суммируются линейно. Эти колебания содержат формы зыби. Элементарная синусоидальная волна описывается формулой: v = Vm sin(_t), где:

  • v - мгновенная амплитуда.
  • Vm - пиковая амплитуда.
  • "_" - угловая частота.
  • t - время в секундах.

Период - это время между повторением идентичных событий или T = 2 _ / _ = 1 / F, где F - частота в циклах.

Ряд Фурье, который составляет форму волны, можно найти, если заданная величина разлагается на ее составляющие частоты либо банком частотно-избирательных фильтров, либо алгоритмом цифровой обработки сигналов, называемым быстрым преобразованием. Также может быть использован способ построения с нуля. Ряд Фурье для любой формы волны может быть выражен формулой: f(t) = a o/2+ _ n -1 }