Файл: Курсовая работа по теме цифровая обработка сигналов.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 36
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Дальневосточный государственный университет путей сообщения»
Кафедра «Автоматика, телемеханика и связь»
Курсовая работа
по теме
«ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ»
Выполнил: Крылов К.В.
Группа: БЗИ43ИТС
Шифр: КТ20-ИКТ(БТ)-038
Проверил: Кривошеев И.А.
г. Хабаровск 2022 г.
СОДЕРЖАНИЕ
Задание…………………………………………………………………….…3
Введение…………………………………………………………………..….4
-
Построение двоичной последовательности и её спектра…………..5 -
Расчёт цифрового фильтра…………………………...............………8 -
Фильтрация двоичной последовательности………………….…….16 -
Фильтрация суммы двоичной последовательности
и гармонического колебания………………………………………………18
Выводы………………………………………………………………………21
Библиографический список………………………………………………...22
ЗАДАНИЕ
-
В соответствии с вариантом построить осциллограмму и спектр мощности двоичной последовательности. -
С помощью подпрограммы fdatool рассчитать коэффициенты цифрового фильтра. -
Построить импульсную характеристику, АЧХ и ФЧХ рассчитанного фильтра. -
Записать функцию передачи, разностное уравнение и нарисовать структурную схему полученного цифрового фильтра с учётом рассчитанных коэффициентов. -
Построить карту нулей и полюсов функции передачи цифрового фильтра. -
Построить осциллограмму и спектр мощности двоичной последовательности после цифрового фильтра. -
Построить осциллограмму и спектр мощности суммы двоичной последовательности и гармонического колебания. -
Построить глазковую диаграмму двоичной последовательности до и после фильтрации. -
Построить осциллограмму и спектр мощности суммы двоичной последовательности и гармонического колебания после цифрового фильтра.
Исходные данные:
ФИО студента – Крылов Константин Владимирович, вариант 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