Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 65
Текст из файла (страница 65)
Это, как правило, означает неудачное сочетание порядка фильтра и заданной АЧХ. Возвращаемые результаты могут быть ненадежными, поэтому необходимо проверить их, рассчитав частотную характеристику с помощью функции алеся (впрочем, это полезно сделать в любом случае), 0.8 0.8 0.4 0.2 0.8 0.8 0 0.2 0.4 Рис. 6.10. АЧХ ФНЧ, синтезированного путем минимизации среднеквадратической ошибки с помощью функции блв В качестве примера синтезируем данным методом ФНЧ 32-го порядка с нормированной частотой среза, равной 0,2, и началом полосы задерживания на нормированной частоте 0,25. График АЧХ полученного фильтра приведен на рис. б.10.
Глава 6. Проектирование дискретных фильтров » 1 - (О 0.2 0.25 11; »а=(11001; » Ь= ~тг!з(32. т, а): » (Ь, и1 = 1гедг(Ь): » р1оь(и/р~, аЬз(Ь)) Ж график АЧХ » Огас оп » у))п((0 1.11) На рисунке хорошо видны проявления эффекта Гиббса, неизбежно возникающего при минимизации среднеквадратической ошибки — амплитуда максимальных выбросов АЧХ составляет примерно 0,05. Далее мы синтезируем фильтр с такими же исходными ланными еще несколькими методами, чтобы оценить разницу результатов синтеза.
Функция 11гс!8 Функция йгс1з предназначена для синтеза нерекурспвных фильтров с линейной ФЧХ путем минимизации среднеквадратической ошибки воспроизведения заданной кусочно-постоянной АЧХ с ограничением предельно лопустнмых отклонений от нее (сопзгга(пей 1еазг з()ваге). Синтаксис вызова функции следующий: Ь - 1~сг1з(л, 1. апр ор, 1о. 'Ьез~дл 11ад') Здесь л — порядок рассчитываемого фильтра (его импульсная характеристика будет содержать и + 1 ненулевых отсчетов).
Векторы т' и авр совместно определяют желаемую АЧХ синтезируемого фильтра, Вектор 1 содержит значения частот, нормированные к частоте Найквиста. Эти частоты должны образовывать возрастающую последовательность, кроме того, должны выполняться равенства ~(1) = 0 и т(еп(0 = 1. Длина вектора аар должна быть на единицу меньше, чем длина вектора ~.
Элементы вектора аар задают кусочно-постоянную АЧХ (в диапазоне частот от 10() до 1((т + 1) постоянное значение АЧХ равно аерИ()). Вывести график синтезируемой АЧХ можно следующей командой: » ага)гз(1, (авр(:);авр(епс)]) Для фильтров, коэффициент передачи которых па частоте Найквиста не равен нулю, возможен только четный порядок. Если задать нечетное и, будет рассчитан фильтр на единицу большего порядка. Векторы ор и 1о задают верхнюю и нижнюю допустимые границы для значений АЧХ синтезируемого фильтра.
Эти векторы должны иметь такой же размер, как и вектор аар. Используемый критерий оптимизации можно сформулировать еле. дующим образом: ищутся коэффициенты фильтра заданного порядка, которые дают АЧХ, лежащую между 1о и ар и имеющую при этом минимальное средне- квадратическое отклонение от аар. Строковьш параметр 'Оезтдп Лад' является необязательным, он позволяет управлять выводом информации о ходе поиска решения (по умолчанию зта информация не выводится). Возможны три значения данного параметра: З5З Синтез дискретных фильтров в МАТЬАВ [Ж 'Сгасе' — текстовый вывод величины ошибки для каждой итерации; (з 'р1осз' — на каждой итерации выводится набор графиков: общий вид АЧХ и крупным планом все отдельные полосы частот; (2 'ЬоЖЬ' — одновременный вывод текста и графиков, Результатом работы функции является вектор Ь коэффициентов нерекурсивного фильтра.
Рассчитанный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную н/2 отсчетов. Расчет фильтра осуществляется численным итерационным методом оптимизации с ограничениями. В качестве примера синтезируем ФНЧ с теми же параметрами, что и в примере для функции Т1 г1 з (см. Рис. 6.10), задав ограничение отклонения АЧХ от желаемой, равное 0,02 (напомним, что амплитуда максимальных выбросов АЧХ при минимизации среднеквадратической ошибки без ограничений составила примерно 0,05).
Функция Т1 гс18 осуществляет аппроксимацию кусочно-постоянной АЧХ, не позволяя задавать переходные полосы, поэтому зададим для границы между полосамн пропускания и задерживания значение 0,225, равное середине переходной полосы нз примера для функции Т!г18. График АЧХ полученного фильтра приведен на рис. 6.11: » Т " [О 0.228 Ц: » а - [1 01; » 1о " [0.98 -0.021; Ж иининальный коэффициент передачи » цр = [1.02 0.021; Ж иаксинальный коэффициент передачи » Ь - т(гс18(32.
Т, а, цр. 1о): » [П, и) = Тгецг(Ь): » р1ос(и/р(. аЬэ(П)) Ж график АЧХ >ь 9гтц оп » у1пп([0 ).П) 0.8 0.8 0.4 0.2 08 08 0 02 04 Рис. 8.11. АЧХ ФИЧ, синтезированного путем минимизации среднеквадратической ошибки с ограничением минимального отклонения с помощью функции агс)а 354 Глава 6. Проектирование дискретных фильтров Сравнение АЧХ на рпс.
6.10 н 6.11 показывает, что во втором случае амплитуда пульсаций действительно уменьшилась до заданного уровня 0,02, но при этом расширилась переходная полоса, ширину которой фушсция 11гс1з выбирает ав- томатически. Функция Ягс!81 О если синтезируется ФНЧ; О х1 < х0: коэффициент передачи лежит О хТ > х0: коэффициент передачи лежит О если синтезируется ФВЧ: О х1 < х0: коэффициент передачи лежит О х1 > х0: коэффициент перелачи лежит в пределах 1 + йр при 0 < то < х~; в пределах и йз при хт, < от < 1; в пределах нт)з при 0 < гл < х1; в пределах 1 + с)р при хт < от < 1.
Футткция ттгс1в1 — это специализированная версия функции т1гс1 в. предназначенная для синтеза ФНЧ и ФВЧ с линейной ФЧХ путем минимизации средне- квадратической ошибки воспроизведения идеальной частотной характеристики с ограничением пределыю допустимых откгюнений от нее (сопзгга)пег) 1еаат зопаге). 1<роме того, функция дает возможность более гибкого задания допустимых отклонений АЧХ в полосах пропускацня и задержнвания, а также учета ошибки в этих полосах с разным весом. Синтаксис вызова функции следующий: Ь = ттсг1з1(п.
х0, Ьр, пз. ' 11уре') Здесь и — порядок рассчитываемого фильтра (его импульсная характеристика будет содержать п + 1 ненулевых отсчетов). Параметр х0 задает частоту среза, как обычно, нормированную к частоте Найквиста. Параметры пр и йв задают допустимые абсолютные уровни пульсаций в полосах пропускания (раззЪапп) и задерживания (ьчорЪапг)) соответственно.
В полосе пропусканпя фильтр должен иметь коэффициент передачи, лежащий в пределах 1 й йр, а в полосе задерживанпя — в пределах нк)з (здесь имеется в виду пс АЧХ, а вещественная частотная характеристика, получающаяся после компенсации вносимой фильтром задержки, поэтому возможны и отрицательные значения). При отсутствии параметра 'тсуре' синтезируется ФНЧ, при 'стуре' 'Ь1дп'— ФВс1, Для ФВЧ, поскольку их коэффициент передачи на частоте Найквпста не равен нулю, возможен только четный порядок. Если задать нечетное и, будет рассчитан фильтр на единицу большего порядка. Между пз и ' ~суре' могут находиться дополнительные параметры, причем их назначение меняется в зависимости от их количества, поэтому данные варианты синтаксиса мы рассматриваем отдельно.
Первый такой вариант выглядит еле. дующим образом: Ь - 11сг1в1(п. х0, пр, бз, х1, '1гуре') Появившийся здесь параметр хе указывает нормированную частоту, за которой должно удовлетворяться ограничение т)р или пв. Это облегчает работу функции, позволяя образовать переходную зону между полосами пропускания и задержввания. Как именно формируется переходная зона, зависит от соотношения между хт и х0 и от типа спнтезируемого фильтра: Синтвз дискретных фильтров в МАТГАВ Следующий вариант синтаксиса содержит три дополнительных параметра: Ь - т)гс1э1(л. и0. ор.
сз. ир. из. М, 'стуре') В этом случае можно задать соотношение между ошибками воспроизведения ЛЧХ в полосах пропускания и задержнвания. Это соотношение задается параметром )с, а параметры ир и из указывают границы полос пропускания и задерживапия для расчета соотношения ошибок: 00 при синтезе ФНЧ должны выполняться неравенства ир < и0 < из, а )с рассчитывается по формуле ~~А(от)-1~' йо и 1 ) ) А(о)))' с(го 01 при синтезе ФВЧ должны выполняться неравенства ив < и0 < ир, а К рассчитывается по формуле 1 ))А(то) — 1(' с1т ~)А(то)!' йо о Здесь А(то) — АЧХ синтезированного фильтра, а частоты считаются нормированными к частоте Найквиста.
Наконец, в любом варианте синтаксиса в конец списка параметров можно добавить строковый параметр 'деэ1дл 11вд". Ь - ()сг!э1(.... 'Ьезтдп (1вд') Этот параметр позволяет управлять выводом информации о ходе поиска решения (по умолчанию эта информация ие выводится). Возможны три значения данного параметра: д 'тгасе' — текстовый вывод величины ошибки для каждой итерации; 01 'р1отз' — на каждой итерации выводится набор графиков; общий вид АЧХ н крупным планом все отдельные полосы частот; Д 'Ьотн' — одновременный вывод текста н графиков. Результатом работы функпии является вектор Ь коэффиппентов нерекурспвного фильтра.