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

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

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

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

Добавлен: 03.02.2024

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

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

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

а2=‒3.6559; а3=5.0747; а4= ‒3.1670; а5=0.7493;

Коэффициент a1=1 и заменен проводом.



Рис. 2.7. Структурная схема фильтра ФНЧ 4-го порядка
Преобразуем функцию передачи в произведение простейших множителей.

>> [q,p,k]=tf2zpk(Num,Den); % расчёт коэффициентов

>> q

q =

0.4569 + 0.8895i

0.4569 - 0.8895i

-0.3624 + 0.9320i

-0.3624 - 0.9320i

>> p

0.9310 + 0.2336i

0.9310 - 0.2336i

0.8969 + 0.0937i

0.8969 - 0.0937i

>> k

k = 3.6724e-04

Запишем передаточную функцию в виде произведения сомножителей нулей q (числитель) и полюсов p (знаменатель).



Положение нулей и полюсов соответствует рис. 2.6.

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

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

Программа 3.1

% фильтрация двоичной последовательности

Ya=filter(Num, Den, a); % знаменатель функции передачи для КИХ равен 1

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

NFT = 2^nextpow2(N); % Число точек БПФ, кратное степени 2

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

SPY=fft(Ya,NFT)/N;

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

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

SPPY=SPY.*conj(SPY);

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

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

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

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

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

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

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

ylabel(ax1,' Ya(n)')

axis(ax1,[0 N-1 -max(Ya) max(Ya)])

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

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

grid(ax1,'on')

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

plot(ax2, LFT,10*log10(2*SPPY(1:NFT/2+1)), 'LineWidth',2, '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')

Для выполнения программы 3.1, должна быть выполнена программа 1.1 и в экспортированы в рабочую область MatLab рассчитанные коэффициенты фильтра Num и Den.

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

Получим глазковую диаграмму. >> eyediagram(Ya',M,1,0,'k'). Результат выполнения данной команды показан на рис. 3.2.


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



Рис. 3.2. Глазковая диаграмма двоичной последовательности после ФНЧ

В отличие от рис. 1.2, на рис. 3.2 линии не прямые. Значение сигнала начинается от 0 и плавно переходит к 1, см. верхний график на рис. 3.1. Также наблюдается задержка сигнала соизмеримая с длинной тактового интервала символа. При смене знака сигнала рис. 3.1 наблюдается переходной процесс, обусловленный переходной характеристикой ЦФ.

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


Частоту гармонического колебания выбираем в 5 раз больше частоты основного лепестка спектра двоичной последовательности (для всех вариантов).

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

Программа 4.1

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]; % номера отсчётов в сообщении «КрКоВл»

% гармоническое колебание с частотой в 5 раз больше

C=cos(5*2*pi*n/M);

Ys=a+C; % сумма сигналов

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

NFT = 2^nextpow2(N); % Число точек БПФ, кратное степени 2

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

SP=fft(Ys,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, Ys, 'LineWidth',1, 'Color','k')

title(ax1,'Сумма двух сигналов')

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

ylabel(ax1,'a(n)+cos(n)')

axis(ax1,[0 N-1 -max(Ys) max(Ys)])

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',2, 'Color','k')

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

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

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

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

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

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

ax2.YLim =( [-60 0]);

grid(ax2,'on')
Результат работы программы 4.1 показан на рис. 4.1.



Рис. 4.1. Сумма двух сигналов и её спектр мощности

На рис. 4.1 хорошо видно гармоническое колебание на нормированной частоте 0,3846. Выберем, нормированную частоту среза 2/13=0,1538 рассчитаем в программе fdatool коэффициенты фильтра. Для преобразования многосекционного фильтра в односекционный используем команду: Edit – Convert to Single Section и сохраним в рабочей памяти под именем Num и Den.

Составим программу фильтрации по аналогии с программой 3.1.

% фильтрация суммы двоичной последовательности и

% гармонического сигнала

Ya=filter(Num, Den, Ys); % знаменатель функции передачи для КИХ равен 1

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

NFT = 2^nextpow2(N); % Число точек БПФ, кратное степени 2

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

SPY=fft(Ya,NFT)/N;

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

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

SPPY=SPY.*conj(SPY);

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

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

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

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

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

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

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

ylabel(ax1,' Ya(n)')

axis(ax1,[0 N-1 -max(Ya) max(Ya)])


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

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

grid(ax1,'on')

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

plot(ax2, LFT,10*log10(2*SPPY(1:NFT/2+1)), 'LineWidth',2, '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')

На рис. 4.2 показан результат фильтрации для рассматриваемого примера с частотой среза ФНЧ 2/13=0,1538.



Рис. 4.2. Символы двоичной последовательности после фильтрации

Магнитуда гармонического колебания уменьшилась примерно на 50 дБ (по мощности в 105 раз).
Выводы
В ходе выполнения работы для заданной двоичной последовательности рассчитан спектр мощности. По ширине главного лепестка спектра мощности сигнала выбрана нормированная частота 0,0769 среза цифрового фильтра. Программными средствами fdatool MatLab синтезирован рекурсивный эллиптический цифровой фильтр 4 порядка.

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

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

Выполнена фильтрация суммы двоичной последовательности и гармонического сигнала частотой в 5 раз выше ширины главного лепестка спектра мощности последовательности. Для этого синтезирован цифровой фильтр с нормированной частотой среза 0,1538. Подавление на частоте гармонического сигнала составило 50 дБ. За счет увеличения полосы пропускания уменьшилась задержка сигнала, до половины длительности одного символа двойничной последовательности.

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


  1. Цифровая обработка сигналов : метод. указания по выполнению курсовой работы / А.В. Стафеев. – Хабаровск : Изд-во ДВГУПС, 2018. – 31 с.: ил.

  2. Айфичер, Э. C., Цифровая обработка сигналов: практический подход: пер. с англ. / Э. C. Айфичер, Б.У Джервис. – изд. 2–е. – M.:
    Изд. дом Вильямс, 2004.

  3. Солонина А.И., Улахович Д., Соловьева E.,Основы цифровой обработки информации, Курс лекций. 2-изд. СПб: БХВ-Петербург, 2005., 768c.

  4. Сергиенко А.Б., Цифровая обработка сигналов : учеб. пособие
    / А.Б. Сергиенко. – 3-е изд. – СПб. : БХВ-Петербург, 2011.

  5. Лайонс Р., Цифровая обработка сигналов. – М.: Бином-Прес, 2009. 656 c.

  6. Цифровая обработка сигналов и Matlab: учебное пособие для вузов / Солонина А.И. и др. ‒ СПб.: Питер, 2013. — 512 с.

  7. Сато Юкио, Обработка сигналов. Первое знакомство: Пер. с яп. / Ю. Сато. — М.: Додэка-XXI, 2009. — 175 с.

  8. Цифровая обработка сигналов: Пер. с англ. / А. Оппенгейм, Р. Шафер. — М.: Техносфера, 2006. — 856 с.

  9. http://matlab.ru/education/student-trial

  10. http://www.mathworks.com/help/matlab/ref/randn.html