Расчет цифровых фильтров с бесконечными импульсными характеристиками

6945
знаков
0
таблиц
18
изображений

Белорусский Государственный Университет

Информатики и Радиоэлектроники

Кафедра электронных вычислительных средств

Отчёт по лабораторной работе

"Расчет цифровых фильтров с бесконечными импульсными характеристиками"

Выполнила:

Студентка гр. 610701

Лыпка Ю.А.

Проверил:

Родионов М.М.

Минск 2009

 


Цель работы: Расчёт БИХ-фильтров с различными аппроксимациями идеальной АЧХ в пакете Matlab и изучение их свойств.

 

Задание №1: Рассчитайте аналоговый фильтр-прототип НЧ в соответствии с вариантом (вариант №8). Для полученного фильтра постройте его АЧХ, ФЧХ а также диаграмму нулей и полюсов.

Фильтр Чебышева 1 рода, 4 порядка.

n=4;

Rp=1;

[z,p,k]=cheb1ap(n,Rp);

[b,a]=zp2tf(z,p,k);

figure(1);

zplane(z,p);

title('Lowpass Chebyshev Filter');

figure(2);

subplot(211);

[h,w]=freqs(b,a);

plot(w,abs(h),'r');

title('Amplitude response');

subplot(212);

plot(w,unwrap(angle(h)),'r');

title('Phase response');


Рисунок 1 – Диаграмма нулей и полюсов

Рисунок 2 – АЧХ и ФЧХ фильтра НЧ вида Чебышева 1 рода

 

Задание №2: Преобразовать полученный фильтр- прототип в фильтр заданного вида с требуемыми частотами среза (Вариант 8- 650Гц). Постройте графики АЧХ, ФЧХ и диаграмму нулей и полюсов.

fs=650;% частота среза

[b1,a1]=lp2lp(b,a,fs);

[z1,p1,k1]=tf2zp(b1,a1);

figure(3);

zplane(z1,p1);

title('Lowspass Chebyshev Filter');

figure(4);

subplot(211);

[h,w]=freqs(b1,a1);

plot(w,abs(h),'m');

title('Amplitude response');

subplot(212);

plot(w,unwrap(angle(h)),'m');

title('Phase response');

Рисунок 3 – Диаграмма нулей и полюсов


Рисунок 4 – АЧХ и ФЧХ фильтра НЧ вида Чебышева 1 рода

Задание №3: Используя функцию Matlab bilinear, которая реализует метод билинейного z- преобразования, получите дискретизированный аналог фильтра из предыдущего задания. Постройте АЧХ, ФЧХ, групповую задержку и диаграмму нулей и полюсов полученного фильтра.

Fs=2600;

[zt,pt,kt]=bilinear(z1,p1,k1,Fs);

[bt,at]=zp2tf(zt,pt,kt);

figure(5)

zplane(zt,kt);

title('Bilinear Conversion');

figure(6);

subplot(311);

[h,w]=freqz(bt,at)

plot(w,abs(h),'g');

subplot(312);

plot(w,unwrap(angle(h)),'g');

subplot(313);

grpdelay(bt,at,64,Fs);%%%групповая задержка


Рисунок 5 – Диаграмма нулей и полюсов

Рисунок 6 – АЧХ , ФЧХ и групповая задержка фильтра

Задание №4: Рассчитайте цифровой ФВЧ с параметрами заданными для каждого варианта. Определить какой порядок будут иметь разные типы фильтров. Сравнить эффективность аппроксимаций при более жестких и более мягких требованиях к АЧХ.

close all;

clear all;

clear all;

Wp = 0.4; % нормированная граничная частота подавления

Ws = 0.7; % нормированная граничная частота пропускания

Rp = 0.5; % допустимая неравномерность в полосе пропускания

Rs = 70; % минимальное затухание в полосе подавления

Фильтр Баттерворта

[n1, Wn1] = buttord(Wp, Ws, Rp, Rs);

sprintf( 'battervorta - %d',n1)

[z,p,k] = butter(n1,Wn1,'high');

[b,a]=zp2tf(z,p,k);

figure;

zplane(z,p);

figure;

