met_r_02 (557391)
Текст из файла
Синтез и анализ цифровых фильтров с использованиемпрограммного пакета MatLabСодержание1. Начало работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12. Ввод коэффициентов передаточной функции и построение графиковчастотных характеристик аналогового фильтра-прототипа . . . . . . . . . . . . .13. Нули и полюсы аналогового фильтра-прототипа и их преобразованиев коэффициенты передаточной функции .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 34. Расчёт аналогового фильтра-прототипа по заданным требованиям кего характеристике затухания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45. Нахождение передаточной функции цифрового фильтра поаналоговому прототипу методом билинейного z-преобразования иметодом инвариантной импульсной характеристики . .
. . . . . . . . . . . . . . . . 66. Структуры цифровых фильтров и соответствующие им алгоритмыцифровой фильтрации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97. Просмотр характеристик синтезированного цифрового фильтра . . . . . 198. Синтез цифрового фильтра с использованием программы fdatool . . . . 209. Исследование влияния квантования сигналов и коэффициентовфильтра на характеристики фильтра . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 2310. Моделирование работы цифрового фильтра . . . . . . . . . . . . . . . . . . . . . . . . . 291. Начало работыПроизведите загрузку системы MatLab. Откроется командное окно(Command Window). Вы будете иметь возможность работы в интерактивномрежиме, вводя операторы после значка >>. Кроме того, в командном окнеможно ввести указанное в текущем каталоге имя той или иной программы,которой затем будет передано управление. Для очистки командного окнаиспользуется команда clc.2. Ввод коэффициентов передаточной функции фильтра ипостроение графиков частотных характеристик аналоговогофильтра-прототипаПередаточная функция аналогового прототипа задаётся в виде:K( p ) :=+ b 1⋅ pm− 1+ ....
+ b ma 0⋅ p + a 1⋅ pn− 1+ .... + a nb 0⋅ pmn,m ≤ n.(1)-2Для построения графиков АЧХ и ФЧХ нужно ввести векторы b и aкоэффициентов передаточной функции, а затем вызвать подпрограммурасчёта комплексной частотной характеристики и построения графиков.Пусть, например, m=1, n=2, b0=2, b1= -1, a0=1, a1=3, a2=2.5. В интерактивномрежиме вводятся следующие операторы:>> b=[2 –1];>> a=[1 3 2.5];>> freqs (b,a)Элементы векторов разделяются пробелами и заключаются в квадратныескобки.
После ввода вектора ставится точка с запятой, а затем следует нажатьклавишу <Enter>. После оператора freqs(b,a) точка с запятой не ставится,ввод тоже следует завершить нажатием клавиши<Enter>. Командызапоминаются, и их можно воспроизводить, пользуясь клавишамиуправления курсором: ↑ и ↓. Будут построены графики АЧХ и ФЧХ (АЧХ влогарифмическом масштабе, но без пересчёта в децибелы, ФЧХ в градусах).По умолчанию выбираются 200 частот, логарифмически равномернораспределённых в диапазоне от 0.1 до 10.Если нужно построить АЧХ в линейном масштабе, в ином диапазонечастот, ФЧХ в радианах и с устранением скачков на 2πk радиан, то следуетввести следующие операторы (пусть, для примера, границы частотногодиапазона от f1=100 Гц до f2=1000 Гц, число расчётных точек N =451):>>>>>>>>>>>>>>>>f=100:(1000-100)/450:1000;b=[1 0 7.971e6];a=[1 7.427e2 1.501e6 5.536e8];k=freqs (b,a,f*2*pi);subplot (2,1,1)plot (f,abs(k)/max(abs(k))), gridsubplot (2,1,2)plot (f,unwrap(angle(k))), gridПри вводе строки subplot (2,1,1) появится графическое окноFigure No.1.
Его нужно сместить, чтобы оно не загораживало командноеокно, или временно свернуть. В последнем случае, по окончании вводаоператоров нужно развернуть графическое окно, чтобы увидеть графики.График АЧХ аналогового фильтра-прототипа можно использовать длянахождения частоты дискретизации Fs. Например, может быть задано, чтоАЧХ на частоте Fs/2 должна достигать определённого уровня.
Длядетального рассмотрения нужной части графика рекомендуется использоватьинструменты изменения масштаба (уменьшение, увеличение), имеющиесяна панели инструментов графического окна.- 3-3. Нули и полюсы аналогового фильтра-прототипа и ихпреобразование в коэффициенты передаточной функцииЕсли вам известны нули и полюсы аналогового фильтра-прототипа, а некоэффициенты передаточной функции, то прежде нужно ввести нули иполюсы, а затем преобразовать их в коэффициенты, используя специальнуюфункцию преобразования, имеющуюся в MatLab. Далее можно построитьграфики частотных характеристик. Например, известны полюсыp1=-0.2+0.5i и p2=-0.2-0.5i, а также нули z1=0.1i и z2=-0.1i.
Осуществляемввод:>> p=[-0.2+0.5i -0.2-0.5i]’;>> z=[0.1i -0.1i]’;>> k=5;Здесь k - коэффициент, стоящий перед всей дробью передаточнойфункции (его можно выбрать произвольно, если нет иных соображений).Символ ‘ (апостроф), поставленный после закрывающей квадратной скобки,означает транспонирование. При этом вектор-строка преобразуется в векторстолбец. (В MatLab принято полюсы и нули задавать вектор-столбцами, акоэффициенты передаточной функции вектор-строками.)Далее производим преобразование полюсов и нулей в коэффициентыпередаточной функции:>> [b,a]= zp2tf (z,p,k);Здесь b – строка коэффициентов числителя, a – строка коэффициентовзнаменателя передаточной функции фильтра.Диаграмму нулей и полюсов можно вывести, если задать следующиекоманды:>>>>>>>>>>>>plot (p,’x’)hold onplot (z,’o’)hold offaxis equalaxis ([-1 1 -1 1])-4Последняя команда позволяет задать граничные значения длядействительной (первые два числа) и мнимой (следующие два числа) осей.Возможно и обратное преобразование коэффициентов b и a в полюсы инули:>> [z,p,k]= tf2zp (b,a);Если требуется вывести значения каких-либо переменных рабочей областиMatLab на монитор, то нужно просто после значка >> ввести имяпеременной, завершив ввод нажатием клавиши <Enter>.
Например, еслиуказать>> zто будет выведен вектор нулей. Вслед за оператором>> pбудет выведен вектор полюсов. Если не ставить точку с запятой послеоператоров преобразования, то выходные параметры будут выведены намонитор без дополнительных команд.4. Расчёт аналогового фильтра-прототипа по заданнымтребованиям к его характеристике затуханияЕсли заданы граничные частоты, допустимые затухания, тип фильтра(ФНЧ,ФВЧ, ППФ, ПЗФ), класс фильтра (Баттерворта, Чебышёва, инверсныйЧебышёва, эллиптический, Бесселя), то рассчитать коэффициентыпередаточной функции фильтра можно, используя одну из следующихфункций MatLab:1) butter (n, w0, type, ‘s’) – расчёт фильтра Баттерворта;2) cheby1 (n, Rp, w0, type, ‘s’) – расчёт фильтра Чебышёва;3) cheby2 (n, Rs, w0, type, ‘s’) – расчёт инверсного фильтраЧебышёва;4) ellip (n, Rp, Rs, w0, type, ‘s’) – расчёт эллиптического фильтра;5) besself (n, w0, type) – расчёт фильтра Бесселя.Здесь n – порядок ФНЧ-фильтра-прототипа; Rp – неравномерностьхарактеристики затухания в полосе пропускания (в дБ); Rs – минимальноезатухание в полосе задерживания (в дБ); w0 – скаляр или двухэлементныйвектор частот среза (границ полосы пропускания ) (в рад/с) (для фильтраБаттерворта частота среза задаётся по уровню 3 дБ).
Если для фильтраБаттерворта граничная частота полосы пропускания wp задана для-5значения затухания Rp (Rp<3 дБ), то её нужно пересчитать в частоту срезаw0 :=wp2nRp1010−1type – строковая константа, задающая тип фильтра. Строка ‘s’ говорит о том,что синтезируется аналоговый фильтр.При синтезе ФНЧ: w0 – скаляр , параметр type отсутствует.При синтезе ФВЧ: w0 – скаляр , type=’high’.При синтезе ППФ: w0 – вектор [w01 w02], причём w01<w02, параметрtype отсутствует.При синтезе ПЗФ: w0 – вектор [w01 w02], причём w01<w02, параметрtype=’stop’.Если порядок ФНЧ-прототипа не задан, то его можно определить (имеетсяв виду минимальный порядок), применяя следующие функции MatLab:[n,wn]=buttord (wp, ws, Rp, Rs, ‘s’)[n,wn]=cheb1ord (wp, ws, Rp, Rs, ‘s’)[n,wn]=cheb2ord (wp, ws, Rp, Rs, ‘s’)[n,wn]=ellipord (wp, ws, Rp, Rs, ‘s’)Здесь n – минимальный порядок фильтра; wn – частота среза фильтра (дляфильтра Баттерворта она определяется по уровню 3 дБ); wp – граничнаячастота полосы пропускания (в рад/с); ws – граничная частота полосызадерживания (в рад/с).Для ППФ и ПЗФ wp и ws –двухэлементные векторы: [wp1 wp2] и [ws1 ws2].Должны выполняться неравенства:для ФНЧ: wp<ws;для ФВЧ: wp>ws;для ППФ: ws1<wp1<wp2<ws2;для ПЗФ: wp1<ws1<ws2<wp2.Найденный порядок n далее используется в функциях расчётакоэффициентов передаточной функции фильтра, описанных выше.Рассмотрим пример.
Пусть требуется найти коэффициенты передаточнойфункции эллиптического полосно-пропускающего фильтра, для которогоRp=1 дБ, Rs=40 дБ, wp1=1000 рад/с, wp2=1100 рад/с, ws1=900 рад/с,ws2=1250 рад/с. Вводим операторы:>> [n, wn]=ellipord([1e3 1.1e3], [0.9e3 1.25e3], 1, 40, ‘s’);>> [b,a]=ellip(n, 1, 40, [1e3 1.1e3], ‘s’);-6Если требуется определить полюсы и нули, то вместо последнегооператора вводят:>> [z,p,k]= ellip (n, 1, 40, [1e3 1.1e3], ‘s’);Альтернатива: использование функции преобразования:>> [z,p,k]= tf2zp (b,a);5.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.