Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 64
Текст из файла (страница 64)
При отсутствии выходных параметров функция выводит графики импульсной характеристики и АЧХ рассчитанного фильтра. При этом с помощью дополнительного строкового параметра 'со)ог' можно задать цвет н тип линии, аналогично тому, как это делается в функции р1ос (см. раздел «Настройка внешнего вида графиковь приложения А): гсоз(!г(Р, и Т, гаСе. Т. 'Суре'. 'со1ог') Параметр 'со)ог' обязательно должен быть шестым по счету, так что опускать предыдущие параметры нельзя; для использования значений по умолчанию следует задавать пустые матрицы (П). Для расчета фильтра функция гсозТ! г вызывает функцию Т(ггсоз, предварительно преобразовав значения входных параметров к нужному виду. Функция гсовйг Функция гсоз! ! г вызывается функцией гсоз!пе для расчета рекурсивного фильтра с косинусоидальным сглаживанием АЧХ.
Синтаксис вызова функции следующий: [Ь. а, Тз) = гсоз!!г(Р. Ье1ау. гаСе, Т, Со1. 'Суре' ) Здесь Р— коэффициент сглаживания АЧХ. Это единственный обязательный параметр функции. Остальные входные параметры являются необязательными и имеют значения по умолчанию, которые используются, если при вызове в качестве параметра указана пустая матрица (П) или если несколько последних параметров опущено. Параметр бе1ау задает вносимую фильтром задержку, то есть положение пика импульсной характеристики. Величина задержки измеряется в символьных так- 348 Глава 6. Проектирование дискретных фильтров тах (то есть в лепестках импульсной характеристики) и должна быть целым по- ложительным числом.
По умолчанию задержка равна трем тактам (3*Т секунд). Параметр гаСе задаег коэффициент интерполяции, то есть число отсчетов импульс- ной характеристики, приходящееся на один ее лепесток (с параметрами, исполь- зуемыми в функции гсоз1пе, это соотносится следующим образом: гаСе = Рз/ГЬ), Этот параметр должен быть целым положительным числом. По умолчанию ко- эффициент интерполяции равен 5.
Параметр Т, по умолчанию равный единице, задает длительность символьного такта (эта величина является обратной по отношению к используемому в функ- ции гсоз1пе параметру ЕЬ). Значение этого параметра не влияет на рассчитывае- мую импульсную характеристику, оно используется только при расчете возвра- щаемой величины Тз и выводе графиков (см, далее).
Параметр Со1 определяет порядок синтезируемого фильтра. Указав целое поло- жительное число, можно задать порядок фильтра в явном виде. Если в качестве Со1 указано значение, меньшее единицы, оно задает относительную погрешность аппроксимации. При этом чем меньше Со1, тем больше порядок фильтра. Строковый параметр 'Суре' определяет тип рассчитываемого фильтра. По умол- чанию используется вариант 'погва1', соответствуюший обычному косинусои- дальному сглаживанию.
Чтобы рассчитать ЗЯБ-вариант фильтра, необходимо задать для этого параметра значение ' здгС'. Результатами расчета являются векторы коэффициентов полиномов числите- ля Ь и знаменателя а функции передачи фильтра, а также величина периода дис- кретизации выходного сигнала фильтра Тз. Этот период равен ТугаСе.
При отсутствии выходных параметров функции выводит графики импульсной характеристики и АЧХ рассчитанного фильтра. Прн этом с помошью дополни- тельного строкового параметра 'со1ог' можно задать цвет и тип линни, анало- гично тому, как это делается в функции р1оС (см. раздел «Настройка внешнего вида графиков» приложения А); гсоз1)г))). Ье1зу, гаСе. Т.
Со1, 'Суре'. 'со1ог') Параметр 'со1ог' обязательно должен быть седьмым по счету, так что опускать предыдущие параметры нельзя; для использования значений по умолчанию сле- дует задавать пустые матрицы ([]). Полученный в результате расчета рекурсивный фильтр приближенно аппрок- симирует импульсную характеристику, соответствуюшую косинусоидальпому сглаживанию АЧХ, Точность аппроксимации возрастает при увеличении вноси- мой фильтром задержки (параметр ))е) ау), Функция расчета рекурсивного фильтра Гильберта Расчет рекурсивного фильтра, аппроксимирующего преобразование Гильберта можно выполнить с помощью входящей в состав пакета Сопипшисавова функции Ь1)Ь1 тг, имеющей следуюшнй синтаксис вызова: [пол), Ьеп] - Ь11Ь11г(Сз.
)))у, Ьапеи1ЬСЬ, Со1): 349 Синтез дискретных фильтрав в МАТ(АВ Все входные параметры функции являются необязательными и имеют значения по умолчанию. Параметр 1з задает интервал дискретизации входного сигнала фильтра. По умолчанию используется значение 2/7 с. Параметр 61у задает вносимую фильтром групповую задержку. Ее значение должно как минимум в несколько раз превышать величину периода дискретцзации Ьз. Рекомендуется также выбирать соотношение между зтимн двумя параметрами так, чтобы значение 61у было равно палуцелажу числу интервалов Ьз (то есть гев(61у, Ьз) Ьз/2). Например, можно взять 1з равным 2"61у/М, где М вЂ” положительное нечетное целое число.
По умолчанию групповая задержка равна Ьз*7/2. Параметр Ьапби!6ТЬ залает предполагаекиую полосу частот входного сигнала, позволяя функции использовать дополнительный фильтр-компенсатор, чтобы в полосе частот сш пала приблизить козффициент передачи синтезированного фильтра к идеальному. Если значение Ьапби!61Ь равно нулю или превосходит 1/(2*Ьз), то компенсатор пе используется. Если параметр 161 превышает единицу, он задает порядок рассчитываемого фильтра (по умолчанию — 4). Если Ьо1 < 1.
значение зтого параметра залает допуск, используемый при синтезе фильтра методом разложения по сингулярным числам. По умолчанию зтот допуск ранен 0,05. Результатами работы являются векторы коэффициентов числителя пав и знаменателя 6еп функции передачи рекурсивного фильтра. Функци|о можно вызвать с четырьмя выходными параметрамп, тогда будут возвращены параметры фильтра в пространстве состояний; (А, В, С, 0! = Ь11Ь!!г(..й: При отсутствии выходных параметров функция строит графики импульсных характеристик синтезированного и идеального фильтров Гильберта. Расчет фильтра производится следующим образом.
Сначала рассчитывается импульсная характеристика идеального фильтра Гильберта с задашюй групповой задержкой. Затем выполняется аппроксимация втой импульсной характеристики методом разложения соответствующей матрицы Гапкеля по сингулярным числам. Функции минимиэации среднекаадратической ошибки В пакете В(йпа! Ргосезз!пй имеется три функции, реализующие синтез иерекурсивных фильтров по критерию минимального квадратического отклонения АЧХ от заданной.
Функция Т(г1з аппраксимирует произвольную кусочно-линейную АЧХ с переходными (незаданными) полосами. Остальные две функции выполняют оптимизацию с ограничением максимального абсолютного отклонения АЧХ от заданной. Функция (1гс1з реализует произвольную кусочно-постоянную АЧХ, а функция Т! гс1з1 прелназначена для синтеза ФНЧ и ФВЧ. Функция Яг!8 Функция Т!г1з предназначена для синтеза перекурсивных фильтров с линейной ФЧХ по критерию минимальной средцеквадратической ошибки воспроизведе- ЭБО Глава 6. Проектнроевнне дискретных фильтров ния заданной АЧХ в заданном наборе частотных полос. При этом ошибка в разных частотных полосах может учитываться с разными весовыми коэффициентами.
Синтаксис вызова функции следующий: Ь - Г)Г1з1п, Г, з. и, '11уре') Здесь и — порядок рассчитываемого фильтра (его импульсная характеристика будет содержать п -ь 1 ненулевых отсчетов). Параметры 1 и а должны быть векторами одинаковой четггой длины, опи совместно определягот желаемую АЧХ синтезпруемого фильтра. Вектор т содержит значения частот, нормированные к частоте Найквиста, а вектор а — соответствующие этим частотам значения АЧХ. В промежутках между заданными точками АЧХ интсрполируется по линейному закону. Частоты в векторе Г должны образовывать неубывающую последовательность, однако, в отличие от функций 11г2 и уц1ена1)г, ограничений на первый н последний элементы вектора Г не накладывается.
Синтезируемая АЧХ определяется с помощью векторов 1 н а следующим образом: 0 в полосах частот от у(2Ь вЂ” 1) до Я2Й) АЧХ линейно меняется от а(2Й вЂ” 1) до а(2Ф). Здесь Ь вЂ” целые числа от единицы до половины длины вектор<>в 1 и а; С] в полосах частот от г(2Ь) дог(2Й ь 1) АЧХ считается не заданной и в процессе синтеза может оказаться произвольной. Вывестп график синтезируемой АЧХ можно следующей командой; » р1ат(гезпаре(г.2.1епртп(1)/2), геэйаре(а.2,1епртв(а)г2). 'Ь') ЗАМЕЧАНИЕ Если пс запать он он й пест ля юг й при пудптел ьно с помощью строки 'Ь', отдельные линейныее фрагменты будут выводиться разными цветами. Для фильтров, коэффициент передачи которых на частоте Найквиста не равен нулю, возможен только четный порядок. Если задать нечетное и, будет рассчитав фильтр на единицу большего порядка. Остальные параметры функции являются необязательными.
Параметр н задает весовыс коэффициенты для оптимизируемых частотных полос. Этот параметр должен быть вектором, длина которого вдвое меньше, чем длина векторов 1 и а, и содержать неотрицательные вещественные числа. В тех частотных полосах, которым приписаны большие весовые коэффициенты, будет обеспечена меньшая ошибка воспроизведения заданной АЧХ. По умолчашию все весовые коэффициенты считаются одинаковымги. При отсутствии параметра 'Гтуре' производится расчет фильтров с симметричной импульсной характеристикой, лля которой Ь(Ь) = Ь(и -ь 2 — Ь), Если использовать параметр ' 11уре', становится возможным синтезировать фильтры с анти- симметричной импульсной характеристикой, когда Ь(Ь) = -Ь(н -ь 2 — й). Данный параметр может принимать одно из двух строковых значений: 0 'М1Ьегт' — синтезируется фильтр с антисимметричной импульсной характеристикой.
Название данного режима объясняется тем, что такую характерн- З51 Синтез дискретных фильтров в МАТЬАВ стику, в частности, должен иметь фильтр, реализующий преобразование Гиль- берта (см. раздел «Дискретное преобразование Гильберта» главы 4); С) 'ЙИегепс18Сог' — синтезируется фильтр с антисимметричной импульсной характеристикой и, кроме того, при расчете взвешенной ошибки дополнительно используется весовой множитель 1//"', В результате ошибка воспроизведения АЧХ на низких частотах будет намного меньше, чем на высоких. При синтезе дифференцирующего фильтра, АЧХ которого пропорциональна частоте (см.
раздел «Свойства преобразования Фурье» главы 1), это означает минимизацию относительной ошибки воспроизведения заданной АЧХ. Результатом работы функпии является вектор Ь коэффициентов нерекурсивного фильтра. Рассчитанный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную и/2 отсчетов. Расчет фильтра производится следующим образом. Минимизация взвешенной средпеквадратической ошибки воспроизведения заданной АЧХ приводит к системе линейных уравнений относительно коэффициентов фильтра. Порядок системы с учетом симметрии коэффициентов составляет примерно и/2. Составленная система решается с помощью оператора левого матричного деления т. В процессе решения возможна выдача предупреждения «Магпх 1з с1озе го знтяц1аг ог Ьас)!у зса!ег)» (матрица близка к сингулярной или плохо масштабирована).