title('battervorta');

freqs(z,p);

Фильтр Чебышева 1 рода

[n2, Wn2] = cheb1ord(Wp, Ws, Rp, Rs);

[z,p,k] = cheby1(n2,Rp,Wn2,'high');

[b,a]=zp2tf(z,p,k);

figure;

zplane(z,p);

figure;

freqs(z,p);

Фильтр Чебышева 2 рода

[n3, Wn3] = cheb2ord(Wp, Ws, Rp, Rs);

[z,p,k] = cheby2(n3,Rs,Wn3,'High');

[b,a]=zp2tf(z,p,k);

figure;

zplane(z,p);

figure;

freqs(z,p);

Фильтр Эллиптический

[n4, Wn4] = ellipord(Wp, Ws, Rp, Rs);

[z,p,k] = ellip(n4,Rp,Rs,Wn4,'high');

[b,a]=zp2tf(z,p,k);

figure;

zplane(z,p);

figure;

freqs(z,p);

sprintf( 'chebysheva1 - %d',n2)

sprintf( 'chebysheva2 - %d',n3)

sprintf( 'elipticheskiy - %d',n4)

Рисунок 7– Диаграмма нулей и полюсов фильтра Баттерворта


.

Рисунок 8– АЧХ , ФЧХ фильтра Баттерворта

Рисунок 9– Диаграмма нулей и полюсов фильтра Чебышева 1 рода


Рисунок 10– АЧХ , ФЧХ фильтра Чебышева 1 рода

Рисунок 11– Диаграмма нулей и полюсов фильтра Чебышева 2 рода


Рисунок 12– АЧХ , ФЧХ фильтра Чебышева 2 рода

Рисунок 13– Диаграмма нулей и полюсов эллиптического фильтра


Рисунок 14– АЧХ , ФЧХ эллиптического фильтра

Задание №5: Исследуйте как скажется на АЧХ и ФЧХ фильтров из заданий 1-3 усечение коэффициентов передаточной функции до четырёх десятичных разрядов. До двух десятичных разрядов.

close all;

clear all;

n = 4;

fs = 1000;

fc = 300;

Rp = 1;

Rs = 70;

Wn = fc * 2 / fs;

figure;

[b, a] = butter(n, Wn);

[h, f] = freqz(b, a, 1024, fs);

b = round(b * 10000) / 10000;

a = round(a * 10000) / 10000;

[h2, f] = freqz(b, a, 1024, fs);

b = round(b * 1000) / 1000;

a = round(a * 1000) / 1000;

[h3, f] = freqz(b, a, 1024, fs);

b = round(b * 100) / 100;

a = round(a * 100) / 100;

[h4, f] = freqz(b, a, 1024, fs);

subplot(211);

plot(f, 20 * log10(abs(h)), 'k');

hold on;

plot(f, 20 * log10(abs(h2)), 'g');

plot(f, 20 * log10(abs(h3)), 'b');

plot(f, 20 * log10(abs(h4)), 'r');

legend('Ideal', '4 categories', '3 categories', '2 categories');

grid on;

title('Amlitude response');

ylabel('Butterworth');

subplot(212);

plot(f,angle(h), 'k');

hold on;

plot(f,angle(h2), 'g');

plot(f,angle(h3), 'b');

plot(f,angle(h4), 'r');

grid on;

title('Phase response');

ylabel('Butterworth');

figure;

[b, a] = cheby1(n, Rp, Wn);

[h, f] = freqz(b, a, 1024, fs);

b = round(b * 10000) / 10000;

a = round(a * 10000) / 10000;

[h2, f] = freqz(b, a, 1024, fs);

b = round(b * 1000) / 1000;

a = round(a * 1000) / 1000;

[h3, f] = freqz(b, a, 1024, fs);

b = round(b * 100) / 100;

a = round(a * 100) / 100;

[h4, f] = freqz(b, a, 1024, fs);

subplot(211);

plot(f, 20 * log10(abs(h)), 'k');

hold on;

plot(f, 20 * log10(abs(h2)), 'g');

plot(f, 20 * log10(abs(h3)), 'b');

