Отчет по зачетным заданиям




Факультет Радиоэлектроники и автоматики

Кафедра РРС

 

Цифровая обработка сигналов

 

Отчет по зачетным заданиям

Вариант №9

 

Работу выполнил студент

группы ЗРЭ-21-17п

Леухин Р.А.

Проверил преподаватель

Лазарева Н. М.

 

 

Чебоксары 2021

ЗАДАНИЕ

по цифровой обработке сигналов

1. Для сигнала , параметры которого заданы в табл. 1, выполнить дискретизацию для двух разных значений частоты дискретизации. Нарисовать в одних осях по одному периоду аналогового сигнала и двух дискретных (функция plot).

2. В отдельном графическом окне нарисовать первый дискретный сигнал в виде решетчатой функции (функция stem), в другом графическом окне ‑ второй в виде ступенчатой функции (функция stairs).

3. Создать передаточную функцию ЦФ (конструктор tf), заданную векторами коэффициентов полиномов числителя и знаменателя (табл. 2).

4. Построить диаграмму нулей и полюсов, оценить устойчивость ЦФ (функция zplane).

5. Построить частотные характеристики ЦФ ‑ АЧХ, ФЧХ, характеристику затухания и ЛАЧХ (функции freqz, abs, angle, unwrap, semilogx).

6. Рассчитать и построить динамические характеристики ЦФ во временной области (функции impz и stepz).

7. Дискретизировать для дальнейшей обработки фильтром сигнал x (t), параметры которого заданы в табл. 1 (по сравнению с п.1 может потребоваться более чем один период сигнала, например 4‑6). Нарисовать в одних осях аналоговый и дискретный сигналы.

8. Пропустить сгенерированный сигнал через ЦФ (функция filter). Нарисовать в одних осях входной и выходной сигналы ЦФ (функция plot). Оценить эффект фильтрации. Соотнести результат с частотными характеристиками фильтра.

9. Вычислить и сравнить спектры (функции fft и abs) входного и выходного сигналов ЦФ.

10. Используя инструмент filterDesigner (FDATool) Matlab, получить схемную реализацию ЦФ. Подав на вход схемы ЦФ функцию включения (блок step), наблюдать в окне осциллографа (блок scope) переходную характеристику фильтра.

 

Таблица1.

А 1 f 1, Гц φ1, град. А 2 f 2, Гц φ2, град. А 3 f 3, Гц φ3, град. А 4
        -500         -60  

 

Таблица 2.

b a f д, Гц
  0,29 -0,26 0,64 -0,26 0,29 1 -0,44 0,06 -0,08 0,17  

 

Выполнение заданий:

Задание №1.

Написание кода задания:

clear all

fc=50;

t=0:10e-6:1/fc;

xa=670*sin(2*pi*50*t+pi/4)-500*sin(2*pi*450*t)+388*sin(2*pi*900*t-pi/3)+65;

fd1=2000;

Td1=1/fd1;

K1=fd1/fc;

k1=0:K1-1;

xd1=670*sin(2*pi*50*k1*Td1+pi/4)-500*sin(2*pi*450*k1*Td1)+388*sin(2*pi*900*k1*Td1-pi/3)+65;

fd2=2500;

Td2=1/fd2;

K2=fd2/fc;

k2=0:K2-1;

xd2=670*sin(2*pi*50*k2*Td2+pi/4)-500*sin(2*pi*450*k2*Td2)+388*sin(2*pi*900*k2*Td2-pi/3)+65;

figure(1);

plot(t,xa,k1*Td1,xd1,'ro',k2*Td2,xd2,'go'),grid

title('Аналоговый и дискретный сигналы для двух значений fd')

legend('Аналоговый сигнал','fd1=2000 Гц','fd2=2500 Гц')

xlabel('t,c'),ylabel('Сигналы')

 

Результат:

На графике видим результат процесса дискретизации аналогового сигнала на разных частотах дискретизации (2кГц и 2.5кГц).

 

Задание №2.

Написание кода задания:

clear all

fc=50;

t=0:10e-6:1/fc;

