Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 62
Текст из файла (страница 62)
Различия между ними состоят в типе аппрокснмнруемой АЧХ вЂ” функция т1г1 предназначена для синтеза многополосных фильтров, АЧХ которых в заданных частотных точках скачкообразно меняется, принимая значения О пли 1, а функция Г1 г2 допускает задание произвольной кусочно-линейной АЧХ. Кроме того, в том же пакете 51япа1 Ргосезз[пп имеется функция каззегого, предназначенная лля выбора порядка фильтра, который прн синтезе с применением окна Кайзера будет удовлетворять заданным требованиям. Функция $1г1 Функция Г1г1 позволяет рассчитывать нерекурснвные полосцо-пропускающие фильтры с линейной Фт1Х, в том числе многополосные (шп111Ьапс[), методом обратного преобразования Фурье с использованием окон. Синтаксис вызова функции следующий: Ь = [1г1(п Ип, '[туре'.
напоен. 'погва11га11оп') Здесь и — порядок рассчитываемого фильтра (его импульсная характеристика будет содержать и + 1 ненулевых отсчетов). Параметры Ип и 'тсуре' (который может отсутствовать) совместно определяют тип синтезнруемого фильтра и его частоту (частоты) среза. Частоты среза задаются нормированными к частоте Найквиста (то есть их значения должны лежать в диапазоне 0...1, величина 1 соответствует половине частоты лпскретизации).
Значения этих параметров зависят от типа фильтра; ь1 ФНт1: Ип — частота среза, параметр ' стуре' отсутствует; 0 ФВЧ: Ип — частота среза, 'стуре' 'Ьтой'; 0 полосовой фильтр: Ип [И1 н21, где И1 и н2 — границы полосы пропускания, параметр 'ттуре' отсутствует; [з режекторный фильтр: Ип [и1 н2], где и1 и н2 — границы полосы задерживания, 'ттуре' 'втор", 0 многополосный фильтр, пропускающий низкие частоты; Ип = [н1 н2 .. нп), тле и1 — границы полос процускания, упорядоченные по возрастанию, 'ттуре'- '06.1'. Такой фильтр будет иметь полосы пропускания О...п 1, ть 2..лмЗ и т.
л.; З41 Синтез дискретных фильтров в МАТГАВ С1 многополосный фильтр, эадержиэаюи1ий низкие частоты: Ып (н1 н2 ... нп3, где н1 — границы полос пропускания, упорядоченные по возрастанию, ' стуре' = - 'ОС. О '. Такой фильтр будет иметь полосы пропускания ю1.. тч2, туЗ...тч4 и т. д. ЗАМЕЧАНИЕ Обозначения 'РС-О' и 'РС-1' расшифровываются следующим образом: РС обозначает постоянныйй ток (й тес г сцггсш), то ость нулевую частоту, а О илн 1 — коэффициент передачи снцтезнруемого фильтра на нулевой частоте, Для ФВЧ и режекторных фильтров, а также многополосных фильтров с ненулевым коэффициентом передачи на частоте Найквиста возможен только четный порядок. Если задать нечетное и, будет рассчитан фильтр на единицу большего порядка. Параметр нтпбон задает используемое при синтезе окно. Это должен быть вектор- столбец, содержащий и + 1 элементов. По умолчанию используется окно Хэмминга, рассчитываемое путем вызова функции Ьэвип'лд(п+1).
Строковый параметр ' логва1 1га11 оп ' управляет нормировкой (масштабированием) рассчитанной импульсной характеристики фильтра. По умолчани|о используется значение 'зсэ1е', при котором импульсная характеристика нормируется так, чтобы обеспечить единичное значение (О дБ) коэффициента передачи в центре полосгя пропускания (для многополосных фильтров — в центре самой низкочастотной полосы пропускания). Второе возможное значение параметра— 'позсэ1е', в этом случае нормировка не производится.
Результатом работы функции является вектор Ь коэффициентов нерекурсивного фильтра..Рассчитанный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную н/2 отсчетов. Расчет фильтра выполняется следующим образом; обратное преобразование Фурье от заданной идеальной АЧХ дает бесконечный набор отсчетов импульсной характеристики. Этот набор симметрично усекается до и + 1 отсчетов и для ослабления эффектов усечення умножается на используемое окно. Если задана нормировка, определяется модуль коэффициента передачи получившегося фильтра в центре полосы пропускания, и коэффициенты фильтра делятся на это значение.
Функция Лг2 Функция ттг2, так же как и т1г1, предназначена для синтеза нерекурсивных фильтров с линейной ФЧХ методом обратного преобразования Фурье с использованием окон. Отличие заключается в том, что при синтезе можно задать произвольную кусочно-линейную АЧХ. Синтаксис вызова функции следующий: Ь - 1~г2(л. 1. н. Ярс, 1ар, н1лбон1 Здесь и — порядок рассчитываемого фильтра (его импульсная характеристика будет содержать п + 1 ненулевых отсчетов). Параметры т и в должны быть векторами одинаковой длины, они совместно определяют желаемую АЧХ синтезируемого фильтра.
Вектор т содержит значения частот, нормированные к частоте Найквиста, а вектор в — соответствующие этим частотам значения АЧХ, В промежутках между заданными точками АЧХ интер- З4г Глава 6. Проектирование дискретных фильтров полируется по линейному закону. Частоты в векторе Г должны образовывать неубывающую последовательность, кроме того, должны выполняться равенства П1) - 0 и Пепб) = 1. Частоты могут дублироваться, что дает возможность задать скачкообразное изменение АЧХ. Вывести график синтезируемой АЧХ можно командой р1ог(Г, в).
Для фильтров, коэффициент передачи которых на частоте Найквиста не равен нулю, возможен только четньш порядок, Если задать нечетное и, будет рассчитан фильтр на единицу большего порядка. Остальные параметры функции являются необязательными. Параметр Мрг задает число точек, используемое при интерполяции заданной АЧХ, По умолчанию его значение равно 512. Параметр 1ар задает ширину переходных зон вокруг скачков. При интерполяции АЧХ в этих зонах вместо скачка будет сформирован линейный переход.
Ширина зон измеряется в точках интерполяции и по умолчанию равна 25. Параметр и) пг)ои задает используемое при синтезе окно. Это должен быть вектор- столбец, содержащий и + 1 элементов. По умолчанию используется окно Хэмминга, рассчитываемое путем вызова функции Ьавайпо[п+1).
Результатом работы функции является вектор Ь коаффцциентов нерекурсивного фильтра. Рассчитанный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную и/2 отсчетов. Расчет фильтра выполняется следующим образом: заданная АЧХ кусочно-линейно интерполируется на равномерную сетку из Мр1 точек, обратное ДПФ дает импульсную характеристику, она симметрично усекается до и + 1 отсчетов и для ослабления эффектов усечения умножается на используемое окно. ЗАМЕЧАНИЕ Число точек интерполяции должно быть нс меньше длины синтезируемого фильтра.
Поэтому при расчете фильтров порядка 5!2 и более значение параметра Мр1, прицятос по умолчапшо, оказывается недостаточным и его необходимо задать явно. Функция На1зегогб Функция кв1зегогб предназначена для определения порядка фильтра, удовлетворяющего заданным требованиям, при синтезе функцией Г) г1 с использованием окна Кайзера. Функция имеет два варианта синтаксаса: [и. ип, Ьета, 1Суре) = 1зквегогб[Г.
з. г)еу. Гз) с = ~з1зегого[т з. Г)ет. Гз 'се11') Во втором варианте синтаксиса возвращаемый массив ячеек с содержит полный набор параметров для вызова функции Г1 г1. Параметры Г и а совместно задают кусочио-постоянную АЧХ. В векторе Г должна содержаться возрастающая последовательность значений частот. Вектор а задает постоянные значения АЧХ для полос, ограниченных парами частот из вектора Г, при этом перная полоса начинается от нулевой частоты, а последняя заканчивается на частоте Найквиста: Синтез дискретных фильтров в МАТ(АВ 343 О в полосе от нуля до Е(1) АЧХ равна а(1); О в полосе от Е(1) до Е(2) ЛЧХ не определена; (З в полосе от Е(2) до ((3) ЛЧХ равна а(2); О в полосе от Е(З) до Е(4) ЛЧХ не опрелелена; О так продолжается до конца векторов т и а; О в полосе от Е(епт) 1) до ((епт)) АЧХ не определена; О в полосе от Е(епо) до Ез72 ЛЧХ равна а(епт)). Таким образом, длина вектора Е лолжна быть равна )епдЬЬ(а)*2-2.
Поскольку функция формирует исходные данные для функции (1 г1, в векторе а могут содержаться только значения О н 1. Параметр Ьеч должен быть вектором той же длины, что и а, содержащим вещественные положительные числа. Он задает максимально допустимую ошибку воспроизведения кусочно-постоянной Лс1Х дли отдельных частотных полос. Ошибка задается как абсолютпая погрешность АЧХ. Параметр Ез задает частоту дискретизации н является необязательным.
Прп его использовании следует указывать в векторе' т ие нормированные, а исходные значения частот в тех же единицах, что и Ез, По умолчанию частота дискретизации считается равной двум, так что частота Найквпста равна единице. Результатами работы функции являются порядок фильтра и, вектор нормированных частот среза ип, параметр окна Кайзера Ьета и указатель типа фильтра ттуре. Эти параметры затем должны использоваться при вызове функции Етг1 следующим образом: Ь - ттг1(п, ип, Катзег(п+1, Ье(а). т(уре, 'позса)е') Если использован второй вариант вызова функции 1атзегогЬ, вызывать фупкцшо (1 г1 следует так: Ь = (тг1(с(1), с(2), с(З), с(4). с(5)) Функция )татзегогт) использует эмпирические формулы для расчета параметров. Так, параметр окна Кайзера ЬеЬа определяется по формуле (6.8) (см.
ранее в этой главе раздел «Синтез с использоваппелт окон»). Порядок фильтра п оценивается по следующей формуле: и -7,95 2,285 Ато Здесь а — степень подавления боковых лепестков АЧХ в децибелах, а Аы — нормированная ширина самой узкой переходной полосы с неопределенной АЧХ. Функция основана на простых прикпдочных формулах и поэтому может давать неточные результаты, особенно если в заданной АЧХ имеются частоты среза, близкие к нулю или частоте Найквпста, нлн если задано слишком слабое подавление боковых лепестков (в векторе т)еч есть элементы, превышающие 0,1). Поэтому после синтеза фильтра функцией т1г1 следует проверить его АЧХ с помощью функции Егедх и при необходимости попробовать точнее подобрать порядок фильтра вручнуто.
344 Глава 6. Проектирование дискретных фильтров Функции расчета ФНЧ с косинусоидальным сглаживанием Функции для расчета ФНЧ с косинусопдальным сглажнваннсм АЧХ имеются в лвух пакетах расширения МАТ!.А — 6!дпа! Ргосезз!пп (функция т1ггсоэ) н Сопцпцп!саг!опз (функция гсов1 пе н две вызываемые ею функции более низкого уровня гсоэг! г и гсов11г).
Сравнивая их, следует отмстить, что функция т! ггсоз из пакета Яцпа! Ргосезгйпд имеет более обший характер, тогда как функции пакета Согппгцп!сас!опз приспособлены лля решения конкретной задачи — интерполяции сигнала с целью формирования спектра прн квадратурной манипуляции.