plot(f, 20 * log10(abs(h4)), 'r');

legend('Ideal', '4 categories', '3 categories', '2 categories');

grid on;

title('Amlitude response');

ylabel('Chebyshev1');

subplot(212);

plot(f,angle(h), 'k');

hold on;

plot(f,angle(h2), 'g');

plot(f,angle(h3), 'b');

plot(f,angle(h4), 'r');

grid on;

title('Phase response');

ylabel('Chebyshev1');

figure;

[b, a] = ellip(n, Rp, Rs, Wn);

[h, f] = freqz(b, a, 1024, fs);

b = round(b * 10000) / 10000;

a = round(a * 10000) / 10000;

[h2, f] = freqz(b, a, 1024, fs);

b = round(b * 1000) / 1000;

a = round(a * 1000) / 1000;

[h3, f] = freqz(b, a, 1024, fs);

b = round(b * 100) / 100;

a = round(a * 100) / 100;

[h4, f] = freqz(b, a, 1024, fs);

subplot(211);

plot(f, 20 * log10(abs(h)), 'k');

hold on;

plot(f, 20 * log10(abs(h2)), 'g');

plot(f, 20 * log10(abs(h3)), 'b');

plot(f, 20 * log10(abs(h4)), 'r');

legend('Ideal', '4 categories', '3 categories', '2 categories');

grid on;

title('Amlitude response');

ylabel('Elliptic');

subplot(212);

plot(f,angle(h), 'k');

hold on;

plot(f,angle(h2), 'g');

plot(f,angle(h3), 'b');

plot(f,angle(h4), 'r');

grid on;

title('Phase response');

ylabel('Elliptic');


Рисунок 15 – АЧХ и ФЧХ фильтра Баттерворта

Рисунок 16 – АЧХ и ФЧХ фильтра Чебышева 1 рода


Рисунок 17 – АЧХ и ФЧХ эллиптического фильтра

Вывод: В результате выполненной лабораторной работы, были изучены фильтры НЧ и ВЧ и их типы. Программирование их в Matlab. Изучен метод билинейного z- преобразования для перевода фильтра из ВЧ в НЧ. Увидели, что при усечение коэффициентов происходит пропускание ненужных нам частот.


Информация о работе «Расчет цифровых фильтров с бесконечными импульсными характеристиками»
Раздел: Информатика, программирование
Количество знаков с пробелами: 6945
Количество таблиц: 0
Количество изображений: 18

Похожие работы

Скачать
3202
0
12

ация и анализ цифрового фильтра с конечной импульсной характеристикой Задание: 1. Разработать алгоритм, реализующий заданный тип фильтра в частотной области (с использованием алгоритма БПФ). 2. Составить программу, позволяющую получить: -     спектр входного сигнала; -     спектральную (амплитудно-частотную) характеристику окна; -     отклик фильтра на заданный сигнал; -     спектр ...

Скачать
25583
3
10

... звеньев первого и второго порядка представлена на следующем рисунке: 3. Методы расчета БИХ-фильтров и вид целевой функции Расчет БИХ-фильтров можно вести в частотной и временной областях. При расчете в частотной области используется синтез по аналоговому и цифровому прототипам. Численные методы расчета разработаны для применения в частотной и временной областях. ...

Скачать
7641
1
14

... моделирование работы фильтра с подачей на него сигналов. В нашем случае на цифровой фильтр будет подана сумма 3х сигналов, 2а из которых будут находиться вне полосы пропускания цифрового фильтра. Схема моделирования работы цифрового фильтра показана на рис. 9. Рис. 9 Схема для моделирования работы ЦФ. Схема состоит из: - 3х генераторов синусоидальных колебаний с частотами и амплитудами: ...

Скачать
22539
12
0

... 1 – «-» Причем 1-ый разряд слева – знаковый разряд. 16 14 12 10 8 6 4 2 Т 2Т 2. Связи между аналоговыми и дискретными сигналами. При обработке сигнала на ЭВМ необходимо в максимальной степени, чтобы дискретный или цифровой сигнал содержал все признаки аналогового сигнала. При дискретизации возможна потеря информации, которая ...

0 комментариев


Наверх