Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 38
Текст из файла (страница 38)
Эту операцию выполняет функция: (и, Ь] Гира (Ь,а(,и, Га]) гира (Ь,а) (ира (...) В первой форме она возвращает векторы импульсной характеристики Ь и времени (. Можно задать дополнительно число отсчетов и и частоту дискретизации 8. При задании и вектор времени определяется как ( = (О:п — Ц'. Без выходных параметров функция строит график импульсной характеристики. Следующий пример строит первые 25 отсчетов импульсной характеристики фильтра Бат(ерворга 4-го порядка с частотой среза 0.3: (Ь, а] - Ьиеаек (а, . З) г ( ра(Ь, а, ЗЗ) Построенная импульсная характеристика представлена на рис.
З.б. Обратите внимание на стиль построения этой характеристики — каждый отсчет ее представлен вертикалью, увенчанной кружком. Рис. З.б. Импульсная характеристика фильтра 3.1.9. Построение частотных зависимостей — ггес]хр!ое Новая функция построения частотных зависимостей гхецар1ое(ь,м(,з) ) предоставляет расширенные возможности по созданию хорошо иллюстрированных графиков.
В простейшем виде гхег]а(л1ое(Ь,и) она строит АЧХ и ФЧХ по Глава 3. Фильтрация сигналов данным вектора зависимости Н(г) с указанием спецификации частоты Г. Дополнительный параметр з — строка, задаваемая по типу записи: а.хип1ьв — спецификация оси частот со значениями: 'гад/зап)р[е' (по умолчанию), 'Нг', '](Нг', 'МНг' и 'СНг'. в.
упп1ьв — спецификация масштаба вертикальной оси со значениями: 'дВ' (по умолчанию), '1(пеаг' (линейный) и 'з([пагод' (квадратичный). в.р1оь — спецификация типа графика: 'ьо(ь' (по умолчанию, выводятся оба графика — АЧХ и ФЧХ), '(пая' (только АЧХ) н 'р1)азе' (только ФЧХ). В приведенном ниже примере строятся для сравнения АЧХ двух фильтров Чебышева типа сйеЬу! четвертого порядка с разными граничными частотами: пГГС = 512) Гв = 44.1( [Ь1, а1] = опеЬу1 (4, 0 . 2, О .5); [Ь2, а2] = опеЬу1 (4, 0.2, 0 .
6); [ь1,г,а] = гоечв(ь1,а1,пггс,Га)г ь2 = гхечв(ь2,а2,пггь,га)( ь = [ь1 ь2]; в.р1оь = 'пас'( в.хопььв = 'хьв'( в.уопььа = '11пеах': Гтечвр1оь(ь, г,в)( Построенные по этому примеру графики двух АЧХ представлены на рис. 3.7. Они позволяют провести наглядное сравнение двух фильтров. .ф-;ча(::,;,,; ]в] х] яь'аль*:.ваеи еп,:тем;яви ',ива Рис. 3.7. Сравнение АЧХ двух фильтров Чебышева 3.1.10. Построение нулей и полюсов — гр!апе Комплексная АЧХ часто характеризуется своими нулями и полюсами.
Нули это корни числителя передаточной характеристики, а полюсы — корни знаменателя ее. Нули и полюсы принято представлять на комплексной плоскости. Для этого служит функция: [Ьв,пр,пг] = хр1апе(х,р) гр1апе(Ь,а) хр1апе(х,р) 3.1. Построение характеристик фильтров В первой форме записи она строит знаками 'о' нули, а знаками 'х' полюса, используя данные о них в векторах х и р. Ддя изменения масштабов можно применять команды: ахха([хвьп ивах увтп увал]) аес(т]са, ' у11в', [увтп увах]) аее(оса, 'х11в', [хвхп хвах]) Во второй форме функция вычисляет нули и полюса по заданным векторам а и Ь, представляющим коэффициенты полиномов знаменателя н числителя О(е). В третьей форме функция создает векторы с указателями на нули Ьх, полюса Ьр и текстовые объекты Ьс.
Помимо нулей и полюсов, пунктирными линиями строятся координатные оси и окружность единичного радиуса. Это поясняет приведенный ниже простой пример: [ь,а] ьпссес(15,0.2)т хр1апе(ь,а]т Построенные по нему нули и полюса для фильтра Баттерворта !5 порядка с частотой среза 0.2 представлены на рис. 3.8. Рис. 3.8. Нули и полюса Фильтра 3.1.11. Вычисление второй нормы фильтра — 1]]тегпопп Функция 111сеспогв (Ь, а) вычисляет вторую конечную норму ([.2) цифрового фильтра с передаточной характеристикой, имеюшей коэффициенты числителя ь и знаменателя а.
Функция 111сеспогв(Ь, а, рг1оттп) вычисляет внюрую бесконечную норму цифрового фильтра с параметрами ь, а и рпоттс (от 2 до [и]). Глава 3. Фильтрацию еигиалав 211еегпогпз(ь, а, 2, со1) — вычисляет вторую норму дпя фильтра с БИХ с заданной погрешностью (о1 (если (о! не указать, будет использовано значение по умолчанию 1е-8). Примеры: [Ь, а) =ъпссет (5, . 5) з 12=211тетпотм(Ь,а,2,1е-10) 12- 0.7071 Ь=тетпех(30,[.1 .9),[1 1).'Нз1Ьетт')з Ььптьв11тетпогм(Ь,1,1пг) 11пГ 1.0028 3.2. Базовые функции фильтрации 3.2.7.
дискретная одномерная фильтрация — ааег Функция 211сек служит для моделирования фильтрации фильтром прямой формы П вЂ” рис. 3.9. зтвз) у(пз) Рие. 3.9. Структура циФрового фильтра прямой формы П Такая модель фильтра описывается следующей системой конечно-разностных уравнений: у(т) = (Ь(1)х(т) + 2((т — 1))/а(1) 2((т) = [з(2)х(т) + 21(т — 1) — а(2)у(т) 2 з(т) = [з(п — 1)х(т) + 2„((т — 1) — а(п — 1)у(т) 2„((т) = [з(зз)х(т) — а(п))(т) При вычислениях система нормализуется делением на а(1) . Задание а П) 0 недопустимо и ведет к сообщению об ошибке.
Функция 211сег имеет следующие формы записи: у Г11сет(Ь,а,х) [у,хе) Г11тет(Ь.а,х) [...1 - 211еет(Ь,а,х[,гт,с(1пз)) Параметр х может быть вектором, матрицей (двумерным массивом) и многомерным массивом. Если х матрица, то выполняется фильтрация по столбцам. 3.2. Базовые функции фильтрации 193 В случае, когда х представлен многомерным массивом, фильтрация начинается с первой отличной ат 1 размерности. Результат фильтрации размещается в у.
В параметр ет заносится вектор состояния. Параметр г1 позволяет задавать начальные условия, а параметр с)згя служит для задания размерности многомерного массива. В представленном ниже примере задано вычисление 60 точек импульсной характеристики цифрового фильтра 10-го порядка: х = [1 хегоа (1, 59) ) ) [Ь, а) Ъие(.ег (10, . 4); у = г11еег(Ь,а,х) г агем(у) График полученной импульсной характеристики показан на рис. 3.10.
и =.~. " Рис. 3.10. Импульсная характеристика, полученная с помощью функнии Гй(сг 3.2.2. Дискретная двумерная фильтрация — б)еег2 Дискретная двумерная фильтрация реализуется функцией у = Г11гег2(В,Х[,'сааре')). Она отличается от одномерной фильтрации тем, что обрабатывает двумерные массивы.
В процессе работы этой функции используется функция двумерной свертки сопк2. Двумерная фильтрация применяется, в основном, при обработке изображений. 3.2.3. Цифровая фильтрация без фазовых искажений — %[тНИ Фазовые искажения существенно искажают сигналы после фильтрации, Однако в цифровых фильтрах есть простой способ исключения фазовых искажений. Он заключается в том, что исходная последовательность фильтруется дважды — вначале в прямом, а затем в обратном направлениях. При этом порядок Глава 3.
Фазыв)всция сигвазоз фильтра увеличивается вдвое. Этот метод фильтрации реализует функция у Г11СГ11С (Ь, а, х) . 3.2.4. Цифровая фильтрация решетчатым фильтром — 1атс[[]1 Решетчатыми (или гребенчатыми) фильтрами именуют фильтры. АЧХ которых имеет вид отдельных узких выбросов. Функция 1ассг110 служит для фильтрации данных в векторе или массиве х решетчатым КИХ-фильтром с коэффициентами, заданными в массиве к.
Функция имеет следующие формы записи: [Г,д] = 1аесх11С(х,х) [Г,д) - 1аесг11Е(х,у,х) (Г,д] = 1аесе11Е(К,],х) [х,д,ас) 1аЕСГ11С(..., '1С',Зу) Она в массиве Г возвращает результаты фильтрации в прямом (Го(судн)) направлении, а в массиве я — в обратном направлении. Правила фильтрации в зависимости от представления х и к (векторы или матрицы) уже обсуждались. В саной из форм задаются цепные коэффициенты з.
Ввиду редкого применения этой функции ограничимся представленным вьппе описанием. 3.2.5. Одномерная медианная фильтрация — гпес)0[11 Для фильтрации данных, находящихся в векторе х, медианным. фильтром и-го порядка используется функция у = вес]111С1 (х, и [, Ь1)свв) ) . Размер массива у равен размеру массива данных х. При нечетном и выход у (к) определяется как медиана последовательности х(([с — (и — 1)/2): ([с+(и — 1)/2)), а при четном как медиана последовательности х(([с — и/2): (]с+ и/2 — !)). параметр ь1)свх задает размер блоков при блочной обработке, нередко ускоряющей вычисления. По умолчанию задается ь1кзх=1епдсь(х).
Данная функция используется редко и даже в справке по ней примеры не приводятся. 3.2.6. Фильтрация фильтром Савицкого — Голея — аяо]ауг[11 Сглаживающие полиномиальные фильтры Савицкого — Голея широко используются для очистки сигналов от высокочастотных шумов. В них данные разбиваются на кадры, которые аппроксимируются полиномами, коэффициенты которых (в векторах 1с и () подбираются по критерию минимума среднего квадрата отклонения. Фильтрация такими фильтрами реализуется функцией у здо1аус11С(х,х, Г[,з]] Вектор н позволяет„при необходимости, задать весовые коэффициенты фильтрации.
Приведем наглядный пример применения этой функции: 1оас] вс1Ь] звс1Ь вдо1аус11С(ве1Ь,3,41)с зоьр1ое(2,1,1)] р1ос([1с2000),ве1Ь(1с2000))] ахсз([0 2000 -3 3))] Сав1е('ве1Ь')] дгывс зиьр1ое(2,1,2] р1ое [[1 с2000), зве1Ь(1с2000) ) с ах1з ([О 2000 -3 3) ]: ссс1е ( ' звс1Ь' ) с дгзс] В этом примере фильтруется тестовый зашумленный звуковой сигнал, считываемый из файла пп1Ь, Все это делается уже в первой строке примера. Остальные 195 5.5. Преобразование анисаний линейных систем Рис.
З.п. Исходный и очищенный от шума сигналы строки строят исходный и очищенный от шума сигналы в разных подокнах одного графического окна — рис. 3. ! !. 3.2.7. Фильтрация каскадным фильтром — воваа Функция у = нонст1г Гаон х) выполняет фильтрацию сигнала в векторе или матрице и (в последнем случае по отдельным столбцам) биквадратичным каскадным фильтром с БИХ. Передаточная характеристика такого фильтра может быть предетавлена произведением передаточных характеристик его звеньев, и при числе звеньев второго порядка и требует для хранения параметров фильтра матрицу в, содержащую ь строк и 6 столбцов.
Полный вид передаточной характеристики этого фильтра и матрицы ноа можно найти ниже в разделе вФункции представления линейных систем в пространстве состоянийэ, Массив у имеет тот же размер, что массив исходных данных. Если массив х — матрица, обработка ее идет по столбцам. 3.3. Преобразование описаний линейных систем Пакет Яапа! Ргосезз)па имеет ряд функций преобразования онисаний линейных моделей дискретных и непрерывных систем. Большинство из этих функций просты и их применение вытекает из названия функций. В связи с этим ограничимся описанием нескольких наиболее важных функций и перечислим остальные.