xa=670*sin(2*pi*50*t+pi/4)-500*sin(2*pi*450*t)+388*sin(2*pi*900*t-pi/3)+65;

fd1=2000;

Td1=1/fd1;

K1=fd1/fc;

k1=0:K1-1;

xd1=670*sin(2*pi*50*k1*Td1+pi/4)-500*sin(2*pi*450*k1*Td1)+388*sin(2*pi*900*k1*Td1-pi/3)+65;

fd2=2500;

Td2=1/fd2;

K2=fd2/fc;

k2=0:K2-1;

xd2=670*sin(2*pi*50*k2*Td2+pi/4)-500*sin(2*pi*450*k2*Td2)+388*sin(2*pi*900*k2*Td2-pi/3)+65;

figure(1);

stem(k1,xd1,'g'),grid

xlabel('Номера отсчетов'),ylabel('Отсчеты')

figure(2);

stairs(k2,xd2,'r'),grid

xlabel('Дискретное время'),ylabel('Отсчеты')

 

 

Результат:

На графике видим один период дискретного сигнала, с частотой дискретизации 2кГц.

На графике видим один период дискретного сигнала, изображенного ступенчатой функцией

 

 

Задание №3.

Написание кода задания:

clear all;

fd=2000;

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

H=tf(b,a,fd)

 

Результат:

Transfer function:

0.29 z^4 - 0.26 z^3 + 0.64 z^2 - 0.26 z + 0.29

----------------------------------------------

z^4 - 0.44 z^3 + 0.06 z^2 - 0.08 z + 0.17

Цифровой фильтр 4-ого порядка

 

 

Задание №4.

Написание кода задания:

clear all;

fd=2000;

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

H=tf(b,a,fd)

figure(1)

zplane(b,a),grid

 

 

Результат:

Получилась диаграмма нулей (о) и полюсов (х). Из диаграммы видим, что все полюсы имеют модуль меньше единицы, а значит, что цифровой фильтр устойчив.

 

Задание №5.

Написание кода задания:

clear all;

fd=2000;

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

H=tf(b,a,fd)

[HW,f]=freqz(b,a,1024,fd);

AHX=abs(HW);

figure(1)

plot(f,AHX),grid

title('АЧХ')

xlabel('f,Гц'),ylabel('|HW|')

figure(2)

plot(f,unwrap(angle(HW))*180/pi),grid

title('ФЧХ')

xlabel('f,Гц'),ylabel('Фаза,градусы')

figure(3)

plot(f,20*log10(AHX)),grid

title('Характеристика затухания')

xlabel('f,Гц'),ylabel('Магнитуда')

figure(4)

semilogx(2*pi*f,20*log10(AHX)),grid

title('ЛАЧХ')

xlabel('w,рад/с'),ylabel('Магнитуда')

 

Результат:

Из графика АЧХ видно, что данный фильтр является режекторным. На частотах 50Гц и 900 Гц будет почти максимальное пропускание частот, а на частоте 450Гц почти максимальное подавление частоты.

Из графика ФЧХ видно, что все гармоники в диапазоне от 0 до 1000Гц получат отрицательный фазовый сдвиг. На 50Гц сдвиг фазы -17градусов,

на 450Гц сдвиг фазы -185 градусов, на 900Гц сдвиг фазы -338 градусов.

 

По графику можно определить на каком уровне и на какой частоте произойдет максимальное затухание сигнала, а также частоту начала затухания и частоту завершения затухания.

 

Задание №6.

 

Написание кода:

 

clear all;

fd=2000;

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

H=tf(b,a,fd)

figure(1)

impz(b,a),grid

title('Импульсная характеристика')

xlabel('t, мСек'),ylabel('Амплитуда')

figure(2)

stepz(b,a),grid

title('Переходная характеристика')

xlabel('t, мСек'),ylabel('Амплитуда')

 

Результат:

Из двух графиков видно, что фильтр постоянную составляющую, с длительностью в 7.5 мСек.

 

Задание №7.

 

Написание кода:

 

clear all

