48751 (566534)
Текст из файла
Белорусский Государственный Университет
Информатики и Радиоэлектроники
Кафедра электронных вычислительных средств
Отчёт по лабораторной работе
"Расчет цифровых фильтров с бесконечными импульсными характеристиками"
Выполнила:
Студентка гр. 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;
%%%%%%%%%%%%Butterworth%%%%%%%%%%%
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');
%%%%%%%%%%%%Chebyshev1%%%%%%%%%%%
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');
%%%%%%%%%%%%Elliptic%%%%%%%%%%%%%
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- преобразования для перевода фильтра из ВЧ в НЧ. Увидели, что при усечение коэффициентов происходит пропускание ненужных нам частот.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.













