Файл: Курсовая работа по теме цифровая обработка сигналов.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 36

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Дальневосточный государственный университет путей сообщения»
Кафедра «Автоматика, телемеханика и связь»

Курсовая работа

по теме

«ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ»


Выполнил: Крылов К.В.

Группа: БЗИ43ИТС

Шифр: КТ20-ИКТ(БТ)-038

Проверил: Кривошеев И.А.

г. Хабаровск 2022 г.

СОДЕРЖАНИЕ

Задание…………………………………………………………………….…3

Введение…………………………………………………………………..….4

  1. Построение двоичной последовательности и её спектра…………..5

  2. Расчёт цифрового фильтра…………………………...............………8

  3. Фильтрация двоичной последовательности………………….…….16

  4. Фильтрация суммы двоичной последовательности
    и гармонического колебания………………………………………………18


Выводы………………………………………………………………………21

Библиографический список………………………………………………...22

ЗАДАНИЕ

  1. В соответствии с вариантом построить осциллограмму и спектр мощности двоичной последовательности.

  2. С помощью подпрограммы fdatool рассчитать коэффициенты цифрового фильтра.

  3. Построить импульсную характеристику, АЧХ и ФЧХ рассчитанного фильтра.

  4. Записать функцию передачи, разностное уравнение и нарисовать структурную схему полученного цифрового фильтра с учётом рассчитанных коэффициентов.

  5. Построить карту нулей и полюсов функции передачи цифрового фильтра.

  6. Построить осциллограмму и спектр мощности двоичной последовательности после цифрового фильтра.

  7. Построить осциллограмму и спектр мощности суммы двоичной последовательности и гармонического колебания.

  8. Построить глазковую диаграмму двоичной последовательности до и после фильтрации.

  9. Построить осциллограмму и спектр мощности суммы двоичной последовательности и гармонического колебания после цифрового фильтра.


Исходные данные:

ФИО студента – Крылов Константин Владимирович, вариант 8.




вар.

Число

отсчётов (М)

Тип

фильтра

Порядок

фильтра

Вид оконной функции (для FIR), и метод расчёта для IIR

8

26

IIR

4

Elliptic, Apass=0.5 dB, Astop=80 dB



ВВЕДЕНИЕ
Целью курсовой работы является изучение методов проектирования цифровых фильтров в программе MatLab.

Для заданной двойничной последовательности находится спектр мощности сигнала и выбирается частота среза цифрового фильтра нижних частот по ширине главного лепестка спектральной мощности.

В приложении fdatool Matlab синтезируется рекурсивный цифровой фильтр 4 порядка и осуществляется фильтрация двойничной последовательности.

Так же осуществляется фильтрация суммы сигнала двойничной последовательности и гармонического сигнала частотой в 5 раз выше ширины главного лепестка спектра мощности последовательности и делается вывод о величине подавления спектра мощности гармонического сигнала.

В ходе выполнения работы рассчитываются и строятся временные и частотные характеристики цифрового фильтра. Производится анализ временных и частотных характеристик сигналов после фильтрации.

1. Построение двоичной последовательности и её спектра

ФИО– Крылов Константин Владимирович.

Двоичная последовательность состоит из первых двух букв фамилии, имени и отчества студента – «КрКоВл». Не делаем различие между прописными и строчными буквами, обозначим буквы: a1 – «к», a2 – «р», a3 – «к», a4 – «о», a5 – «в» a6 – «л».

В двоичной кодировке UTF букве «к» соответствует код: U+043A, или в двоичной форме – 0000 0100 0011 1010, букве «р» соответствует код: U+0440 – 0000 0100 0100 0000, букве «к» соответствует код: U+043A – 0000 0100 0011 1010, букве «о» соответствует код: U+043E – 0000 0100 0011 1110, букве «в» U+0432 – 0000 0100 0011 0010 и букве «л» соответствует код: U+043B – 0000 0100 0011 1011. Первые восемь бит у букв одинаковые, их использовать не будем. Таким образом, двоичная последовательность имеет вид:

0011 1010 0100 0000 0011 1010 0011 1110 0011 0010 0011 1011

Буквы: a1 – 0011 1010, a2 –0100 0000, a3 –0011 1010, a4 – 0011 1110, a5 – 0011 0010, a6 –0011 1011.

Число отсчётов (M) на один двоичный символ ‒ M=26.

Код Matlab для выполнения задания представлен ниже.

Программа 1.1

% построение осциллограммы и спектра двоичной последовательности

M=26; % число отсчётов на один двоичный символ

on = -ones(1, M); % двоичная единица

ze = ones(1, M); % двоичный ноль

a1=[ze ze on on on ze on ze]; % буква «К» 0011 1010

a2=[ze on ze ze ze ze ze ze]; % буква «р» 0100 0000

a3=[ze ze on on on ze on ze]; % буква «К» 0011 1010

a4=[ze ze on on on on on ze]; % буква «о» 0011 1110

a5=[ze ze on on ze ze on ze]; % буква «
В» 0011 0010

a6=[ze ze on on on ze on on]; % буква «л» 0011 1011

a=[a1 a2 a3 a4 a5 a6]; % сообщение «КрКоВл»

N=length(a); % число отсчётов в сообщении «КрКоВл»

n=[0:N-1]; % номера отсчётов в сообщении «КрКоВл»

% Расчёт нормированного спектра мощности (СМ)

% Число точек БПФ, кратное степени 2

NFT = 2^nextpow2(N);

% быстрое преобразование Фурье с числом точек NFT и нормированное к N

SP=fft(a,NFT)/N;

% произведение комплексно-сопряжённых величин

% для вывода спектральной плотности мощности

SPP=SP.*conj(SP);

LFT= linspace(0, 1, NFT/2+1); %половина точек БПФ, между 0 и 1

ax1 = subplot(2,1,1); % первая координатная ось

ax2 = subplot(2,1,2); % вторая координатная ось

% построение первого графика

plot(ax1, n, a, 'LineWidth',2, 'Color','k')

title(ax1,'Символы двоичной последовательности')

xlabel(ax1,'Номера двоичных символов, цифры соответствуют занему фронту символа')

ylabel(ax1,'a(n)')

axis(ax1,[0 N-1 -1.1 1.1])

ax1.XTick = [M-1:M:N-1];

ax1.XTickLabel = [1:N/M];

grid(ax1,'on')

% построение второго графика

% вывод половины графика с удвоенной амплитудой

plot(ax2, LFT,10*log10(2*SPP(1:NFT/2+1)), 'LineWidth',1, 'Color','k')

title(ax2,['Спектр мощности (СМ) двоичной последовательности, M=' int2str(M)])

xlabel(ax2,'Нормированная частота')

ylabel(ax2,'Результат БПФ (дБВт)')

ax2.XTick = [0:2/M:1];

ax2.XTickLabel = [0:2/M:1];

grid(ax2,'on')
Результат выполнения команды eyediagram показан на рис. 1.2.

Толщина линий и координатная сетка отредактированы после вывода диаграммы (Tools – Edit Plot).

На рис. 1.2 показаны переходы уровней 1→1; 1→-1; -1→1; -1→-1.

С увеличение числа отсчётов M, крест в центре перейдёт в вертикальную линию (см. рис. 1.2).



Рис. 1.1 Двоичная последовательность и её спектр мощности



Рис. 1.2 Глазковая диаграмма двоичной последовательности
2. Расчёт цифрового фильтра

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

>> fdatool

Окно настроек подпрограммы fdatool показано на рис. 2.1.



Рис. 2.1. Окно настроек подпрограммы fdatool


Вводим значения в соответствии с вариантом.

В окне настроек обозначены:

Lowpass – фильтр нижних частот (ФНЧ); IIR (Elliptic) – эллиптический фильтр с бесконечной импульсной характеристикой (БИХ); Specify order – порядок фильтра 4; Apass‒ неравномерность АЧХ в полосе пропускания 0,5 дБ; Astop‒Подавление АЧХ в полосе задержания 80 дБ.

FrequencySpecification (Normalized 0 to 1) – частота в нормированном виде; Wpass=1/13=0,0769 – значение нормированной частоты среза, выбирается равным ширине (см. рис. 1.1) главного лепестка спектра мощности двоичной последовательности; Design Filter – расчёт фильтра.

Для преобразования многосекционного фильтра в односекционный используем команду: Edit – Convert to Single Section.

Рассчитанный порядок фильтра (равен количеству задержек) отображается в области CurrentFilterInformation и поле Order.

Экспортируем коэффициенты в рабочую область программы MatLab. Для этого открываем меню File – Export… . Появляется окошко, показанное на рис. 2.2. Нажимаем Export. В главном окне программы MatLab, в Workspace появляется строки Num иDen, имя переменных содержащих коэффициенты спроектированного рекурсивного фильтра см. рис. 2.3.






Рис. 2.2. Окно экспорта
коэффициентов фильтра Num иDen

Рис. 2.3. Коэффициенты фильтра Num и Den
в разделе Workspace


Выводим импульсную характеристику командой:

>> impz(Num,Den)

Результат выполнения данной команды показан на рис. 2.4.



Рис. 2.4. Импульсная характеристика фильтра

Выводим частотную и фазовую характеристику фильтра командой:

>> freqz(Num,Den)

Результат выполнения данной команды показан на рис. 2.5.

Рис. 2.5. Частотная и фазовая характеристики фильтра
Выводим расположение нулей и полюсов фильтра командой:

>> zplane(Num, Den)


Результат выполнения данной команды показан на рис. 2.6. Значения аргумента нулей и полюсов соответствуют частотной шкале (нормированной частоте) АЧХ рис. 2.5. Полюса и нули, расположенные на рис. 2.6 в третьем и четвёртом квадрантах являются комплексно-сопряженными с точками первого и второго квадрантов и соответствуют частотному диапазону от π до 2π (от 1 до 2)

Определим значения нормированной частоты, соответствующей точкам нулей.

>>q1= 0.4569 + j*0.8895; % координаты первого нуля

angle(q1)/pi % нормированная частота

ans =0.3490
>>q2= -0.3624 + j*0.932; % координаты второго нуля

angle(q2)/pi % нормированная частота

ans =0.6180
Сравниваем с графиком частотной характеристики на рис. 2.5. Данным точкам соответствуют два минимальных значений АЧХ рассчитываемого фильтра.



Рис. 2.6. Нули и полюсы функции передачи
Определим значения нормированной частоты, соответствующей точкам полюсов.

>>p1= 0.8969 + j*0.09367; % координаты первого полюса

angle(p1)/pi % нормированная частота

ans =0.0331
>>p2= 0.931 + j*0.2336; % координаты второго полюса

angle(p2)/pi % нормированная частота

ans =0.0783

Полюса определяют неравномерность коэффициента передачи фильтра в полосе пропускания. Критерием устойчивости цифрового фильтра является нахождение полюсов внутри единичного круга.

Составим уравнение функции передачи спроектированного фильтра. Для этого выведем на экран значения коэффициентов Num и Den:

>> Num

Num =

1.0e-03 *

0.3672 -0.0695 0.4913 -0.0695 0.3672
>> Den

Den =

1.0000 -3.6559 5.0747 -3.1670 0.7493
Уравнение функции передачи:

( 2.1)

Разностное уравнение фильтра запишем в виде:



(2.2)

В (2.2) для рекурсивной части фильтра берем значения коэффициентов ‒Den с обратным знаком.

На основании разностного уравнения составляем структурную схему фильтра (см. рис. 2.7).

Порядок фильтра равен количеству линий задержки.

Коэффициенты умножителей b1-b5равны:



Коэффициенты умножителей рекурсивной части фильтра a2