Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 45
Текст из файла (страница 45)
О.Е О.т О.ЭИ( Х= [О С(10 О)( Ь = Гзт)в(25,Г,А, 'из1Ьетт'); [И,Г! =- (точа(Ь,1,512,2) з аоьр1ое (1,, 1) з р1ое (е,оьа (и) ) зьо1е[ агг Полученная АЧХ фильтра представлена на рис. 3.34. 3.9.6. Расчет косинусного фильтра — Вггсов Косинусный фильтр это фильтр, окно сглаживания которого )('(оз) имеет вид одного положительного полупериода косинусоидальпой функции. Такие фильтры широко используются в телекоммуникационных устройствах, например для формирования спектра при квадратурной манипуляции. Для расчета косинусного Фильтра с КИХ служит Функция Вггсок ()зункция Ь = 11тзсоа (и, ГО, г)(, Га) или эквивалентная ей Ь = 11ттаов (и, Го,е[Г, Га, 'Ьапе[иЫ(Ь') возвращает вектор коэффициентов косинусного фильтра с КИХ и линейной ФЧХ при заданных параметрах: порялке фильтра и, го — частоте среза (от О до тв/2), ширине переходной области дг (выбирается из условия, Ос во+ею/2 < гв/2) и 1в — частота дискретизации (в Гц).
В варианте Ь = т(тесов (и, ГО, е[1) также использует метод наименьших квадратов для построения Фильтра с КИХ и линейной ФЧХ для заданной ЛЧХ самой разнообразной Формы. Последняя зчшается по уже описанным правилам векторами частот 1 и значений нужной АЧХ а. В векторе и можно задать веса для аппроксимации АЧХ, причел( число элементов ВЕКтОра и раВНО ПОЛОВИНЕ ЧИСЛа ЭЛЕМЕНТОВ ВЕКтОра Е. ПараМЕтр ' геуро ' ПОЗВОЛЯЕт ЗадатЬ тнП ФИЛЬтра: Ь11ЬЕтг дпя СИНтЕЗа фИЛЬтрОВ ГИЛЬбсрта тИПа ()! И )з( С линейной Фазой и нечеткой симметрией и ((1ггегепг(асог (ФЦЛЬтр С ЛЧХ, линейно нарастающей с частотой).
В табл. 3.! представлены типы ()зильтров, которые могут быть реализованы с помощью алгоритма, заложенного в Функцию 11 г1в. Глава 3. Фильтрация сигналов ии ии иеи аии| тьаь )иьааи-,ннр и е . Ол "ая О.а 04 Ол О.а ' ал па О.э ( Рис. 3.34. Трапецеидальиан АЧХ фильтра Гильберта 25-го парилка частота Гз=2 Гц по умолчанию. В варианте (Ь,а) = Гтттооа(...) возвращается параметр а= !. Функция Ь = Ггттооа (..., '(уре', е)а1ау,итат)ои) позволяет задать ряд параметров: ' туре' — тип фильтра в переходной области, г)е)ау — время задержки от 0 до и + ), игпт)ои — окно для уменьшении пульсаций АЧХ (вектор из и+ ! элементов). По умолчанию используется прямоугольное окно.
Параметр '(уре' может иметь два значения: поти)а1 — ПЕРеходная область АЧХ описывается функцией косинуса и аг(тс — она описывается квкпратным корнем из косинуса. Следующий пример задает построение косинусного ФНЧ порядка и = )5, с частотой среда 0.3 от частоты Найквиста и шириной переходной области 0.3: и = Ггттооа (15, Е. 3, Е. 3) ) итачи (Ь,! ) Полученные ЛЧХ и ФЧХ представлены на рис. 3.35. 3.9.У. Расчет интерполирующего фильтра — )птт)(т Нередко возможно применение фильтров для интерполяции си~палов, т. е. вычисления их значений в промежутках между отсчетами.
Для расчета коэффициентов интерполируюшего фильтра используется функция Ь - гпегггт(т,г,агриа) 231 3.9. Средства проектирования фильтров Рис. 3.35. АЧХ и ФЧХ косииусиого фильтра ! 5-го порядка Она позволяет выполнять интерполяцию по 2ь отличным от нуля отсчетам последовательности, в которой между каждыми г отсчетами исходной последоаательности размещено г — 1 нулевых отсчетов.
Полоса частот исходного сигнала должна быть ограничена частотой а1риа*на, где угн — частота Найкаиста. Функция Ь 1птй1)с(с,п,'Ьасгапче') выполняет интерполяцию с помощью полинома Лагранжа и-го порядка. При четном п вектор Ь содержит (п+1) с элементов, а при нечетном — (и+1] *с-1.
Теперь рассмотрим пример на применение функции ьпье11ь. Зададим для с=4, 1=2 и а1рЬа =-0.5 интерполируюший фильтр: Ы= ьпсг11с (4, 2, О. 5) ( Теперь, используя функции е11ьег и ьь 1, создадим вектор случайных отсчетоа сип)ала с ограниченным частотныл( диапазоном: сапоп('агате',О) х Г11еес(бъс1 (30, 0.5), 1, кепс(п (200, 1) )( Встааил( после каждого отсчета по г — ] = 3 нуля: хс сеаЬаре((х хасса(1епОСЬ(х),З)]',4*1епОСЬ(х), 1)г Заметим, что при этом размер вектора хг станет а 4 раза больше размера х.
Выполним интерполяцию и построим ~рафики преобразованного и исходного сигналов: у = Шеес(Ь1,1,хс) ) р1ое (100:200,у(100:200),7~ (101:4:195),х (2бг49), 'о') Глава 3. Фильтрация сига<алов Для обеспечения их совпадения на точках исходного сигнала выходной сигнал с~роится с задержкой на 7 тактов. Рис. 3.36 показывае~ графики сигналов. гах аа< хан <лип тлал ахп<лн Нса )ива(й(Гх д л лйв)в- <.а 'ио па <гл <зо иа ио ии <го <ао <и лло Рис.
3.36. Графики исходного сии<аль и сигнала, полученного интерполяцией Нетрудно заметить, что полученный интерполяцией сигнал точно совпадает с исхолным в выбранных случайных по уровню точках. Интерполяция сигнала позволяет увеличить или уменьшить число его отсчетов. Однако надо помнить, что дли этого есть специальные функции песу<лате, 1птетр и теааер1е, использующие, в сущности, описанный выше подход. 3.9.8. Использование окна Кайзере — (са(вегогд Для построения фильтра с КИХ, использующего окно Кайзера, служит функция Ка1ветотс: <п,ип,ьеса,<туре) =- хатаетотг)(г,а,г)еч(,та)) с = Хаьаетота(Г, а,г)еч, Еа, 'се11') В первой форме записи она вычисляет параметры, нужные для применения функции г(т1 с окном Кайзера: порядок фильтра и. вектор нормализованных частот для полос фильтра нп, параметр окна ьета и указатель типа фильтра гтуре (его возможные значения были указаны при описании функции Г1ст1).
В качестве входных параметров задаются; вектор граничных частот фильтра Г, вектор значений АЧХ а и вектор заданных максимально-допустимых отклонений с(еи Размер вектора г составляет 1еппьь (г) =2*1еп<3тл (а) -2„а размер вектора с(е<г равен размеру вектора а. Возможно задание частоты выборки га (по умолчанию она раи<а 2 Рц). Во второй форме записи функция возвращае~ выходные параметры в массиве ячеек с. 3.9. Средство проектирования фильтров После получения необходимых параметров функцией кадветотй можно ис- ПОЛЬЗОВатЬ фуНКцИЮ 21т1 В СЛЕдуЮщсй фера<Е: Ь = 2121 (и, Ии, КО1вет (и < 1.
Ьеса), стуре, ' говса1е ' ) Это обеспечивает создание фильтра с КИХ и с заданными свойствами. Для иллюстрации этого спроектируем си<<ичный фильтр телефонного сигнала, полоса пропускания которого находится в пределах от 500 до 3000 Гп, Зададим параметры фильтра: Евамр = 10ОСО) Гсшв = [ЗОС 500 ЗССС 3200]< мачв [О 1 0]) »)е»»в =- [О.С1 0.05 0.01)) ТЕПЕРЬ ОПрЕдЕЛИМ ПараМСтрЫ фИЛЬтра 1121, удОВЛЕтВОряЮщнс ЗадаННЫМ трсбованиям: [и,ии,ьеса, стуре) = ка1ветотв»<гсосв,мачв, г<еув. гвагр) После этого спроектируем филтр с помощью функции йг! и построим график его АЧХ: п = и + тем(и,2) < ии — — 2121 <и,ии, стуре, катает <и 1,ьеса), 'иовса1е') ) [Н, 2] = гтеяа (ЬЬ, 1, 1024, Евамр) < р1ог <(,аЬв <Н) ), Чг1с си Полученная в результате проектирования АЧХ показана на рис. 3.37.
Нетрудно заметить высокое качество спроектированного фильтра. Однако надо заметить, что порядок фильтра оценивается приближенно. Иногда полезно его изменить в ту или иную с горону для достижения заданных требований к АЧХ. ьи, у» ими тм<у иа»ми и»)» ::~фей»~,аПь< а л ~!)в)3 о аа О ...,., О ' *" ,' 'Д)О ЮОО <ООО 2ООО 2<ОО ЭООО ЭООО ОООО 4%О ОООО гис. ЗЗ7. Полосоаой фильтр телефонного сигнала, полученный с помощью функиии йг! с применением окна Кайзера Глава 3. Фильтрация сигналов 3.9.9. Проектирование фильтров Ремеза — геп)ев и гепзехог(] Для проектирования фильтров методом Паркса — Мак-Клеллана служит функция тепет. Она имеет много форм записи, сводящихся к приведенным ниже: Ь = тепет (и, Г,а,и[, 'Гс.уре') ) Ь =- тепея (..., (10ттс)) ) Ъ = тепея (и, Г, ' Гтеяр', и[, ' Гяуре'] ) Ь = тепея(п, Г, ( 'Гтеяр',р1,р2,... ),и[, 'Гтуре') ) [Ь,с)е1та] = тепея (...) [Ь,с(е1та,орт] = тепеа(...) В основе этого метода лежит применение обменного алгоритма Ремеза и аппроксимация по Чебышеву.
Это позволяет реализовать фильтры, которые относятся к теоретически не реализуемым, например фильтры Гильберта. Во всех формах записи функции тепея возвршцается вектор-строка ь с и+1 коэффициентами фильтра с КИХ порядка и. АЧХ этого фильтра является наилучшей и позволяет получить минимум максимальных отклонений от исходной АЧХ, задаваемой векторами частот 1 и значений АЧХ а. Коэффициенты вектора Ь удовлетворяют условиям симметрии Ь(К) =Ь(п+2-К), К=1,...,п(1. Правила задания и назначение входных параметров для вариантов функция тепех мы уже неоднократно описывали. Обратите внимание на то, что здесь доступны реализации фильтров, отмеченные в табл. 3.1.
В прелставленном ниже примере конструируется фильтр Ремеза 40-го порялка, дающий наилучшую АЧХ трапецеидальной формы: Г = [О 0.2 0.3 0.5 0.7 1); а = [О 0 1 1 0 О]с Ь = тепея (40, Г, а) ( [Ь,и] =. Гтеяя (Ь, 1, 512)( р1от!Г,а,и/рг,аЬя(Ь)); 1еоепс)('1с)еа)','тепет и;-40') Эта АЧХ представлена на рис. 3.38. Поскольку в данном случае использована аппроксимация по Чебышеву, то в полосах пропускания и задержания можно наблюдать характерные колебания АЧХ с равной амплитудой. Нередко встает вопрос о проектировании оптимального фильтра, т, е фильтра, удовлетворяющего заданным требованиям при минимальном порядке и.