Главная страница

Цос отчёт поп практике. ЦОС вторая лаба. Дискретные фильтры


Скачать 363.64 Kb.
НазваниеДискретные фильтры
АнкорЦос отчёт поп практике
Дата11.11.2019
Размер363.64 Kb.
Формат файлаdocx
Имя файлаЦОС вторая лаба.docx
ТипАнализ
#94690
страница6 из 6
1   2   3   4   5   6

4. Получение аналитической формулы для импульсной характеристики фильтра


Средства MATLAB позволяют получить разложение функции передачи фильтра на простые дроби с помощью функции residuez в виде вычетов, полюсов и целой части:




Модуль

Фаза, рад.




Вычеты




























Полюсы




























Целая часть



0.0009

От полученного разложения возьмём обратное z-преобразование:



Выводы: в ходе выполнения лабораторной работы был исследован дискретный фильтр с заданными параметрами и различные его реализации. Было установлено, что:

  • Поскольку фильтр является рекурсивным, после окончания прохождения сигнала на выходе фильтра наблюдается затухающий переходный процесс;

  • При канонической форме реализации фильтра в элементах памяти сохраняются наибольшие по модулю значения по сравнению с прямой и транспонированной реализациями. Таким образом, каноническая форма, содержащая минимальное количество схемных элементов, требует возможности хранения намного больших значений, чем две другие реализации фильтра;

  • Исследованный фильтр является фильтром нижних частот. Все его полюсы лежат внутри единичной окружности, следовательно, фильтр устойчив

Код программы

U1=5;

U2=-4;

U3=-4;

U4=6;

qw=10^(-3);

T1=2*qw;

T2=5*qw;

Fd=7000;

Td=1/Fd;

t1=0:Td:T1;

a1=-4500;

b1=5;

y1=a1*t1+b1;

% plot(t1,y1);

t2=T1+Td:Td:T2;

a2=3333;

b2=-10.6;

y2=a2*t2+b2;

% plot(t2,y2);

y3=[y1 y2];

t=0:Td:T2;

% plot(t,y3);

figure(1)

stem(y3);

title ('дискретный сигнал')

%2 пункт

b0=0.0004;

b1=0.0017;

b2=0.0025;

b3=0.0017;

b4=0.0004;

a0=1;

a1=-3.1806;

a2=3.8612;

a3=-2.1122;

a4=0.4383;

%добавление нулевых отсчетов (36 отсчетов исходных)

y3_dob_null=[y3,zeros(1,length(y3))] ;

%получение выходного сигнала фильтра

b=[b0,b1,b2,b3,b4];

a=[a0,a1,a2,a3,a4];

priam_vihod=filter(b,a,y3_dob_null);

figure(2)

stem(priam_vihod);

title('сигнал на выходе фильтра')

% 3 пункт

%Определение максимального по модулю числа

max_vhod=max(abs(y3));

max_priam_vihod=max(abs(priam_vihod));
%4 пункт

Kanon_vihod=filter(1,a,y3_dob_null);

figure(3)

stem(Kanon_vihod);

title('сигнал на выходе каноничного фильтра')

max_Kanon_vihod=max(abs(Kanon_vihod));

%5 пункт

states=[];

s=[];

Recours_vihod=filter(1,a,y3_dob_null);

for k=1:length (y3_dob_null)

[Recours_vihod(k),s]=filter(b,a,y3_dob_null(k),s);

states=[states s];

end

figure(4)

plot(states');

title('сигналы, прошедшие через элементы памяти')

%max

max_Recours_vihod=max(abs(states(:)));

%6 пункт

fvtool(b,a)

%7 пункт

[r,p,k]=residuez(b,a);

abs(r)

angle(r)

abs(p)

angle(p)

k
1   2   3   4   5   6


написать администратору сайта