fc=50;

fd=2000;

Td=1/fd;

KolPer=4;

tf=0:10e-6;KolPer/fc;

xaf=670*sin(2*pi*50*tf+pi/4)-500*sin(2*pi*450*tf)+388*sin(2*pi*900*tf-pi/3)+65;

Kf=fd/fc*KolPer;

kf=0:Kf-1;

xdf=670*sin(2*pi*50*kf*Td+pi/4)-500*sin(2*pi*450*kf*Td)+388*sin(2*pi*900*kf*Td-pi/3)+65;

figure(1)

plot(tf,xaf,kf*Td,xdf,'r--'),grid

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

 

Результат:

 

На графике видим 4 периода

Задание №8.

Написание кода:

clear all

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

fc=50;

fd=2000;

Td=1/fd;

KolPer=4;

Kf=fd/fc*KolPer;

kf=0:Kf-1;

tf=0:10e-6;KolPer/fc;

xaf=670*sin(2*pi*50*tf+pi/4)-500*sin(2*pi*450*tf)+388*sin(2*pi*900*tf-pi/3)+65;

xdf=670*sin(2*pi*50*kf*Td+pi/4)-500*sin(2*pi*450*kf*Td)+388*sin(2*pi*900*kf*Td-pi/3)+65;

ydf=filter(b,a,xdf);

ss=[kf' ydf'];

yaf=pulstran(tf*fd,ss,'sinc');

figure(1)

plot(tf,xaf,'b',kf*Td,xdf,'b--',tf,yaf,'r',kf*Td,ydf,'r--'),grid

 

Результат:

 

 

Задание №9.

 

Написание кода:

 

clear all

b=[0.29 -0.26 0.64 -0.26 0.29];

a=[1 -0.44 0.06 -0.08 0.17];

fc=50;

fd=2000;

Td=1/fd;

KolPer=4;

Kf=fd/fc*KolPer;

kf=0:Kf-1;

xdf=670*sin(2*pi*50*kf*Td+pi/4)-500*sin(2*pi*450*kf*Td)+388*sin(2*pi*900*kf*Td-pi/3)+65;

ydf=filter(b,a,xdf);

Xdf=fft(xdf)/Kf;

Ydf=fft(ydf)/Kf;

figure(1)

stem(kf*fc/KolPer,abs(Xdf)),grid

figure(2)

stem(kf*fc/KolPer,abs(Ydf)),grid

Xdfs=fftshift(Xdf);

Ydfs=fftshift(Ydf);

figure(3)

stem([-Kf/2:Kf/2-1]*fc/KolPer,abs(Xdfs)),grid

figure(4)

stem([-Kf/2:Kf/2-1]*fc/KolPer,abs(Ydfs)),grid

 

Результат:

Два графика представляют собой спектр сигнала ДО и ПОСЛЕ фильтрации и как видно из графиков на частоте 450Гц спектральный отсчет стал равен 0, а всё потому, что на данной частоте происходит подавление сигнала.

Два графика представляют собой спектр сигнала ДО и ПОСЛЕ фильтрации и как видно из графиков на частоте 450Гц пропал выброс, а всё потому, что на данной частоте происходит максимальное затухание режекторного фильтра.

 

 


Задание №10.

Используя инструмент Filter Designer и инструмент Simulink создаем симуляцию нашего цифрового фильтра:


 


 

 

 

Так же можно увидеть примерную схему нашего фильтра. Есть возможность изменить параметры, в данном случае нам нужно изменить параметр “Step time” блока генератора прямоугольных импульсов “Step“. Меняем параметр установленный по умолчанию с «10» на «0», это время «старта» импульсов.

Примерная схема фильтра:

До начала симуляции нужно настроить параметры моделирования выбрав во вкладке “Simulations” “Configuration Parameters”.

Далее нажимая в верхней строке окна симуляции на кнопку «Run» мы запускаем программу симуляции, в которой кликнув по блоку осциллографа “Scope” видим осциллограмму переходной характеристики.

Полученная в программе симуляции переходная характеристика



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: