Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 44
Текст из файла (страница 44)
2ехт е — вектор экстремальных частот. В вариантах записи функции сгепеа с параметром ггеар есть возможность его задания кдк функции пользователя: [с)ь,с)н) -- Ггеар)п, Г,че,н,р1,р2,... ) 224 Глава 3. Фильтрация сигиалов 3.9.3. Метод взвешивания — Вг1 Для проектирования фильтров с КИХ методом взвешивания служит функция йг!: Ь Езг1(п,ип(,'Йсуре',и1пг)пы!) Ь вЂ . Г)г1(...,'погга11гас1оп') В простейшей форме Ь = Гн.1(п,'1тп) она создает вектор из и+1 коэффициентов ФНЧ с КИХ и линейной АЧХ для заданной частоты среза туп (задается от 0 до 1).
Групповое время задержки этих фильтров равно и/2. При этом используется окно Хемминга. Передаточная характеристика фильтра имеет вид: Н(2) = (у(с! = К1) + ()(2)2 ' + ... + Ыа + 1)2 ". Для конструирования полосового фильтра надо задать (й)п как вектор из двух частот 17'и = (и1 и!), причем н) < и < н2.
А для конструирования многополосного фильтра достаточно задать многокомпонентный вектор частот, например %в=[ту! и2 )у3 ... )уп]. Полосы фильтра задаются соотношениями: 0<ту<в!, и 1 < )у < тв2, ... туп < гу < ! . Опция ' ге уре ' позволяет задать тип фильтра: ° 1суре=пщп — ФВЧ с частотой среза ()уп; ° 1суре=асор — заграждаюший фильтр; ° 1 суре= ' ос-1 ' — многополосный фильтр, у которо~о первая полоса является полосой пропускания; ° гг.ура= ' пс-о ' — многополосный фильтр, у которого первая полоса является полосой задержания.
Вектор и1п()ои размером и+ ! позволяет задавать отсчеты окна, а параметр 'поппа11гас1оп' управляет нормализацией (масштабированием). этот параметр может иметь следук)щие значения: ° ' зса1е ' — нормализация используется (значение по умолчанию), так что в центре полосы пропускания значение АЧХ задается равным 0 дБ; ° ' повса1е ' — нормализация не используется. Алгоритм, положенный в основу функции гуг1 довольно прост. Отсчеты импульсной характеристики фильтра вычисляются по формуле Ь(п) =)у(п)Ь(п) для (Ч > и > 1. При этом н(п) — окно и ь(п) — импульсная характеристика идеального фильтра. Если фильтр данного порядка построить не удается, то порядок фильтра автоматически увеличивается на 1.
Для иллюстрации применения функции г1г1 рассмотрим пример построения полосового фильтра 32-го порядка с граничными частотами 0.3 и 0.7: Ь = Гзг1 (32, [ О. 3 0.7) ) ) Ггеяг (Ь, 1, 512) ) АЧХ и ФЧХ фильтра представлены на рис. 3.30. Нетрудно заметить, что в полосе пропускания зависимость фазы от частоты действительно носит строго линейный характер. З,й;4. Метод взвешивания для фильтра с произвольной АЧХ вЂ” т(г2 Функция Ь = 11г2 (и, Г,в(,пре,1ар,ч1п((оя) ) служит для проектирования фильтра с КИХ и произвольной частотной характеристикой методом взвешивания с использованием окон.
Не рекомендуется приме- 3.9. Средства проектировании фильтр()в 225 ие ви ввв. )оевт твои иаоале инр ~(3 аа Я 4Ь,.'Г» А Р г ' гв Ф сэ ' 20 й -а) -40 'с и с :. -00 ,-(ао о ол ' о.г о.з од о.ь 0.4 од 0.0 о.ь Нстоисеа Рнеееосу (еа гаиаесие) ЬОО .д: .ьао а ,„:-(ооа ' '-:,.(ьоа 4000 о ол 0.2 о.з 0.4 о ь 0.0 о.т о.а 0.0 Исоеасеа Рнаееосу ( е лпУавер!е) Рве. 3.30. АЧХ и ФЧХ полосового фильтра 32-го порвдка, реализованного по методу взвеозиванив нять зту функцию для построения обычных фильтров — полосовых, режекторных, ФНЧ и ФВЧ.
Функция Ь = Еат2 (и, Г,ге) возвращает вектор Ь с и+ 1 коэффициентами ФНЧ порядка п. ЛЧХ фильтра задается векторами Г(значения частот от 0 до 1, первый элемент О) и гп (отсчеты ЛЧХ аля заданных в векторе Г частот). Для ступенчатых ЛЧХ задаются два гюдряд отсчета частоты для ступеньки и два значения АЧХ. Парал(етр пр( (по умолчанию 512) задает число отсчетов сетки лля интерполяции, парал(етр!ар (по умолчанию 25) задает число точек в области скачков ЛЧХ, а вектор (е!п((о(в задает тип окна (по умолчанию окно Хемминга). Ниже представлено проектирование заграждающего фильтра 40-го порядка с прямоугольной ЛЧХ (скачки на часготах 0.3 и 0.6): 2(00.30.30.60.б1)(с=(1 1 С С 111( Ь = Гзт2(40,а,с) г [Ь,и] = Гтсяв(Ь,1,12В)г 01се (Г, с, н/рз, асв (Ь) ) г 1ес спс ( '1с)са1 ', ' Е(т2 п=4С ' ) Графики ЛЧХ для тако~о фильтра предпочт)(тельно строить с помощью функции р!о(.
На рис. 3.31 показаны Лт)Х идеального фильтра и фильтра, построенного с полющью функции Вг2. $лааа 3. Фильтрация хигналоа ьн ви нен ннп.таявснанею.„ив)р. -. аз вв а 9 ]Гь А л, ! л) ю-.".) ав в.а в в ' вл ' 'ат ' 'О.з' Ол О.в О.в От ' О.В Оз Рнс. 3.31. АЧХ и ФЧХ идеального н спроектированного полосового фильтра 32-го порялка.
реализованного по методу взвешивания 3.9.5. Метод наименьших квадратов — Вгс1в, Вгс1вт и Лг1в Три функции в В]япа! Ргосезз]пя реализуют метод наименьших квадратов. Для проектирования фильтров с КИХ и произвольной АЧХ этим методом служит функция 11хс1в: Ь = Гьхс1в (и, Г, анр, ор, 1о) Гьхс1а !п, Г, агар,ор, 1о, 'г)еатвп Г1ач') В первой форме она задает построение фильтра порядка и, заданного п+1 коэффициентами вектора ь с Ачх, которан задается своими отсчетами частоты г и значения авр по правилам, описанным для функции Г1х2.
Векторы ор и 1о, имеюшие то же число элементов, что и у вектора агпр, задают верхние и нижние частоты лля каждой из полос фильтра. Во второй форме функция используется для вывода значений параметров фи- льтра, полученных в результате его проектирования. Параметр с)ев1оп 11а9' задает тип вывода: ° стасе — отображение параметров, полученных в процесс проектирования; ° р1охв — построение графиков АЧХ, ГПЗ, нулей и полюсов; ° Ьох)~ — выводгпся все параметры. Применение функции Вгс]з иллюстрирует следуюший пример: п = 40) Г = [О 0.2 0.7 1]г впар = [О 1 О]) ор = [0.02 1.02 0.01]: 1о =.
[ — 0.02 0.98 — 0.0))г Ь = Г1хс1а[п,е,анр,ор, 1о,'Ьось')г Воопс) Оьо1*тзоп -- 0.0799070098094 227 3.9. Средетоа проектирооапия фильтров Воппг) )71о1ас1сп = 0.0147708948889 Воопг( )71с1а11оп = 0.0004357217997 Воопе( )71о1атьоп =- 0.0000021572586 Воопг( 01с1асьсп = 0.0000000223849 Воопг( Мтс1ат1сп -- 0.0000000010646 В этом примере проектируетсл полосовой фильтр 40-го порядка. Наряду с текстовым выводом данных проектирования строятся АЧХ, показанные на рис, 3.32.
1а:лба))г 4 %)~ 4 0 0.1 0.2 9.9 0.4 0.5 , 0.6 0.7 О.В 0.9 ! О. :0 .4)я ,(6:, Оо! Г 461 'а',...: 0.7 ..: ' " 0.75 ' О,В ОВ5 ' 0.9 0.95 ' * 1 7гаааяет 07 0.95 04 045 0$ 055 06 0.6$ 07 Рис. З.ЗХ. АЧХ поаосоаого фильтра 40-го порядка, реадизоаанного по метопу наименьших каОдратоа Для проектирования ФНЧ и ФВЧ методом наименьших квадратов служит также функция Ь = 11гс161 (п,но, е)р, с)а(, нс, 'Ьадь') ) Ь = 11гс161(п,но,г(р,г)а(,нр,иа,х, 'Ьтдп') ) Ь = тххс161(п,но,е(р(,е(а,..., 'с)оа1дп 11ад')) В простейшей форме Ь = 11хс101 (и, нс, г)р, е(а) функция создаст вектор коэффициентов ФНЧ порядка и с частотой среза н0 между 0 и Е где ! соответствует половине частоты выборки, максимально допустимой функцией ошибки АЧХ в полосе пропускания с(р и максимальной функцией ошибки в полосе задержания — г(а.
Параметр 'Ь1дн' задает проектирование ФВЧ. Задается дополнительный параметр нс, выше которого (при кс >мо) или ниже которого (при нс < нО) выполняются требования к АЧХ проектируемого фильтра. Если нс в полосе пропускания, то )Е(мс)~ <= г)р, где Š— функция ошибки. 228 !лава 3. Фильтрация сигналов Если нп вне полосы пропускания, то !Е(ие)~ <= е!и. При этом возможны следующие варианты: ФНЧ: 0 с ие < ио < 1: АЧХ отклоняется от ! не более чем на с1р дБ в полосе частот 0<н<нш 0 с иосип < 1: АЧХ отклоняется от 0 не более чем на е1п дБ в полосе частот ич < ху < !. ФВЧ: 0 < не < ио < 1: АЧХ отклоняется от 0 не более чем на а!в дБ в полосе частот 0 <нс не.
0 < но < не < 1: АЧХ отклоняется от 1 не более чем на е1р дБ в полосе частот ип си< 1. Если пр и е1п слишком малы, то возможно, что построить такой фильтр не удастся. Возможно также задание и других параметров: граничной частоты пропускания ир и граничной частоты задержания нп весовой функции, а также параметра к, задающего отношение ошибок в полосах пропускания и задержания. Значение параметра вывода 'с!евдетп 11аете уже отмечалось. Для демонстрации возможности применения функции 1зес1в1 рассмотрим пример проектирования ВФЧ 60-го порядка по ланныла представленным ниже: и = бвг ио = О.ае е!р = 0.03; е1О = 0.01е Ь = Гзхота1 Пн ъо,е1р, Пз, 'Ь1<Ь', 'п1оаз' ! е Полученная АЧХ, представленная на рис.
3.33, наглядно показывает, что она укладывается в заданные нормы отклонений с1р и <1О. Чем меньше эти нормы„тем больше необходимый порядок фильтров. ме аае еееее Оеип теие ееееееее иир !!Гз яв Ой Ю!Г» Л ""! Ф 33 -"- О.а а О Ол Ог О.з ае Оа О.а Оз Оа, Од аха .а Оз О.Ы а Ом ал Ои Ол ааа аз а.за ае ае Оа а.а ае О.а аз .;е., Рис.
3.33. ЛЧХ ФВЧ с зааанен ехеее отклонениями О полосах пропусканиа и заларжаиип З.У. Средгтяа проектирования фильлз)зоа 22Р Еще одна функция Ь = 11т1а (П, Г, а, И [, ' Г ( гуре з ) ) Таблица 3.!. Типы фипыпрое, реализуемые функцией ГзНа ! Симметрия коэффициентов ~ Значения Н(0) Значения Н(!) Четная Ыь) =Цп з 2 — Ц ! Ь=),...,п+! ограничений Без ограничении Г" Н(!) =0 Четпаи Ь(Х) .= Ь(п з 2 — 1). 1 = ), ..., з! + ! оз рапи каши Нечетная Ь(1) = -Цзз + 2 — 1), Х= ), ..., от ! Нечетная Ь(Х) = — Ь(п+ 2 — Кк К=(,...,ззт! Н(0) = 0 Н(!) Н(0) = О ! Без ограничений В приведенном примере синтезируется фильтр Гильберта порядка 23 с трапецеилалыюй АЧХ„отсчеты которой заданы в векторах частот Г и значений А: Г= [ОО.