МГТУ им. Н. Э. Баумана,
кафедра
«Информационные системы и телекоммуникации»
Исследование влияния
боковых лепестков спектра окон на погрешности обработки и передачи сигнала
Попов В. С.
Mailto:
popov_vlad@mail.ru
При
использовании данных материалов в сети или оффлайн,
ссылка на эту веб-страницу обязательна
2010
Методика
проектирования КИХ-фильтра с помощью окон
1. Понятие об
эквивалентности дискретной и непрерывной систем
2. Умножение импульсной
характеристики на прямоугольное окно
4. Window Design & Analysis Tool
6. Виды окон и их
характеристики (оконные функции)
Bartlett-Hanning/Окно
Бартлетта-Хеннинга
Blackman-Harris/Окно Блэкмана-Харриса
Flat Top/Окно с плоской полосой пропускания
Rectangular/Прямоугольное окно
7. Перемножение
характеристики идеального фильтра на характеристику окна
Критерии точности фильтрации сигнала КИХ-фильтром
1. Часто используемые
критерии точности
Equivalent noise
bandwidth / Эквивалентная шумовая
полоса
Processing Gain / Усиление преобразования
Overlap
Correlation / Корреляция перекрываемых
участков
Scalloping Loss / Паразитная амплитудная модуляция спектра
Worst Case
Processing Lost / Максимальные потери
преобразования
Ещё раз о просачивании спектральных составляющих
Minimum
Resolution Bandwidth / Минимальная
разрешаемая полоса частот
Некоторые итоги и классификация
1. Выбор фильтра для
взвешивания
Соображения по выбору фильтра для последующего
взвешивания
Выбор фильтра для последующего взвешивания
3. Выбор сигнала и
пропускание его через фильтры.
Фильтрация синусоидального сигнала
Фильтрация экспоненциального сигнала
Фильтрация с использованием других окон
Выводы для непараметрических окон (временная
область)
Выводы для параметрических окон (временная область)
Влияние окна в частотной и временной области:
сравнение
Расчёт спектра мощности в MATLAB
Расчёт спектров мощности отфильтрованных с помощью
разных окон сигналов
Окна от худшего к лучшему по спектральным
характеристикам, выводы
Пусть имеется непрерывная система с
передаточной функцией и импульсной
характеристикой . Они связаны преобразованием Фурье. Пусть имеется дискретная
система с передаточной функцией и импульсной
характеристикой .
Дискретная
система считается эквивалентной системе непрерывной, если в отсчётах
соблюдается равенство сигналов на выходе систем при одинаковых входных данных.
Входные
данные:
(Формула
1.1)
Для эквивалентности двух систем
необходимо и достаточно, чтобы импульсная характеристика непрерывной системы равнялась
импульсной характеристике дискретной системы в конкретные отсчёты времени:
(формула
1.2)
В пакете MATLAB для определения коэффициентов
импульсной передаточной функции из непрерывного аналога служит функция
[bz,az] = impinvar(b,a,fs)
Где bz, az – вектора коэффициентов числителя и знаменателя импульсной передаточной функции , b, a – вектора коэффициентов числителя и знаменателя передаточной функции непрерывной системы , а fs – значение частоты дискретизации [Гц].
В качестве примера действия функции
рассмотрим конвертирование аналогового фильтра нижних частот в цифровой фильтр
с частотой дискретизации в 10 Гц:
Проектирование цифровых фильтров с помощью
окон основывается на понятии об эквивалентной импульсной характеристике.
Для КИХ-фильтра можно организовать
передачу сигнала без искажения путём создания линейной фазовой характеристики.
Фазовая характеристика КИХ-фильтра с симметричными коэффициентами является
линейной функцией частоты.
Коэффициенты фильтра должны
выбираться так, чтобы импульсная характеристика фильтра была желаемой, и чтобы
сами коэффициенты были симметричны: в первую очередь, они рассчитываются из
требований спецификации, затем симметрично продолжаются в отрицательную область
и, наконец, сдвигаются в положительную для получения реализуемого фильтра,
иначе было бы необходимо обрабатывать сигнал, который ещё не поступил на вход
цифрового фильтра.
Однако для физических систем импульсная
характеристика неограниченна во времени, что не позволяет так просто решить
задачу проектирования фильтра. Чтобы не проектировать физически нереализуемый
фильтр, с обоих сторон «обрезают» число отсчётов импульсной характеристики
фильтра. Это эквивалентно умножению импульсной характеристики фильтра на окно,
простейшее из которых – прямоугольное ().
(формула
1.3)
- фактическая импульсная
характеристика, с помощью которой можно проектировать физически реализуемый
фильтр.
Рис.
1.1. Умножение импульсных характеристик дискретного фильтра и окна.
Частотная характеристика
синтезируемого фильтра есть свертка частотной характеристики идеального фильтра
с частотной характеристикой окна.
Спектр произведения равен свёртке
спектров множителей:
(формула
1.4)
Для оценки влияния прямоугольного
окна находят частотную передаточную функцию окна:
(формула
1.5)
В пакете MATLAB прямоугольное окно моделируется
функцией w = rectwin(L)
Где L – ширина прямоугольного окна являющаяся
также порядком фильтра,
w – вектор-столбец значений окна (вычисляются значения ординаты через две временных еденицы L).
У этого метода есть свои существенные
недостатки:
Явлением Гиббса называется
особенность поведения частичных сумм ряда Фурье в окрестности точки разрыва
функции, впервые обнаруженная Уилбрейамом в
Знакомство с явлением Гиббса мы
начнем с рассмотрения простейшей разрывной функции
(формула
1.6)
Известно, что для всех справедливо равенство
(формула
1.7)
Можно показать, что график функции
(формула
1.8)
на промежутке колеблется вокруг значения у=1, причём
амплитуда горбов убывает по мере удаления от концов промежутка, а глобального
максимума функция S2n-1 достигает в точках и .
С учётом сказанного, для амплитуды функции S2n-1 на промежутке будем иметь
(формула
1.9)
В последнем выражении легко узнать
сумму Римана интеграла:
(формула
1.10)
соответствующую разбиению интервала на n равных частей.
(формула 1.11)
Входит в значение амплитуды при . По таблицам
находим
Амплитуда частотной суммы S2n-1
ряда Фурье функции f примерно на 18% превышает амплитуду самой функции f.
Более тонкий анализ показывает, что
эффект Гиббса имеет место (причем с той же самой постоянной 18%) для любой
кусочно-гладкой функции f.
Окна характеризуются своей формой и
амплитудно-частотной характеристикой. Высокий уровень амплитуды (называемый
главным лепестком) характеризует полосу пропускания, низкий уровень амплитуды
(называемый боковыми лепестками) характеризует полосу подавления. Между главным
лепестком и боковыми лепестками существует переходная область. Чем она уже, тем
лучше подавляются ненужные частоты сигнала, но, вместе с тем, увеличивается
порядок фильтра, который также называют длительностью импульсной характеристики
(параметр L).
Порядок фильтра определяет количество арифметических операций над отсчетами и
объем сигнальной памяти при реализации фильтра. Чем длиннее будет импульсная
характеристика, тем большая нагрузка будет ложиться на аппаратные ресурсы.
Проектирование фильтра с конечной
импульсной характеристикой в пакете прикладных программ для решения задач
технических вычислений MATLAB
с помощью окон осуществляется с помощью программы синтеза и анализа весовых
(оконных) функций Window Design and Analysis Tool.
Программа вызывается посредством
команды
>> wintool
И является графической оболочкой (GUI, Graphical user interface, Графический Интерфейс Пользователя)
для вызова имеющихся в пакете функций расчёта окон.
Рисунок 1.2. Окно GUI Window Design and Analysis Tool.
На окне Window
Design and Analysis Tool (Рисунок
1.2) имеется три панели:
·
На
первой (верхней) панели Window Viever показаны временные отсчёты и отсчёты
по частоте. Отсчёты отображаются в соответствии с данными, введёнными в двух
нижних панелях. В один момент времени могут быть показаны отсчёты только одного
окна (на рисунке 1.2 окно носит имя window_1), выбранного из всех созданных
пользователем в левой нижней панели Window List, список окон. Ниже двух графиков
показаны три величины, связанные с окнами:
·
Leakage Factor, фактор утечки – отношение мощности
боковых лепестков к полной мощности окна, указывается в процентах.
·
Relative
sidelobe attenuation,
относительное ослабление лепестков – различие по высоте первого пика [dB] (в английской литературе – mainlobe, «главный лепесток») и наибольшего
бокового лепестка [dB].
·
Mainlobe
width (-3dB),
ширина главного лепестка, уменьшенная на 3 дБ. (Дело в том, что границу полосы
пропускания фильтра [dB]
в проектировании с помощью окон принимают равной наибольшей ординате второго графика
минус три дБ, пояснение на рисунке 1.3)
Рис.
1.3. Граница полосы пропускания в окне Window Design and Analysis Tool.
·
На
второй панели Window List
можно создавать и выбирать (из уже созданных) окна (Рисунок 1.4). Команда Add a new window добавляет новое окно Хемминга (по
умолчанию) с параметром длины по временной оси в 64 единицы и именем window_КоличествоУжеСозданныхОкон+1 в
список. Команда Copy window копирует
окно window_n в copy_of_window_n, этот пункт удобен для сравнения
окон. Команда Delete удаляет
выделенное окно из списка. Команда Save to workspace сохраняет отмеченные окна в виде
вектора (сохраняются значения Amplitude графика
Time domain через две временных еденицы), причём
имя окна в wintool совпадает
с именем полученного вектора (далее с помощью команды window_1 продемонстрирован вектор значений для окна window_1 рисунка 1.2). Если в списке,
удерживая Ctrl
или Shift, выделить несколько проектируемых
окон, то на графиках они отобразятся разными цветами, что очень удобно для их
сравнения.
Рис. 1.4. Список окон Design and Analysis Tool.
>>
window_1 =
0.0004 0.0009
0.0018 0.0034 0.0060
0.0097 0.0150 0.0224
0.0323 0.0452 0.0617
0.0821 0.1071 0.1368
0.1717 0.2119 0.2573
0.3076 0.3626 0.4214
0.4834 0.5473 0.6121
0.6763 0.7386 0.7972
0.8509 0.8982 0.9377
0.9684 0.9894 1.0000
1.0000 0.9894 0.9684
0.9377 0.8982 0.8509
0.7972 0.7386 0.6763
0.6121 0.5473 0.4834
0.4214 0.3626 0.3076
0.2573 0.2119 0.1717
0.1368 0.1071 0.0821
0.0617 0.0452 0.0323
0.0224 0.0150 0.0097
0.0060 0.0034 0.0018
0.0009 0.0004
В
целях экономии места из текста убраны переводы на новую строку.
·
На
третьей панели, Current Window Information (Рисунок 1.5), текущая информация
окна, указываются параметры окна, такие как Name (имя), Type (тип фильтра), MATLAB Code (код для окна, созданного
пользователем, User
Defined), Length (временной интервал), Parameter (специальный параметр для фильтра: SidelobeAtten для фильтра Чебышева, Alpha для фильтров Гаусса и Тьюки, Beta для фильтра Кайзера), Sampling (указывается для фильтров с
косинусоидальным сглаживанием).
Рис. 1.5. Панель Current Window Information.
Следует обратить внимание на три
главных пункта меню:
Рис.
1.6. Диалоговое окно WinTool
Export.
Рис
1.8. Главное меню и панель инструментов Window Design & Analysis Tool.
Рассмотрим функции меню Tools подробнее:
·
Zoom In, увеличить, позволяет увеличить
масштаб какого-либо из двух графиков обычным выделением нужной площади на
графике (Рисунок 1.9), подобно выделению ярлыков, папок и файлов, удерживая
левую кнопку мыши и двигая её, на Рабочем столе Windows. Такое же действие имеет кнопка
панели инструментов:
Рис.
1.9. Использование инструмента Zoom
in из меню Tools. Про точки на графике и их
использование будет сказано чуть ниже.
·
Zoom x-axis, увеличить по оси абсцисс,
растягивает график по оси абсцисс, сохраняя масштаб по оси ординат (Рисунок
1.10). Такое же действие имеет кнопка панели инструментов:
Рис.
1.10. Использование инструмента Zoom
x-axis из меню Tools. В качестве примера взято окно Tukey. Его частотная характеристика
увеличена по оси абсцисс (оси x)
от 0 до 0.4 единиц, вместо стандартного масштаба от 0 до 1.
Используя этот
инструмент, мышью надо создать прямую, параллельную оси абсцисс. Масштаб на оси
x изменится в
соответствии с положениями крайней левой и крайней правой точек этой прямой.
Масштаб по оси y не
изменяется.
·
Zoom y-axis, увеличить по оси ординат,
растягивает график по оси ординат, сохраняя масштаб по оси абсцисс. Действие
инструмента подобно действию Zoom
x-axis: создаётся прямая, параллельная оси
ординат, причём верхняя и нижняя точка этой прямой указывают новую верхнюю
точку и новую нижнюю точку всей оси соответственно. Аналог на панели
инструментов:
·
Full View, просмотреть графики полностью,
уменьшает масштаб обоих графиков, если он был ранее увеличен и весгда
растягивает временной график по оси ординат так, чтобы единица была
максимальным значением оси ординат (оси Amplitude).
·
Кнопка
панели инструментов Restore Default View, восстановить отображение графиков
по умолчанию, восстанавливает графики, если с ними были проведены какие-либо
действия, связанные с изменением масштаба. Действие кнопки аналогично действию
пункта меню Tools
Full View за исключением растягивания графика
временной характеристики. Кнопка имеет вид:
Окно Window Design & Analysis Tool даёт возможность с большой точностью
наблюдать за координатами кривых. Например, точно узнаем координаты горбов
частотной характеристики окна Тьюки (Tukey). Для этого нужно поместить
указатель мыши на интересующую нас точку графика (можно делать это неточно) и
щёлкнуть левую или правую кнопку мыши. Точки сохраняются при изменении
масштабов, что очень удобно для отслеживания координат. Точки можно
передвигать, причём одновременно отображаются числовые данные конкретной точки.
Таким образом, можно обнаруживать максимумы (Рисунок 1.11) и минимумы горбов.
Рис.
1.11. Нахождение максимумов горбов
частотной характеристики окна Тьюки.
Для каждой точки, нажатием правой
кнопки мыши, можно вызвать контекстное меню (Рисунок 1.12).
Рис.
1.12. Контекстное меню для точки на частотном графике окна.
Рассмотрим содержимое контекстного
меню (важные пункты выделены жирным):
Полезно знать зависимости
размерностей графиков по оси абсцисс:
Frequency Domain |
Time Domain |
Hz |
sec |
kHz |
ms |
MHz |
µs |
GHz |
picosec |
Если в диалоговом окне Analysis
Parameters (меню View) в поле Frequency
Units (единицы частоты)
находится значение Normalized,
то на оси x
графика Time domain
откладывается значение Samples.
Это значит, что у окна нет конкретной длительности. Она может выражаться как в
секундах, так и в миллисекундах, так и в микросекундах и т.д. Частота обратно
пропорциональна времени, поэтому секундам на первом графике соответствуют герцы
на втором, миллисекундам соответствуют килогерцы и т.д..
Окно Window
Visualization Tool вызывается одной из команд:
>>
wvtool(winname(n))
>> wvtool(winname1(n),winname2(n),...winnamem(n))
>> wvtool(w)
Где winname – имя окна в среде MATLAB, любая из оконных функций (см. параграф 5),
n – количество
отсчётов окна, то же, что и параметр L. w – вектор-столбец амплитуд (по нему строится
график временной характеристики). Если в параметрах функции указано несколько
оконных функций, то их графики будут выделены разным цветом. Рисунок 1.14 показывает
результат выполнения команды построения треугольного окна из 64 отсчётов и окна
Бартлетта из 64 отсчётов:
>>
wvtool(triang(64),bartlett(64))
Рис. 1.14.
Треугольное окно и окно Бартлетта в WVTool
Окно Window
Visualization Tool создано
для просмотра, лёгкого изменения и экспорта графиков окон. Меню Insert позволяет вставить на график
прямоугольник (Rectangle),
стрелку (Arrow),
двустороннюю стрелку (DoubleArrow),
линию (Line)
и надпись (Textbox).
Команда Export
меню File позволяет сохранять изображения графиков в 15 форматах
графических файлов, как в растровых, так и в векторных. Многие команды
напоминают команды окна Window Design
& Analysis Tools.
w = bartlett(L)
Возвращает вектор-столбец отсчётов окна Bartlett в зависимости от параметра L. Параметр L – число отсчётов окна. L должен быть целым, большим нуля.
Отсчёты окна рассчитываются по формуле:
Причём L=N+1
Особенности:
Окно Bartlett очень похоже на треугольное окно. На концах окно всегда имеет нули, чего
нет у треугольного окна. Центральные L-2 отсчёта окна Bartlett эквивалентны треугольным L-2 отсчётам (Рисунок 1.14, window #2).
w = barthannwin(L)
Особенности:
График подобен графику окна Bartlett. Как и для окон Bartlett, Hann и Hamming, частотная характеристика имеет
асимптотически спадающие боковые лепестки (Рисунок 1.15). Это линейная
комбинация взвешенных окон Бартлетта и Ханна c боковыми лепестками, меньше, чем у
окон Бартлетта и Ханна вместе взятых. Ширина главного лепестка (mainlobe) не увеличилась, по сравнению с
окнами Бартлетта и Ханна.
Отсчёты:
Где
, причём .
Рис. 1.15. #1 - Bartlett-Hanning, #2 - Bartlett, #3 –
Hamming, #4 – Hann.
w = blackman(L)
Отсчёты:
L=N+1
w = blackmanharris(L)
Особенности:
Окно оптимизировано по площади боковых
лепестков. В формуле вычисления коэффициентов - 4 слагаемых.
Отсчёты:
,
w = bohmanwin(L)
Отсчёты:
x – вектор L, но линейно разделённый
(необходимо использовать linspace).
Термин «линейно разделённый» означает,
что разница предыдущего и текущего элементов вектора равна разнице текущего и
последующего элементов.
Особенности:
Первый и последний отсчёт делают
равными нулю. Окно Bohman образовалось от треугольного окна и полупериода
функции косинуса, также были добавлены обнуления в первой и последней точках
окна.
w = chebwin(L,r)
r – параметр, который показывает, на
сколько дБ главный лепесток выше боковых лепестков. По умолчанию этот параметр
равен 100 дБ.
Особенности:
Присутствие импульсов в конечных
точках отсчёта временной характеристики. Это вызвано постоянным уровнем боковых
лепестков в частотной характеристике. Если величина боковых лепестков большая,
эффект в крайних точках временной характеристики может быть существенным.
Рассмотрим выполнение команды:
>> wvtool(chebwin(64,20),chebwin(64,40),chebwin(64,100),chebwin(64,200))
Рис. 1.16. Функиция chebwin. #1 – r=20,
#2 – r=40, #3 – r=100, #4 – r = 200.
Уровень боковых лепестков эквивалентен
задержке в полосе подавления. Исходя из графика 1.16, чем ниже уровень боковых
лепестков, тем шире полоса пропускания, тем более полого и неидеально спадает
частотная характеристика фильтра.
Увеличение ширины главного лепестка
АЧХ окна, при той же длительности импульсной характеристики приводит к
«размазыванию» АЧХ фильтра - крутизна АЧХ в области частоты среза уменьшается
(расширяется переходная полоса). Чтобы сохранить крутизну АЧХ, необходимо
увеличивать длительность импульсной характеристики фильтра.
w = flattopwin(L)
Особенности:
Окно Flat Top имеет очень маленькие пульсации в
полосе пропускания (менее 0.01 дБ). Используется для калибровки. Полоса пропускания
приблизительно в 2.5 раза шире, чем у окна Ханна.
Отсчёты:
, везде кроме n.
L=N+1
a0 = 0.21557895 a1 = 0.41663158
a2 = 0.277263158 a3 = 0.083578947 a4 =
0.006947368.
w = gausswin(N)
w = gausswin(N,Alpha)
N - число отсчётов. N=L.
Коэффициенты:
,
Особенности:
Ширина окна обратно пропорциональна
параметру альфа (Рисунок 1.17). Больший параметр альфа создаёт более узкое
окно. По умолчанию альфа принимается равным 2.5.
Рис 1.17. Окно Gaussian. #1 – α=1,
#2 – α=2, #3 – α =2.5, #4 – α =5.
Графики изображены на Рисунке 1.15
w = hamming(L)
Отсчёты:
L=N+1.
Графики изображены на Рисунке 1.15
w = hann(L)
Отсчёты:
L=N+1
w = kaiser(L,beta)
Параметр бета указывает уровень ослабления
боковых лепестков.
Для создания окна Кайзера с ослаблением
лепестков α
дБ, нужно использовать следующие значения β:
>>
wvtool(kaiser(200,0),kaiser(200,3.39532),kaiser(200,10.06126)) %Рис. 1.18
Рис. 1.18. Окно Kaiser.
#1 – α<21, β=0; #2 – α=40,
β=3.39532; #3 – α=100, β=10.06126.
Как и для других окон, при изменении
боковых лепестков в желаемую сторону (на графике – ниже, по физическому смыслу
– меньше пропускания в полосе подавления), расширяется полоса пропускания и
становится более пологим переход от полосы пропускания к полосе подавления.
Более подробно график частот можно рассмотреть на Рисунке 1.19.
Рис. 1.19. Частотная
характеристика окна Kaiser в зависимости от
коэффициентов.
w = nuttallwin(L)
Боковые лепестки оптимизированы по мощности. Окно появилось на основе окна Блэкмана-Харриса.
>>
L = 64;
w
= blackmanharris(L);
y
= nuttallwin(L);
wvtool(w,y) % Рис. 1.20
Рис. 1.20. Окна Nuttall (#2) и Blackman-Harris(#1).
Окно Nuttall имеет боковые лепестки на одном
уровне.
Отсчёты:
,
a0 = 0.3635819, a1 = 0.4891775,
a2 = 0.1365995, a3 = 0.0106411
w = parzenwin(L)
Окна Parzen – кусочные кубические аппроксимации окна Gaussian. Боковые лепестки окна Parzen убывают как 1/w4.
Отсчёты:
На интервале:
>>
wvtool(parzenwin(64),gausswin(64)) % Рис. 1.21.
Рис. 1.21. Окна Parzen (синий, оба графика снизу) и Gaussian
(зелёный).
w = rectwin(L)
Отсчёты рассчитываются с помощью функции:
При проектировании фильтра с помощью
окон могут оказаться полезными объекты sigwin с полями данных Name (имя) и Length (количество отсчётов).
Операция создания объекта типа окно:
w=sigwin.имя_окна(параметры окна)
При отсутствии параметров будет
создано окно, содержащее 64 отсчёта.
Для объекта sigwin используются следующие функции:
При моделировании разрядность всегда одинакова и КИХ-фильтр является всегда устойчивым, поэтому первые четыре критерия не подходят для оценки окна при моделировании.
В гармоническом анализе окна
используются для уменьшения нежелательных эффектов просачивания спектральных
составляющих. Окна влияют на многие показатели гармонического процессора, в том
числе на обнаружимость, разрешение, динамический диапазон, степень
достоверности и легкость реализуемости вычислительных операций. Чтобы иметь
возможность сравнивать характеристики окон, необходимо знать, какие из их
параметров являются основными.
Из Рисунка 2.1 видно, что оценка
амплитуды гармонической компоненты на заданной частоте оказывается смещенной
из-за наличия широкополосного шума, попадающего в полосу пропускания окна. К
энергии полезного сигнала добавляется энергия шума, ослабленного окном. (Шумом
является всё, что не является нужной гармоникой, в том числе «лепестки» от этой
гармоники.) В этом смысле окно ведет себя как фильтр, мощность сигнала на
выходе которого пропорциональна мощности гармоник входного сигнала в полосе его
пропускания. Для обнаружения гармонического сигнала необходимо минимизировать
накопленный шум. Этого можно достичь с помощью узкополосного окна. Идеальное
окно в частотной области представляет собой дельта-функцию, однако это окно
нереализуемо. Удобной мерой ширины
полосы пропускания окна является его эквивалентная шумовая полоса (ЭШП, ENBW в английской литературе). ЭШП окна –
это ширина полосы пропускания прямоугольного окна с тем же максимальным
усилением по мощности, который накапливает ту же мощность шума, что и данное
окно (Рисунок 2.2). Другими словами, эквивалентная шумовая полоса – это число,
большее единицы и показывающее, какой должна быть ширина полосы пропускания
прямоугольного окна, если оно будет накапливать ту же мощность шума, что и
данное окно, причём это прямоугольное окно во временной области должно быть
такой же высоты в частотной области, как и максимальная высота оцениваемого
окна.
Накопленная окном мощность шума (Noise
Power) определяется
выражением:
(Формула 2.1)
N0 – мощность шума на единицу полосы пропускания.
Согласно теореме Парсеваля, эту
величину можно выразить следующим образом:
(Формула 2.2)
Рис. 2.1.
Иллюстрация свёртки. Окно представлено в виде спектрального фильтра.
Рис. 2.2.
Эквивалентная шумовая полоса окна.
Максимальное усиление по сигналу (Peak
Signal Gain) и по
мощности (Peak Power Gain)
соответствует частоте ω=0, оно называется усилением по сигналу / по
мощности на нулевой частоте и определяется выражениями:
(Формула 2.3)
ЭШП (ENBW в английской литературе) окна,
нормированная на величину N0/T – мощность шума на единичный
временной интервал, может быть записана в виде:
(Формула 2.4)
Таким образом, эквивалентная шумовая
полоса окна прямо пропорциональна (с коэффициентом пропорциональности из-за
нормирования N0/T) мощности шума, которую накопило
окно, и обратно пропорциональна максимальному усилению окна по мощности.
С ЭШП окна тесно связаны понятия
усиления преобразования (УП, PG,
Processing Gain в
английской литературе) и потерь преобразования (ПП, PL, Processing
Lost в английской
литературе) при вычислении ДПФ с помощью окон. ДПФ можно рассматривать как
результат пропускания сигнала через набор согласованных фильтров, каждый из
которых настроен на одну из гармоник комплексной синусоидальной
последовательности базисного множества, состоящего из функций косинуса и
синуса. С этой точки зрения мы и будем анализировать усиление преобразования
(называемое также когерентным усилением) фильтра и потери преобразования,
вызванные тем, что окно сглаживает, т. е. сводит к нулю, величины отсчетов,
расположенных вблизи его границ. Пусть входная последовательность отсчетов задана
выражением:
(Формула 2.5)
q(nT) – последовательность отсчетов
белого шума с дисперсией .
Составляющая сигнала в спектре,
вычисленном с помощью окна, будет равна:
(Формула 2.6)
Из (2.6) видно, что в отсутствие шума
спектральная составляющая пропорциональна входной амплитуде А. Таково же будет
и математическое ожидание этой составляющей при наличии шума. Коэффициент
пропорциональности равен сумме всех отсчетов дискретного окна, а эта сумма есть
не что иное, как усиление окна для постоянного сигнала. Для прямоугольного окна
этот коэффициент равен N
- числу отсчетов в окне. Усиление любого другого окна меньше, так как весовая
функция вблизи границ окна плавно спадает к нулю. Связанное с этим уменьшение
коэффициента пропорциональности полезно знать, так как оно характеризует ошибку
(смещение) оценок амплитуд спектральных составляющих. В литературе вместо
усиления преобразования иногда используется другой параметр – когерентное
усиление по мощности, т. е. квадрат когерентного усиления сигнала.
Некогерентная составляющая
взвешенного, т. е. выполненного с помощью окна преобразования, вычисляется по
формуле:
(Формула 2.7)
Некогерентная мощность определяется
выражением:
(Формула 2.8)
E {} – оператор математического
ожидания.
Заметим, что некогерентное усиление
по мощности равно сумме квадратов отсчетов весовой функции, а когерентное –
квадрату суммы этих отсчетов.
И наконец, вычислим усиление
преобразования (УП, PG
в английской литературе), которое определяется как частное от деления отношений
сигнал/шум на выходе и на входе:
(Формула 2.9)
Заметим, что усиление преобразования
– это величина, обратная нормированной ЭШП окна. Таким образом, увеличение ЭШП
окна ведет к уменьшению УП. Это вполне понятно, так как, чем шире полоса
пропускания, тем больше мощность шума, прошедшего через окно и вносящего вклад
в спектральную оценку.
Когда быстрое преобразование Фурье
(БПФ) используется для обработки длинной последовательности, эту
последовательность предварительно делят на несколько последовательностей по N
отсчетов каждая, при этом N выбирается так, чтобы обеспечить необходимое
спектральное разрешение. Спектральное разрешение БПФ определяется Формулой
2.10, где ∆f –
спектральное разрешение, fs –
частота дискретизации, выбранная согласно критерию Найквиста, и β –
коэффициент, характеризующий увеличение ширины полосы для выбранного окна. Отметим,
что fs/N – это наилучшее разрешение, достижимое при БПФ. Коэффициент
β обычно выбирается равным ЭШП окна в бинах (бин – единичный временной
интервал).
(Формула 2.10)
Если окно и БПФ «воздействуют» на
неперекрывающиеся участки последовательности (Рисунок 2.3), то значительная
часть данных попросту игнорируется, поскольку вблизи границ окна значения его
отсчетов близки к нулю. Так, например, если преобразование используется для
обнаружения коротких узкополосных сигналов, то при анализе неперекрывающихся
участков появление сигнала может оказаться просто незамеченным. Для этого
достаточно, чтобы сигнал появился вблизи границы любого из интервалов. Чтобы
избежать таких потерь данных, преобразованию обычно подвергают перекрывающиеся
участки последовательности. Степень перекрытия в большинстве случаев выбирается
равной 50 или 75%. Разбиение сигнала на перекрывающиеся участки, конечно,
увеличивает общий объем вычислений, однако достигаемые с его помощью результаты
вполне это оправдывают.
Рис. 2.3. Перекрытие
последовательностей.
Важный вопрос, возникающий при
обработке перекрывающихся последовательностей, касается степени корреляции
случайных компонент сигнала в преобразованиях двух соседних участков
последовательности. При относительно плоском спектре шума в пределах полосы
пропускания окна эта корреляция, как функция степени перекрытия r, определяется формулой:
(Формула 2.11)
В спектральном анализе для уменьшения
дисперсии измерений часто усредняют квадраты амплитуд преобразований отдельных
участков последовательности. Как известно, при усреднении K независимых измерений эргодической
случайной величины дисперсия среднего связана с дисперсией индивидуальных
измерений следующим соотношением:
(Формула 2.12)
Зададимся теперь вопросом, насколько
уменьшится дисперсия при усреднении коррелированных измерений, как это имеет
место при усреднении преобразований Фурье перекрывающихся участков? Ответ на
это дал Уэлш. Результат без доказательств для случая 50% и 75% перекрытия:
(Формула 2.13)
Отрицательные члены в (2.13)
описывают краевые эффекты усреднения; их можно не учитывать при K>10. Для хороших окон член c2(0,25)<<1,
и его также можно опустить с пренебрежимо малой ошибкой. Заметим, что для
хороших окон преобразование перекрывающихся на 50% участков сигнала практически
независимы.
Важным фактором, влияющим на
обнаружимость слабых сигналов, является паразитная амплитудная модуляция
спектра (scalloping loss),или эффект «частокола» (picket-fence effect). Ранее
мы рассматривали выполняемое с помощью окна ДПФ как результат пропускания
сигнала через набор согласованных фильтров и анализировали обусловленные
специфическими свойствами окна усиление и потери для тонов, совпадающих с
базисными векторами. Базисные векторы – это тоны, кратные частоте fs/N,
где fs – частота отсчётов. Эти частоты не что иное, как точки
отсчетов спектра, их обычно называют выходными точками, частотами гармоник или
бинами ДПФ. Зададимся теперь вопросом, каковы будут дополнительные потери при
обработке сигнала, частота которого лежит посредине между частотами соседних
бинов (т. е. сигнала с частотой (k+l/2)fs/N)?
Обратившись к формуле 2.6 и заменив в
ней ωk
на ωk+1/2 получаем, что усиление окна для
частоты, сдвинутой на 0.5 бина, равно:
(формула 2.14)
По определению, потери из-за
паразитной амплитудной модуляции (AM, Scallop Loss, Scalloping
Loss, SL
в английской литературе)
спектра равны отношению когерентного усиления тона, расположенного посредине
между двумя бинами (бин – единичный временной интервал) ДПФ, к когерентному
усилению тона, совпадающего с одним из бинов ДПФ, то есть:
(Формула 2.15)
Потери из-за паразитной амплитудной
модуляции равны максимальным потерям при самой неблагоприятной для ДПФ частоте
сигнала.
Теперь сделаем одно интересное
замечание. Определим максимальные потери преобразования (ПП) как сумму
максимальных потерь из-за паразитной амплитудной модуляции спектра для данного
окна (в дБ) и потерь преобразования, обусловленных формой этого окна. Введенный
параметр характеризует уменьшение выходного соотношения сигнал/шум в результате
воздействия окна при наихудшем расположении частоты сигнала. Его величина,
конечно, влияет на минимальную интенсивность тона, при которой он еще может
быть обнаружен в широкополосном шуме. Интересно заметить, что уровень
максимальных потерь всегда лежит между 3,0 и 4,3 дБ. Окна, для которых
максимальные ПП превышают 3,8 дБ, совершенно неудовлетворительны, и их не
следует применять. Из сопоставления данных о потерях, приведенных в Таблице 1 и
на Рисунке 2.6, видно, что почти все окна (за исключением прямоугольного)
одинаково пригодны для обнаружения чистых тонов в широкополосном шуме. Разница
в потерях у различных окон не превышает 1,0 дБ, а для хороших окон – 0,7 дБ.
Однако обнаружение тона в присутствии других близких тонов представляет собой
совершенно иную задачу. Именно здесь тип применяемого окна может иметь решающее
значение.
Возвращаясь к свёртке и Рисунку 2.1,
заметим, что на точность измерения амплитуды спектральной составляющей влияет
не только спектр широкополосного шума, но и узкополосные помехи, если они
попадают в полосу пропускания окна. Действительно, некоторая спектральная
компонента, скажем, с частотой ω=ω0 будет вносить вклад в
спектральную компоненту с частотой ω= ωa, т. е. будет наблюдаться на этой
частоте. Этот вклад будет определяться усилением окна с центром в ω0
на частоте ωa.
Это и есть эффект, называемый просачиванием спектральных составляющих. Он
показан на Рисунке 2.4 для преобразования конечного тона частотой ω0.
Просачивание приводит к смещению
оценок амплитуд и положений гармонических составляющих сигнала. Даже для
единственной вещественной гармоники (не совпадающей с частотой гармоники ДПФ)
просачивание от ядра на оси отрицательных частот влияет на ядро на оси
положительных частот. Это влияние наиболее сильно и неприятно при обнаружении
слабых сигналов в присутствии сильных помех близкой частоты. Для уменьшения
неприятных последствий из-за спектрального просачивания амплитуда боковых
лепестков вдали от главного центрального лепестка частотной характеристики окна
должна быть малой, а переход от центрального лепестка к низкоамплитудным
боковым лепесткам – очень быстрым. Одним из параметров, указывающих, насколько
хорошо окно подавляет просачивание, является максимальный уровень боковых
лепестков (по отношению к главному лепестку), другой параметр – это
асимптотическая скорость спада боковых лепестков.
Рис 2.4.
Просачивание спектральных составляющих.
Рис. 2.5.
Спектральное разрешение двух близкорасположенных ядер.
Рисунок 2.5 подсказывает еще один
критерий, который должен использоваться при выборе оптимальных окон. Поскольку
окно придает спектральной линии некоторую эффективную ширину, интересно знать,
при каком минимальном расстоянии между двумя спектральными линиями равной
интенсивности главные лепестки этих линий еще могут быть разрешены независимо
от положения линий относительно бинов ДПФ. Классический критерий такого
разрешения – ширина окна между точками, в которых мощность главного лепестка
спадает наполовину (ширина окна по уровню 3,0 дБ). Этот критерий отражает тот
факт, что два главных лепестка равной интенсивности, отстоящие друг от друга по
частоте менее чем на ширину окна по уровню 3,0 дБ, будут иметь один общий
спектральный пик и не будут разрешаться как две отдельные линии. Однако
трудность использования этого критерия в том, что он несовместим с когерентным
суммированием, применяемым в ДПФ. Выходные точки ДПФ получаются путем
когерентного сложения спектральных компонент, взвешенных окном с центром на
данной частоте.
Если в когерентное суммирование
вносят вклад два ядра, их сумма в точке пересечения (номинально посредине между
ними) должна быть меньше, чем индивидуальные пики, если эти пики должны быть
разрешены. Таким образом, в точках пересечения ядер усиление от каждого ядра не
должно превышать 0,5, т. е. расстояние между пиками должно превышать ширину
окна по уровню 6,0 дБ. Ширина различных окон по уровню 6,0 дБ указана в Таблице
1. Из таблицы видно, что эта ширина меняется от 1,2 до 2,6 бин, где бин –
разрешение основной частоты ωs/N. Что касается ширины окна по уровню
3,0 дБ, то, как будет показано в следующем абзаце, она также является полезной
характеристикой окна. Следует, однако, помнить, что разрешение ДПФ определяется
шириной используемого окна по уровню 6,0 дБ.
Из Таблицы 1 видно, что шумовая
полоса (ЭШП, ENBW)
окна всегда шире его полосы по уровню 3,0 дБ (3.0-dB BW). Разность этих двух параметров,
отнесенная к ширине окна по уровню 3,0 дБ, является довольно чувствительным
показателем качества работы окна. Для всех хороших окон, перечисленных в
Таблице 1, этот показатель лежит в пределах 4,0–5,5%. Окна, для которых он
лежит вне этого диапазона, имеют либо широкий главный лепесток, либо высокий
уровень боковых лепестков. Для таких окон характерны либо высокие потери
преобразования, либо малая эффективность обнаружения двух близких тонов. Окна,
для которых этот показатель лежит в пределах 4,0–5,5%, попадают в левый нижний
угол диаграммы на Рисунке 2.6, характеризующей качество их работы.
В Таблице 1 перечислены общепринятые
параметры, характеризующие типы окон. Однако ориентироваться в этой массе цифр
непросто. Заметим, что самым важным из табличных параметров, вероятно,
является уровень боковых лепестков (чем он ниже, тем меньше смещение
спектральных оценок). Другой важнейший параметр – максимальные потери
преобразования (чем они ниже, тем выше обнаружимость слабых сигналов). Рисунок
2.6 показывает относительное положение различных окон как функцию этих двух
параметров. Точки, соответствующие лучшим окнам, лежат в левом нижнем углу
диаграммы. Такие окна имеют низкий уровень боковых лепестков и низкие
максимальные потери преобразования.
Рис 2.6.
Классификация окон по максимальным потерям и наибольшему боковому лепестку.
Лучшие окна лежат в левой нижней части.
Из вышесказанного отметим вкратце
важные параметры для окон:
Временная область и частотная область
связаны преобразованием Фурье и зависят друг от друга, поэтому разность ЭШП и
полосы по уровню в 3 дБ, отнесённая к ширине окна по уровню в 3 дБ (важная
характеристика) качественно может оцениваться по уровню главного лепестка и
уровню боковых лепестков. Как отмечалось, это отношение влияет на обнаружимость
двух близких тонов и на потери преобразования.
Итак, боковые лепестки (уровень
главного лепестка, скорость спада) влияют на:
Кроме того, Харрис отмечает, что
«низкий уровень боковых лепестков соответствует лучшим окнам».
Оценим это влияние на практике.
Импульсная характеристика цифрового
фильтра – это результат выхода фильтра, если на вход подана функция:
(Формула 3.1)
В MATLAB эту функцию можно описать так:
Проектирование с помощью окон (windowing в английском) – метод, используемый
при создании фильтра с конечной импульсной характеристикой. Кроме использования
весовой функции, а окно – это и есть весовая функция, можно использовать ещё 4
метода проектирования КИХ-фильтра из пакета MATLAB. Некоторые из них основаны на
понятии об ошибках и их минимизации, а некоторые даже могут синтезировать
фильтр с нелинейной фазовой характеристикой (функция cfirpm)! Проектирование
КИХ фильтра с помощью весовой функции в пакете MATLAB чаще всего осуществляется с помощью
идеального фильтра с конечной импульсной характеристикой (функция sinc) и самого окна (как было ранее
сказано, их импульсные характеристики перемножаются). Может и можно для этих целей брать
любой неидеальный КИХ-фильтр, но в этом нет смысла, поскольку этот фильтр тоже
спроектирован каким-либо другим способом.
Проектировать КИХ-фильтр с помощью
взвешивания БИХ-фильтра сложнее, если такое, вообще говоря, возможно. Причина
кроется в импульсной характеристике БИХ-фильтра (Рисунок 3.1). Импульсная
характеристика КИХ-фильтра симметричная, как и отсчёты временной области любого
из окон, совпадает с набором коэффициентов числителя передаточной функции b и показывает веса для элементов
входного временного ряда (Рисунок 3.2). Импульсная характеристика БИХ-фильтра
несимметричная, а передаточная функция имеет коэффициенты как в числителе, так
и в знаменателе (Рисунок 3.1).
Рис. 3.1. Импульсная
характеристика БИХ-фильтра (слева).
Рис. 3.2. Импульсная
характеристика КИХ-фильтра (слева).
Если перемножить импульсную
характеристику фильтра и импульсную характеристику окна, то будут ослаблены участки
импульсной характеристики фильтра на краях. Стоит отметить, что участки
импульсной характеристики фильтра посередине не получают усиления, так как
максимальный отсчёт любого окна не превышает единицы. Принимая это во внимание,
умножим импульсную характеристику БИХ-фильтра на окно (Рисунок 3.3) и получим
соответствующую импульсную характеристику.
Рис. 3.3. Результат
умножения импульсной характеристики БИХ-фильтра на окно.
Естественно, хорошей АЧХ от такой
операции не получилось. Напрямую импульсную характеристику БИХ-фильтра нельзя
умножать на коэффициенты окна.
Стоит сказать, что иногда удобно
применять GUI wvtool для
отображения импульсной характеристики и АЧХ обычных фильтров (Рисунки 3.1, 3.2,
3.3). Если это КИХ-фильтр, то параметром wvtool служит вектор коэффициентов
числителя, а если это БИХ-фильтр, то параметром wvtool может служить его импульсная
характеристика (но ни в коем случае не коэффициенты!).
Для последующего взвешивания выберем
функцию sinc,
о которой уже рассказывалось в первой части работы. Эту функцию приводят в
качестве примера для последующего взвешивания в Help MATLAB. Её используют чаще всего при
проектировании с помощью окон.
b = 0.4*sinc(0.4*(-25:25));
Импульсная характеристика и АЧХ
функции показаны на Рисунке 3.4 и Рисунке 3.5 соответственно.
Рис. 3.4. Импульсная
характеристика 0.4*sinc(0.4*(-25:25))
Рис. 3.5. АЧХ
0.4*sinc(0.4*(-25:25))
Первый коэффициент (0.4) влияет на
высшую точку импульсной характеристики, второй коэффициент (параметр функции sinc) влияет на частоту среза фильтра,
третий и четвёртый коэффициенты (-25:25) влияют на количество отсчётов
импульсной характеристики.
Результат
показан на Рисунках 3.6 и 3.7.
Рис.
3.6. Спроектированные КИХ-фильтры. Амплитуда указана в децибелах.
Рис. 3.7.
Спроектированные КИХ-фильтры. Амплитуда указана на линейной шкале.
Рис. 3.8. Фильтрация
синусоидального сигнала.
b = 0.4*sinc(0.4*(-25:25)); % вычисление
коэффициентов
% идеального фильтра
brect = b.*rectwin(51)'; % вычисление коэффициентов
фильтра
% с помощью прясмоугольного окна
bblack = b.*blackman(51)'; % вычисление коэффициентов
фильтра
% с помощью окна Блэкмана
t = 0:50; % задание времени, 51 отсчёт
x=cos(50*t); % вычисление косинусоиды из 51
отсчёта
y = filter(b,1,x); % фильтрация идеальным фильтром
yrect=filter(brect,1,x);
yblack=filter(bblack,1,x); % фильтрация неидеальным фильтром
xcoord=0:50; % задание координаты по
оси абсцисс для графика
plot(xcoord,x,xcoord,y,xcoord,yrect,xcoord,yblack)
% data1 – сам сигнал, data2, data3 (слились) – фильтрация идеальным и
% фильтром, построенным с помощью
прямоугольного окна (красный)
% data4 – фильтрация сигнала фильтром, спроектированным
с помощью
% окна Блэкмана (бирюзовый)
Рисунок 3.8 и 3.9 показывает, что у
фильтра, спроектированного с помощью окна Блэкмана гораздо лучше переходные
характеристики. В фильтрах в начальный момент времени идёт переходной
процесс, предполагается, что сигнал возник в нулевой момент времени, до этого
его уровень был равен нулю. Длительность переходного процесса КИХ-фильтра равна
половине его импульсной характеристики. После завершения переходного процесса
видно, что фильтр задерживает входной сигнал. Максимальные значения колебаний
переходного процесса равны, но видно, что фильтр, спроектированный с помощью
прямоугольного окна, ведёт себя хуже в начальные моменты времени. Максимальная
разница между отфильтрованными сигналами в эти моменты – 2%.
Рис. 3.9. Переходные
характеристики разных фильтров. Красным цветом показана характеристика фильтра,
спроектированного с помощью окна Блэкмана, зелёным – с помощью прямоугольного
окна.
Также можно подтвердить выводы о том,
что прямоугольное окно равносильно отсутствию окна – графики y и yrect совпадают.
При оценке дисперсии (в MATLAB
эта оценка
осуществляется с помощью функции var(x)) может оказаться, что дисперсия
сигнала на выходе фильтра, спроектированного с помощью окна Блэкмана больше,
чем дисперсия сигнала на выходе фильтра, спроектированного с помощью
прямоугольного окна. Но это не должно служить показателем того, что окно
Блэкмана хуже – на самом деле оно лучше передаёт амплитуды входного сигнала,
что видно из графика (Рисунок 3.10). Ошибка фильтра, спроектированного с
помощью прямоугольного окна – 3 сотых, ошибка хорошего фильтра при данном
синусоидальном сигнале – 1 сотая (разница в 1% по отношению к удвоенной
амплитуде входного сигнала в 2 единицы).
Рис. 3.10. Входной
сигнал (слева, синий) и его передача различными фильтрами (справа, красный и
бирюзовый). Цвета совпадают с цветами на Рисунке 3.8 (см. комментарии в коде).
Рис. 3.11.
Фильтрация экспоненциального сигнала.
% расчет коэффициентов фильтров:
b
= 0.4*sinc(0.4*(-25:25));
brect
= b.*rectwin(51)';
bblack = b.*blackman(51)';
% формирование входа:
t=0:9;
x=[exp(t)
exp(t) exp(t) exp(t) exp(t) exp(0)];
% фильтрация:
y
= filter(b,1,x);
yblack=filter(bblack,1,x);
yrect=filter(brect,1,x);
% вывод в виде графика:
xcoord=0:50;
plot(xcoord,x,xcoord,y,xcoord,yrect,xcoord,yblack)
Как видно в коде, было использовано
несколько одинаковых последовательностей экспоненциальной функции. Это делается
ввиду быстрого роста функции, во избежание образования большого количества
нулей во входной последовательности. x – вектор длиной 51, составленный из пяти экспонент по 10
отсчётов каждая и одного значения экспоненты в нуле.
Переходная характеристика в первой
половине отсчётов от «хорошего» фильтра снова оказывается лучше (разница в
2-3%) и, более того, на выходе фильтра, спроектированного с помощью
прямоугольного окна, перед каждым ростом экспоненты можно заметить довольно
большой спад, которого нет у «хорошего» фильтра. Его величина составляет 4%,
если за 100% брать максимальную величину входного сигнала.
Функция Хевисайда может быть
определена как:
(Формула 3.2)
Рис. 3.12.
Фильтрация функции Хевисайда.
b = 0.4*sinc(0.4*(-25:25));
brect
= b.*rectwin(51)';
bblack
= b.*blackman(51)';
x=ones(51,1); % описание единиц функции при
значениях времени больше
% либо равных нулю
% функция ones(m,n) формирует массив единиц размерности
m на
n
% m – количество строк, n – количество столбцов
y
= filter(b,1,x);
yblack=filter(bblack,1,x);
yrect=filter(brect,1,x);
xcoord=0:50;
plot(xcoord,x,xcoord,y,xcoord,yrect,xcoord,yblack)
grid on
На Рисунке 3.12 показана входная
функция Хевисайда (синий цвет) и выходы фильтров (красным цветом показан выход
фильтра, спроектированного с помощью прямоугольного окна, бирюзовым – выход
фильтра, спроектированного с помощью окна Блэкмана).
Если за 100% брать величину входного
сигнала, то максимальная разница в переходной характеристике (имеются ввиду
первые 25 отсчётов) снова составит 2-3%. Сигнал на выходе «хорошего» фильтра на
2 отсчёта быстрее входит в 10% интервал, чем сигнал на выходе фильтра,
спроектированного с помощью прямоугольного окна (при 51 отсчёте эта разница
составляет 4%). Если брать 5% интервал, то разница будет уже в 5 отсчётов, что
составляет 10% от всех используемых отсчётов.
Дельта-функция и функция Хевисайда
однозначно описывают все линейные системы (поэтому функция единичного скачка,
или функция Хевисайда, была рассмотрена), а КИХ-фильтры, как известно,
принадлежат к множеству линейных систем. Это можно очень просто проследить:
нужно подать на вход не единичный импульс в начальный момент времени и нули
после, и тогда каждый отсчёт выхода будет превышать соответствующие отсчёты
импульсной характеристики во столько, во сколько поданный импульс превышает
единичный, то есть, выход при данном входе – линейная функция импульсной
характеристики.
Рис. 3.13.
Фильтрация функции Хевисайда. Использовались фильтры, созданные с помощью
прямоугольного окна и окон Тьюки.
b
= 0.4*sinc(0.4*(-25:25));
brect
= b.*rectwin(51)'; % зелёный
bt50
= b.*tukeywin(51,0.5)';
bt75
= b.*tukeywin(51,0.75)';
bt25
= b.*tukeywin(51,0.25)';
x=ones(51,1);
y
= filter(b,1,x);
yt50=filter(bt50,1,x);
yt75=filter(bt75,1,x);
yt25=filter(bt25,1,x);
yrect=filter(brect,1,x);
xcoord=0:50;
plot(xcoord,x,xcoord,yrect,xcoord,yt50,xcoord,yt75,xcoord,yt25)
grid
Как видно из примера, поведение
созданных фильтров с использованием окна Тьюки во временной области ближе к
поведению фильтра, созданного на основе прямоугольного окна, чем к поведению
фильтра, созданного на основе окна Блэкмана.
Рис. 3.14.
Переходный процесс. Использовались Bartlett-Hanning, Bartlett, Hamming, Hann.
b
= 0.4*sinc(0.4*(-25:25));
brect
= b.*rectwin(51)'; % бирюзовый
bh
= b.*barthannwin(51)'; bar = b.*
ham
= b.*hamming(51)'; han = b.*hann(51)';
x=ones(51,1);
y
= filter(b,1,x); yrect=filter(brect,1,x);
ybh=filter(bh,1,x);
ybar=filter(bar,1,x);
yham=filter(ham,1,x);
yhan=filter(han,1,x);
xcoord=0:50;
xn=0.975*ones(51,1); % для 5% интервала
xv=1.025*ones(51,1); % для 5% интервала
plot(xcoord,x,xcoord,xn,xcoord,xv,xcoord,yrect,xcoord,ybh,xcoord,ybar,
xcoord,yham,xcoord,yhan)
На Рисунке 3.14. изображёна часть
переходного процесса. Использовались следующие окна: Bartlett-Hanning (data5 на Рисунке 3.14),
Если единицу брать за 100%, то
максимальная разница в первой половине переходной области между всеми сигналами - около 2%.
Рис. 3.15. Последние
25 временных отсчётов при фильтровании единичного скачка. Окна Bartlett-Hanning, Bartlett, Hamming, Hann.
Фильтры, полученные с использованием
окон Bartlett-Hanning (data5), Hamming (data7), Hann (data8), ведут себя подобно фильтру,
полученному применением окна Blackman –
они позволяют сигналу раньше войти в 5% интервал (33 отсчёт). Но всё же
необходимо заметить, что на 51 отсчёте сигналы data5 и data7 немного отличается от единицы.
Сигнал, отфильтрованный с помощью Bartlett, ведёт себя подобно сигналу,
отфильтрованному с помощью rectwin –
оба входят в 5% интервал на 36 отсчёте. Разница составляет 6% от всех используемых
отсчётов. Примечательно, что, из четырёх вышеупомянутых окон, у Bartlett
самый высокий уровень
первого бокового лепестка, но также нельзя упускать из виду временную область
окна Bartlett,
существенно отличающуюся от временных областей других окон.
В первой части повествования
отмечалось, что треугольное окно и окно Бартлетта имеют похожие графики во
временной области, а также одинаковые полосы пропускания, но разные полосы
подавления в частотной области. Если взглянуть на график выхода фильтров, спроектированных
с помощью этих окон (Рисунок 3.16), то можно увидеть незначительные различия
(фильтр, спроектированный с помощью оконной функции bartlett, немного лучше – сигнал на выходе в
некоторых местах ближе к единице).
Рис. 3.16. Последние
20 временных отсчётов сигнала на выходе фильтров, спроектированных с помощью bartlett (бирюзовый) и triang
(красный).
Оценим фильтрацию с помощью окон Nuttall
и Blackman-Harris:
Рис. 3.17.
Фильтрация с помощью Nuttall (красный) и Blackman-Harris (бирюзовый), вторая
половина отсчётов.
b = 0.4*sinc(0.4*(-25:25));
brect = b.*rectwin(51)'; % зелёный
bnut = b.*nuttallwin(51)'; bbh =
b.*blackmanharris(51)';
x=ones(51,1);
yrect=filter(brect,1,x);
ynut=filter(bnut,1,x); ybh=filter(bbh,1,x);
xcoord=0:50;
plot(xcoord,x,xcoord,yrect,xcoord,ynut,xcoord,ybh)
grid
on
Несмотря
на довольно существенную разницу в падении боковых лепестков (Рисунок 1.20),
разницы в отфильтрованных сигналах не видно.
Была
обнаружена разница между фильтрами, спроектированными с помощью разных типов
окон:
Необходимо понимать, что прямого
влияния боковые лепестки на временную область отфильтрованного сигнала не
оказывают, так как новый сигнал есть свёртка старого с импульсной
характеристикой фильтра. Но, тем не менее, характеристики окна можно определить
по максимальному уровню первого бокового лепестка, возможно сделать вывод о том,
как будет вести себя фильтр, взвешенный данным окном: как фильтр, импульсная
характеристика которого спроектирована с помощью rectwin, или как фильтр, созданный лучшим,
по сравнению с прямоугольным, окном.
Рассмотрим уровень первого бокового
лепестка окон, принимавших участие в проектировании, заранее разделив окна на
подобные по поведению во временной области отфильтрованного сигнала с помощью
прямоугольного окна и подобные по поведению отфильтрованного сигнала с помощью
окна Блэкмана. Не будем оценивать первый боковой лепесток относительно
главного, как это принято в литературе, а оценим его абсолютно, по шкале
ординат, в Window Design
& Analysis Tool.
Это можно с лёгкостью осуществить ввиду нормирования максимального значения
временной области (единица).
Окна, подобные прямоугольному по
своему поведению, и абсолютный уровень их первого бокового лепестка (данные для
64 отсчётов):
Окна, подобные окну Блэкмана по
своему поведению, и абсолютный уровень их первого бокового лепестка (данные для
64 отсчётов):
Итак, у окон, подобных по поведению
во временной области хорошему окну Блэкмана, наблюдается отрицательный
абсолютный уровень боковых лепестков. У окон, подобных по поведению во
временной области прямоугольному окну, наблюдается положительный абсолютный
уровень боковых лепестков. Стоит отметить, что уровень главного лепестка (mainlobe, своего рода полоса пропускания
окна) варьируется от 27,2 (окно Nuttall) до 36,12 (прямоугольное окно),
параметрические окна оценивались с параметром по умолчанию.
Если протестировать оставшиеся без
внимания окна пакета MATLAB,
то почти все они соответствуют этим идеям: если абсолютный уровень боковых
лепестков в wintool
отрицателен, окно влияет на фильтрацию подобно окну Блэкмана, если же
положителен, временные характеристики похожи на фильтрацию с участием
прямоугольного окна.
Некоторые окна с параметрами не
полностью описываются знаком абсолютного уровня первого бокового лепестка.
Рассмотрим окно Гаусса с разным
параметром α (Рисунок 3.18). Чем больше α, тем ниже уровень боковых
лепестков АЧХ.
Рис. 3.18.
Фильтрация функции Хевисайда с помощью окон Гаусса.
b = 0.4*sinc(0.4*(-25:25));
brect = b.*rectwin(51)'; % зелёный цвет на графике
% далее будет приведён абсолютный
уровень боковых лепестков для
% каждого использованного окна (51
отсчёт) и цвет на графике
bg05 = b.*gausswin(51,0.5)'; % +19,76, красный
bg15 = b.*gausswin(51,1.5)'; % +8,84, бирюзовый
bg18 = b.*gausswin(51,1.8)'; % +0.77, фиолетовый
bg19 = b.*gausswin(51,1.9)'; % -3.5, жёлтый
bg25
= b.*gausswin(51,2.5)'; % -16.39, серый
x=ones(51,1);
yrect=filter(brect,1,x);
yg05=filter(bg05,1,x);
yg15=filter(bg15,1,x);
yg18=filter(bg18,1,x);
yg19=filter(bg19,1,x);
yg25=filter(bg25,1,x);
xcoord=0:50;
xn=0.975*ones(51,1);
xv=1.025*ones(51,1);
plot(xcoord,x,xcoord,yrect,xcoord,yg05,xcoord,yg15,xcoord,yg18,xcoord,yg19,xcoord,yg25,xcoord,xn,xcoord,xv);
grid on
Из графика (Рисунок 3.18) видно, что
чем ниже уровень боковых лепестков применяемого окна, тем больше сигнал на
выходе фильтра напоминает сигнал на выходе фильтра, спроектированного с помощью
окна Блэкмана. Если абсолютный уровень первого из боковых лепестков не больше
16.01 децибел (α=1), то в случае окна Гаусса отфильтрованный сигнал, если
параметром брать вхождение в 5% коридор, напоминает сигнал на выходе фильтра,
спроектированного с помощью окна Блэкмана. Окно Гаусса – это, в некотором
смысле, исключение из правила. Полезным будет заметить, что максимальная
разность в первых 25 отсчётах отфильтрованного сигнала в 2% достигается при
параметре α=2.5 и соответствующем абсолютном уровне первого бокового
лепестка в -16.39 дБ.
Рассмотрим окно Чебышева. Параметр SidelobeAtten
указывает уровень спада
боковых лепестков по отношению к главному лепестку окна.
Рис. 3.19.
Фильтрация функции Хевисайда с помощью окон Чебышева.
b =
0.4*sinc(0.4*(-25:25));
brect = b.*rectwin(51)'; % зелёный цвет на графике
% далее будет приведён абсолютный
уровень боковых лепестков для
% каждого использованного окна (51
отсчёт) и цвет на графике
bc20 = b.*chebwin(51,20)'; % + 5.23, красный
bc25 = b.*chebwin(51,25)'; % +4.91, бирюзовый
bc26 = b.*chebwin(51,26)'; % +4.79 дБ, сиреневый
bc26d5 = b.*chebwin(51,26.5)'; % +4.75 дБ, жёлтый
bc100 = b.*chebwin(51,100)'; % -74.8 дБ, серый
x=ones(51,1);
yrect=filter(brect,1,x);
yc20=filter(bc20,1,x);
yc25=filter(bc25,1,x);
yc26=filter(bc26,1,x);
yc26d5=filter(bc26d5,1,x);
yc100=filter(bc100,1,x);
xcoord=0:50;
xn=0.975*ones(51,1); % для построения 5% интервала
xv=1.025*ones(51,1); % для построения 5% интервала
plot(xcoord,x,xcoord,yrect,xcoord,yc20,xcoord,yc25,xcoord,yc26,xcoord,yc26d5,xcoord,yc100,xcoord,xn,xcoord,xv)
grid
Из графика (Рисунок 3.19) видно, что
сигналы, прошедшие через фильтры, взвешенные окнами Чебышева с параметрами SidelobeAtten, меньшими 26.5 даже не входят в 5%
интервал. Следовательно, уровень первого из боковых лепестков для 51 отсчёта
должен быть меньше либо равен +4.75, что также является исключением: при уровне
первого из боковых лепестков +4.75 дБ, созданный фильтр обрабатывает сигнал
так, что тот входит в 5% интервал на 3 отсчёта раньше, чем сигнал от фильтра,
взвешенного прямоугольным окном! Максимальная разность отфильтрованных сигналов
в первых отсчётах будет плохим показателем качества окна – наибольшая разность
с сигналом, отфильтрованным b.*rectwin(51)', у сигнала, полученного
фильтром, взвешенным окном с параметром SidelobeAtten=20 (меньше, чем у хороших окон
Чебышева).
Окно Кайзера также может иметь
хорошие характеристики при малом, но положительном, уровне первого бокового
лепестка (например, при β=3). Получается, что все параметрические окна,
кроме Тьюки, не должны анализироваться по знаку максимального уровня первого
бокового лепестка.
Параметрические окна, кроме окон
Тьюки, не подчиняются тем закономерностям, что были получены для других, непараметрических,
окон пакета MATLAB.
Уровни боковых лепестков, при которых
окна показывают хороший результат (хорошее вхождение в 5% интервал) при
воздействии на функцию Хевисайда:
Во второй части повествования было
сказано, что окна влияют на просачивание спектральных составляющих и на
возможности обнаружения двух близких тонов. Просачивание и возможности
обнаружения взаимосвязаны: если в другие частотные области будет просачиваться
сильный сигнал, то он с лёгкостью может «похоронить», как принято выражаться в
английской литературе, слабый сигнал (следовательно, его будет невозможно
обнаружить). Просачивание – более важный показатель качества окна, чем
вхождение в 5% коридор или поведение в первых отсчётах отфильтрованной функции
Хевисайда.
При анализе спектра нужно выбрать
большое количество параметров: число анализируемых точек входных данных,
разрешающую способность по частоте, перечень частот, на которых следует
измерять спектральную энергию, весовую функцию, на которую умножается сигнал,
интервалы времени между последовательными измерениями спектра и, возможно, метод
усреднения этих последовательных измерений.
Рассчитать спектр мощности в MATLAB
гораздо сложнее, чем
временную область сигнала на выходе. Спектр мощности в MATLAB чаще всего рассчитывается с участием
какого-либо из окон (методы периодограмм и Велча по умолчанию используют
прямоугольное окно либо другое, если оно указано в качестве параметра). Но если
нужно рассчитать спектр мощности исходного сигнала без умножения на окно, можно
и нужно использовать БПФ – один из первых и простейших методов оценки спектра.
Будем придерживаться одного и того же метода оценки спектра мощности как для
исходного сигнала, так и для отфильтрованного.
Итак, метод оценки спектра мощности
сигнала в среде MATLAB:
Fs = 1024; % Частота дискретизации
(семплирования) – частота, с
% которой будут браться отсчёты
сигнала.
t = 0:1/Fs:1; % Вектор времени, соответствующий
частоте Fs.
x = sin(2*pi*t*200)+0.09*sin(2*pi*t*210.5); % Два наложенных друг на друга
% синусоидальных сигнала с частотами
200 Гц и 210.5 Гц и
% соответствующими амплитудами в
спектре мощности 0.5 и 0.0045
% (разница более чем в 100 раз).
% Чтобы оптимизировать БПФ,
накачивают сигнал достаточным количеством
% нулей так, чтобы его длина была степенью
двойки:
nfft = 2^(nextpow2(length(x)));
% Нахождение следующей степени двойки
fftx = fft(x,nfft); % Алгоритм БПФ накачивает x некоторым количеством нулей,
% чтобы его длина была степенью
двойки, если длина x меньше
nfft;
% в случае, если длина x больше nfft, сигнал x обрезается.
% Значения амплитуды БПФ будут
симметричны,
% поэтому первые (nfft+1)/2
точек будут уникальными,
% но это число может оказаться
дробным.
NumUniquePts = ceil((nfft+1)/2); % ceil
округляет
аргумент до целого.
fftx = fftx(1:NumUniquePts); % Вектор значений БПФ обрезается,
% остаются только уникальные
значения.
mx = abs(fftx); % В вектор mx
записываются
абсолютные значения fftx.
% Нужно понимать, что в элементах fftx
может быть
комплексная часть.
mx = mx/length(x); % Масштабирование
mx = mx.^2; % Для оценки мощности амплитуда
берётся в квадрате.
% Следующая часть кода, конструкция if, умножает на 2 компоненты
% спектра, не являющиеся компонентами
Найквиста:
if
rem(nfft, 2)
mx(2:end)
= mx(2:end)*2;
else
mx(2:end
-1) = mx(2:end -1)*2;
end
f
= (0:NumUniquePts-1)*Fs/nfft; % Расчет вектора частот.
plot(f,mx); % Вывод графика спектра мощности.
title('Power
Spectrum of a Sine Wave'); % Вывод названия графика.
xlabel('Frequency (Hz)'); % Вывод величины и размерности
по x.
ylabel('Power'); % Вывод величины по y.
Рис. 3.20. Спектр
мощности сигнала sin(2*pi*t*200)+0.09*sin(2*pi*t*210.5) (см. код). Максимальное значение мощности
(амплитуда в квадрате) = 0.5.
Соотношение слабого
тона и сильного = 0.898%.
Рис. 3.21. Соседние
тоны: слабый в присутствии сильного, выбран другой масштаб. График тот же, что
и на Рисунке 3.20.
Для расчёта спектра мощности
отфильтрованного сигнала нужно пользоваться таким же методом (во-первых, разные
методы дают разные результаты, во-вторых, нет необходимости усложнять задачу),
как и для расчёта спектра мощности исходного сигнала. Другими словами, сигнал
на выходе просто нужно подставить вместо сигнала на входе. Отфильтруем сигнал
(Рисунки 3.20 и 3.21) с помощью разных окон, приведём код для получения спектра
мощности сигнала на выходе фильтра, взвешенного прямоугольным окном:
Fs
= 1024;
t
= 0:1/Fs:1;
x
= sin(2*pi*t*200)+0.09*sin(2*pi*t*210.5);
b = 0.4*sinc(0.4*(-25:25)); % Расчёт
коэффициентов идеального фильтра
brect = b.*rectwin(51)'; % Взвешивание с помощью
прямоугольного окна
y=filter(brect,1,x);
% Фильтрование
nfft
= 2^(nextpow2(length(y)));
ffty
= fft(y,nfft);
NumUniquePts
= ceil((nfft+1)/2);
ffty
= ffty(1:NumUniquePts);
my
= abs(ffty);
my
= my/length(y);
my
= my.^2;
if
rem(nfft, 2)
my(2:end)
= my(2:end)*2;
else
my(2:end
-1) = my(2:end -1)*2;
end
f
= (0:NumUniquePts-1)*Fs/nfft;
plot(f,my);
title('Power
Spectrum (rectwin)');
xlabel('Frequency
(Hz)');
ylabel('Power');
grid
Любое окно вносит коррективы в
амплитуду отсчётов спектра. Далее ко всем спектральным характеристикам
прилагается информация о максимальной мощности в спектре на выходе и о
процентном соотношении значений мощностей слабого тона и сильного (чем это
отношение больше, тем лучше). Интервал в 10.5 дБ между тонами для нашего
примера с синусоидами довольно большой, поэтому структура боковых лепестков
большого сигнала даже для прямоугольного окна не может поглотить главный
лепесток слабого сигнала, из-за чего можно численно сравнить влияние окон на
спектр мощности сигнала.
Рис. 3.22. Спектр
мощности сигнала, отфильтрованного с участием прямоугольного окна.
Максимальное значение мощности (амплитуда в квадрате) = 0.25. (Точность до
сотых.)
Соотношение слабого тона и сильного = 0.202%.
Рис. 3.23. Спектр
мощности сигнала, отфильтрованного с участием окна Блэкмана.
Максимальное значение мощности (амплитуда в квадрате) = 0.1700.
Соотношение слабого тона и сильного = 0.554%.
Рис. 3.24. Спектр
мощности сигнала, отфильтрованного с участием окна Бартлетта.
Максимальное значение мощности (амплитуда в квадрате) = 0.1791.
Соотношение слабого тона и сильного = 0.483%.
Рис. 3.25. Спектр
мощности сигнала, отфильтрованного с окном Бартлетта-Хеннинга.
Максимальное значение мощности (амплитуда в квадрате) = 0.1802.
Соотношение слабого тона и сильного = 0.483%.
Рис. 3.26. Спектр
мощности сигнала, отфильтрованного с участием окна Блэкмана-Харриса.
Максимальное значение мощности (амплитуда в квадрате) = 0.1621.
Соотношение слабого тона и сильного = 0.615%.
Рис. 3.27. Спектр
мощности сигнала, отфильтрованного с участием окна Бомана.
Максимальное значение мощности (амплитуда в квадрате) = 0.1681.
Соотношение слабого тона и сильного = 0.568%.
Рис. 3.28. Спектр
мощности сигнала, отфильтрованного с участием окна Чебышева(100дБ).
Максимальное значение мощности (амплитуда в квадрате) = 0.1641.
Соотношение слабого тона и сильного = 0.599%.
Рис. 3.29. Спектр
мощности сигнала, отфильтрованного с участием окна Flat Top.
Максимальное значение мощности (амплитуда в квадрате) = 0.1444.
Соотношение слабого тона и сильного = 0.785%.
Рис. 3.30. Спектр
мощности сигнала, отфильтрованного с участием окна Гаусса(α=2.5).
Максимальное значение мощности (амплитуда в квадрате) = 0.1798.
Соотношение слабого тона и сильного = 0.488%.
Рис. 3.31. Спектр
мощности сигнала, отфильтрованного с участием окна Хемминга.
Максимальное значение мощности (амплитуда в квадрате) = 0.1857.
Соотношение слабого тона и сильного = 0.452%.
Рис. 3.32. Спектр
мощности сигнала, отфильтрованного с участием окна Ханна.
Максимальное значение мощности (амплитуда в квадрате) = 0.1805.
Соотношение слабого тона и сильного = 0.483%.
Рис. 3.33. Спектр
мощности сигнала, отфильтрованного с участием окна Кайзера (β=0.5).
Максимальное значение мощности (амплитуда в квадрате) = 0.2477.
Соотношение слабого тона и сильного = 0.209%.
Рис. 3.34. Спектр
мощности сигнала, отфильтрованного с участием окна Натталла.
Максимальное значение мощности (амплитуда в квадрате) = 0.1627.
Соотношение слабого тона и сильного = 0.61%.
Рис. 3.35. Спектр
мощности сигнала, отфильтрованного с участием окна Парзена.
Максимальное значение мощности (амплитуда в квадрате) = 0.1652.
Соотношение слабого тона и сильного = 0.59%.
Рис. 3.36. Спектр
мощности сигнала, отфильтрованного с участием треугольного окна.
Максимальное значение мощности (амплитуда в квадрате) = 0.1816.
Соотношение слабого тона и сильного = 0.468%.
Рис. 3.37. Спектр
мощности сигнала, отфильтрованного с участием окна Тьюки (α=2.5).
Максимальное значение мощности (амплитуда в квадрате) = 0.2154.
Соотношение слабого тона и сильного = 0.313%.
Окно |
Отношение
тонов, максимальная мощность спектра |
(хуже) Прямоугольное |
0.202%,
0.25 |
Кайзера |
0.209%,
0.2477 |
Тьюки (α=2.5) |
0.313%,
0.2154 |
Хемминга |
0.452%,
0.1857 |
Треугольное |
0.468%,
0.1816 |
Ханна |
0.483%,
0.1805 |
Бартлетта-Хеннинга |
0.483%,
0.1802 |
Бартлетта |
0.483%,
0.1791 |
Гаусса (α=2.5) |
0,488%,
0.1798 |
Блэкмана |
0.554%,
0.1700 |
Бомана |
0.568%,
0.1681 |
Парзена |
0.590%,
0.1652 |
Чебышева (100 дБ) |
0.599%,
0.1641 |
Натталла |
0.610%,
0.1627 |
Блэкмана-Харриса |
0.615%,
0.1621 |
(лучше) Flat Top |
0.785%,
0.1444 |
Стоит заметить, что приведённая
таблица может незначительно измениться, если слабый сигнал будет находиться в 2
и более раза ближе к сильному (усилится влияние боковых лепестков сильного
сигнала; также для каждого окна играет большую роль частота слабого сигнала, её
расположение между отсчётами БПФ, поэтому окно должно выбираться, исходя из
конкретного случая и конкретной задачи).
При более близком расположении
слабого и сильного сигналов лучшие окна будут лучше влиять на спектр
профильтрованного сигнала, а худшие могут позволить структуре боковых лепестков
полностью поглотить главный лепесток слабого сигнала.
На обнаружение слабого сигнала на
выходе фильтра влияет размывание главного лепестка сильного сигнала по оси
частот. Сигналы, интенсивность которых не превышает уровня размытого главного
лепестка, необнаружимы.
Ф. Дж. Хэррис так характеризует
способности к обнаружению слабых сигналов окнами, имеющимися и в MATLAB: хорошо работают все окна семейства
Блэкмана, окно Бомана, окна Гаусса, плохо работают прямоугольное окно,
треугольное окно, окно Тьюки. Если обнаружение слабых сигналов в присутствии
сильных необходимо по условиям конкретной задачи, то разница между тем или иным
окном огромна.
Что касается уровня боковых
лепестков, то, если сравнить с Таблицей 1 полученный ряд окон, будет
прослеживаться тенденция к уменьшению уровня наибольшего бокового лепестка
(приведены окна, от худшего к лучшему, и соответствующие уровни боковых
лепестков): прямоугольное окно (-13 дБ), окно Хемминга (-43), треугольное окно
(-27), окно Гаусса при α=2.5 (-42), окно Блэкмана (-58), окно Бомана
(-46), окно Блэкмана-Харриса(>61).
[1] Герман, Д. Я. Конспект лекций по
курсу «Цифровая обработка сигналов» / Д. Я. Герман. - М. : МГТУ им. Н. Э.
Баумана, 2009. - 174 с.
[2] Фихтенгольц, Г. М. Курс
дифференциального и интегрального исчисления / Г. М. Фихтенгольц. - М. :
Наука, 1969. – 700 с.
[3] Голд, Б. Цифровая обработка
сигналов / Голд Б., Рейдер Ч. - Пер. с англ. под ред. А. М. Трахтмана. - М. : Советское радио, 1973. - 368
с.
[4]
Ricardo A. Losada Digital Filters with MATLAB - The MathWorks, Inc., 2009. -
237 с.
[5]
Fredric J. Harris On the Use of Windows for Harmonic Analysis with the Discrete
Fourier Transform - IEEE, 1978. – vol66, 172-204pp.
[6]
http://www.mathworks.com/