Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 40
Текст из файла (страница 40)
Считая импульсную характеристику вектором-столбцом, выражение для Й-го от- счета выходного сигнала можно записать следующим образом: у(я) - ц(я) Ь. При расчете разных отсчетов выходного сигнала используются соответствующие векторы ц()г). Для получения всего выходного сигнала отдельные строки ц(я) организуются в матрицу х(У) х(йг — 1) х(И -2) х(Аг -ь 1) х(Х) х(Аг — 1) х(0) х(1) х(М -1) х(М-2) ...
х(М-М) х(М) х(М-1) ... х(М-Жч.1) 0 х(М) ... х(М-Аг+2) 0 0 х(М) х(О) х(1) х(2) х(М) 0 0 0 х(0) х(1) 0 0 х(0) гг4 Глава 4. Дискретные системы Эта матрица называется машрицей свертки (сопчо)ц(1ои ша(Пх), а выходной сиг- нал' фильтра может быть получен путем матрично-векторного умножения: Вычисление матрицы свертки в МАТ) АВ производится с помощью функции сопчвсх, имеющей следующий синтаксис: 0 = сопчв(х(х, п) Здесь х — вектор отсчетов сигнала, и — размерность свертки (длина второго участвующего в свертке вектора).
Результатом работы функции является матрица свертки О. Ее размер зависит от ориентации вектора х: (3 если х — столбец, то матрица 0 имеет 1епООП(х) + и - 1 строк и и столбцов; О если х — строка, то матрица 0 имеет и строк и 1епдтп(х) + и - 1 столбцов. Нерекурсивный фильтр с импульсной характеристикой И с помощью матричного умножения может быть реализован следующим образом: у = сопчв1х(х, 1епОСП(И)) * И ь х.
у и П - столбцы у = П * сопчв1х(х, 1еи01щи)) « х. у и П вЂ” строки Однако такой вариант требует значительно большего расхода памяти, чем при использовании функций спич и й)сег. Позтому функцию сопчвСх следует использовать только для реализации каких-либо специфических алгоритмов обработки сигналов.
Приведем пример формирования матрицы свертки: » П = (1 2 3 4); » сопчвсх(П, 4) апз- 1 2 3 4 0 0 0 0 1 2 3 4 0 0 0 0 1 2 3 4 0 0 О 0 1 2 3 4 Как видите, по краям, там, где при фильтрации формируются «хвосты» сигнала, недостающие входные данные дополняются нулями. ЗАМЕЧАНИЕ Формирование матрицы свертки производится с номощыо функции Гоер))(х Преобразование способов описания дискретных фильтров Преобразование описаний дискретных фильтров между тремя вариантами — коэффициентами полиномов числителя и знаменателя функции передачи, наборами нулей и полюсов и параметрами пространства состояний — выполняется теми же шестью функциями, что и для аналоговых цепей (см.
раздел «Преобразование способов описания линейных цепей» главы 2). Единственная особенность их 225 Дискретная фильтрация в МАТСАВ использования в дискретном случае состоит в том, что векторы Ь и а, содержащие коэффициенты полиномов числителя и знаменателя функции передачи, должны иметь одинаковую длину.
Поэтому для удобства преобразования описаний дискретных фильтров в пакете В1япа1 Ргосезз1пя имеется функция ецтг1епрть, дополняющая нулями в конце более короткий из переданных ей двух векторов: [Ь). зц = еас[1елВГЬ(Ь, а); Что касается разложения на простые дроби, здесь преобразование дискретной системы несколько отличается от аналогового случая, поэтому для этого предусмотрена специальная функция гех1Вцег. Наконец, для дискретных систем имеет большое практическое значение последовательная, или каскадная, реализация, когда система представляется в виде последовательного соединения секций второго порядка (зесопб оп(ег зессгопэ.
Для преобразования описания дискретной системы в эту форму и из нее служат функции зоз2зз, зоз2тт, зоз2хр, зз2зоз, гр2зоз и тт2зоз. Кратко напомним имена и синтаксис функций преобразования, общих для аналоговых и дискретных систем: С) преобразование коэффициентов полиномов числителя и знаменателя функции передачи в нули, полюсы и коэффициент усиления: (г, р. ц = тагр[ь, а); (В преобразование нулей, полюсов и коэффициента усиления в коэффициенты полиномов числителя и знаменателя функции передачи: (Ь, а) = гр2ст[г, р, к); С) преобразование коэффициентов полиномов числителя и знаменателя функции передачи в параметры пространства состояний: [А, В.
С. О) - ьт2зз[Ь, а): а преобразование параметров пространства состояний в коэффициенты полиномов числителя н знаменателя функции передачи: (Ь, а3 = зз2тт[Я. В, С. О); 0 преобразование параметров пространства состояний в нули, полюсы и коэффициент усиления: (г р, к) - зз2гр[А, В, С, О); С) преобразование нулей, полюсов и коэффициента усиления в параметры пространства состояний: [А, В.
С. 03 = гр2зз(г. р. Х); Далее переходим к описанию функций преобразования, специфических для дис- кретных систем. Разложение на простые дроби Функция гег1Воег обеспечивает преобразование функции передаци дискретного фильтра в сумму простейших дробей и обратно (см. ранее в этой главе раздел вПолюсы и вычетыь). Ее отличие от функции гез1пце, которая осушествляет Глава 4, Дискретные системы такое преобразование для аналоговых систем, состоит в форме представления простейших дробей.
Для уяснения разницы между функциями гез1иие и гез(оиет полезно сравнить используемые ими формулы разложения. Для функции гез14ие это формула (2.12) (см. главу 2), для функции гез1 ииег — формула (4.10). Как уже говорилось, функция гез1((иег может выполнять преобразование в обе стороны. Требуемый тип преобразования определяется количеством выходных параметров: [г. р, ~] - гез)оиет(Ь, а) [Ь, а] - гез1ииег(г.
р, К) Здесь Ь и а — векторы коэффициентов полиномов числителя и знаменателя функции передачи соответственно, г — вектор вычетов, р — вектор полюсов, )( — вектор коэффициентов целой части функции передачи. Разложение функции передачи фильтра на простые дроби соответствует параллельной реализации фильтра (см. раздел «Параллельная формае). Каждой простой дроби соответствует рекурсивный фильтр первого порядка; выходные сигналы этих фильтров суммируются. В качестве примера разложим на простые дроби функцию передачи фильтра Баттерворта 3-го порядка, параллельная реализация которого была показана ранее на рис.
4.11: » [Ь, а] - Ьигсег(3, 0.4) Ь 0.0985 0.2956 0.2956 0,0985 а- 1.0000 -0.5772 0.4218 -0.0563 » [г. р, х] - гез1ииег(Ь. а) г- -0.6145 - 0.10961 -0.6145 + 0.10961 3.0777 р 0.2094 + 0.55821 0.2094 - 0.55821 0.1584 -1.7502 Как видите, постоянное слагаемое и вещественный полюс с вычетом соответствуют двум верхним ветвям схемы на рис. 4.11. Для пар комплексно-сопряженных полюсов и вычетов такое сравнение выполнить сложнее, ведь на рисунке они были скомбинированы в секцию второго порядка с вещественными коэффициентами. Чтобы получить коэффициенты этой секции, выполним с помощью функции гез1оиег обратное преобразование, задав в качестве входных параметров только эти пары полюсов и вычетов: » [Ь1, аЦ = гез1оиег(г(1;2), р(1:2).
П) Ь1 -1.2290 0.3798 227 дискретная фильтрация а МАТСОВ з1 1.0000 -0.4189 0.3554 Теперь видно, что результат объединения комплексно-сопряженных пар полюсов и вычетов соответствует секции второго порядка, показанной на рис. 4.11. ЗАМЕЧАНИЕ Хотя в последнем расчете не нужно было задавать целую часть функции передачи, иам пришлось указать соответствующий параметр в виде пустой матрицы. Без этого функция гея!Йцез це поймет, что мы хотим осуществить преобразование полюсов и вычетов в коэффициенты числителя и знаменателя функции передачи, а ие наоборот.
Функции, работающие с секциями второго порядка В разделе и Последовательная (каскадная) форма» мы уже говорили, что разбиение структуры фильтра на последовательно включенные блоки часто используется на практике. В том, что это действительно уменьшает проблемы, связанные с конечной точностью вычислений, нам предстоит убедиться в главе 7, а пока рассмотрим функции МАТ|АВ, работающие с таким представлением дискретных систем. Казалось бы, для создания последовательной реализации системы достаточно рассчитать ее нули и полюсы, после чего представить систему в виде каскадно включенных звеньев первого порядка.
Однако часть этих звеньев (или все) может оказаться с комплексными коэффициентами. По этой причине при каскадной реализации вещественных фильтров их делят на секции второго порядка (яесопд-огйег яесс(опя). При этом пары комплексно-сопряженных нулей и полюсов объединяются и образуют каскады второго порядка. Легко убедиться, что для расчета выходного сигнала вец(ественного фильтра второго порядка необходимо выполнить меньше операций, чем для расчета выходного сигнала двух последовательно соединенных комплексных фильтров первого порядка.
В пакете Б(яца! Ргосеяя(пя имеется шесть функций, осуществляющих преобразование описания дискретной системы между набором секций второго порядка и другими формами описания. Имена этих функций построены так же, как и имена других функций преобразования описаний систем; аббревиатура последовательной формы — яоя (яесопс(-огс[ег яесг(опя): (0 преобразование секций второго порядка в коэффициенты полиномов числителя и знаменателя функции передачи: [Ь, а) = яоя21т(яоя, д) (0 преобразование секций второго порядка в нули, полюсы и коэффициент усиления: [л, р, 13 - яоя2гр(яоя, д) а преобразование секций второго порядка в параметры пространства состояний: [А, В, С, О) - яоя2яя(яоя, д) С) преобразование коэффициентов полиномов числителя и знаменателя функции передачи в секции второго порядка: [яоя, д) = 112яоя(Ь.
а. 'огйег', 'яса)е') 228 Глава 4. Дискретные системы 0 преобразование нулей, полюсов и коэффициента усиления в секции второго порядка: ' (зов, д] - гр2зоз(т, р, 1, 'агсег', 'зсз)е') С1 преобразование параметров пространства состояний в секции второго порядка: (воз, д) - зз2зоз(А, В, С.