МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИСТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра «Захист інформації»
З В І Т
про виконання лабораторної роботи №1
з курсу «Цифрова обробка сигналів»
на тему:
«ДИСКРЕТНЕ ПЕРЕТВОРЕННЯ ФУР’Є ТА ЙОГО ЗАСТОСУВАННЯ ДЛЯ СПЕКТРАЛЬНОГО АНАЛІЗУ СИГНАЛІВ»
Мета роботи – ознайомлення із математичним апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосування для спектрального аналізу реальних сигналів.
ЗАВДАННЯ
Ознайомитись з теоретичним матеріалом.
Навести аналітичний вираз та обчислити спектральні коефіцієнти періодичного сигналу, одержаного шляхом двонапівперіодного випрямлення гармонічного коливання, із параметрами в табл. 1. Добрати параметри ДПФ для спектрального аналізу періодичного сигналу, щоб забезпечити вимоги табл. 1. Показати графік часової функції сигналу і його спектра.
Таблиця 1
№ з\п
Амплітуда Am, В
Період коливання T0, с
Кількість спектральних коефіцієнтів
Роздільна здатність по частоті ΔF, Гц
22
1
1.5
7
0.2
Навести аналітичний вираз спектральної густини експоненціального імпульсу , параметри якого наведено у табл. 2. Добрати параметри ДПФ для спектрального аналізу імпульсного сигналу, щоб забезпечити вимоги табл. 2. Показати графіки часової функції сигналу і його спектра.
Таблиця 2
№ з\п
Амплітуда Am, В
Стала згасання а, с-1
Частотний інтервал, Гц
Роздільна здатність по частоті ΔF, Гц
22
7
0.9
2
0.125
Навести аналітичний вираз, що описує спектр дискретних сигналів. Вибрати параметри ДПФ для спектрального аналізу дискретизованого трикутного вікна, щоб забезпечити вимоги табл. 3. Показати графіки часової функції сигналу і його спектра.
Таблиця 3
№ з\п
Амплітуда Am, В
Тривалість імпульсу, с
Кількість спектральних пелюсток
Роздільна здатність по частоті ΔF, Гц
22
2
1.1
2
1/11
Написати програму в середовищі MATLAB, яка б реалізувала вказаний алгоритм ШПФ, побудувати графіки спектру заданого сигналу без та із накладанням заданого часового вікна. Сигнал представляє собою N вибірок дискретизованого з частотою 8 кГц коду клавіші в стандарті DTFM і зберігається у файлі Lab_1_варіант у змінній Signal (див. табл. 4). На підставі аналізу спектру визначити код натиснутої клавіші.
Таблиця 4
№ з\п
Вікно
Сигнал
Назва файлу
22
Ханна
N=512
Lab_1_22.mat
РЕЗУЛЬТАТИ ВИКОНАННЯ РОБОТИ
;;;;
;;;.
Лістинг програми
clc; % очистити командне вікно
clear all; % звільнити пам’ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=1;% Амплітуда гармонійного коливання
k=7; %кількість спектральних коефіцієнтів
Tk=1.5; % період гармонійного коливання
dF=0.2; % роздільна здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
T0=Tk/2; % період сигналу одержаного шляхом двонапівперіодного випрямлення
Fmax=k*1/T0;% k-та гармоніка у спектрі сигналу (максимальна частота)
Ts=1/(2*Fmax); % період дискретизації за теоремою Котельникова
T=1/dF; % інтервал спостереження ДПФ, що забезпечує роздільну здатність dF
t=0:Ts:T-Ts; % N дискретних моментів часу на інтервалі спостереження
s=abs(Am*sin(2*pi*t/Tk));% N значень сигналу у дискретні моменти часу
y=fft(s); % швидке ДПФ,
% y приймає N дискретних спектральних значень у діапазоні [0..Fs]
yy=fftshift(y); % перестановка правої і лівої частин для відображення у діапазоні [-Fs/2..Fs/2]
figure(1);
tau=0:Ts/8:T-Ts;
plot (tau,abs(Am*sin(2*pi*tau/Tk))); hold on
stem(t,s); hold off % часове представлення сигналу
figure (2);
xx=abs(yy/(length(yy))); % амплітудний спектр сигналу (з множником 1/N)
f=-1/(2*Ts):dF:1/(2*Ts)-dF; % частоти, що відповідають N дискретним спектральним значенням
stem (f,xx); % частотне представлення сигналу
figure(3);
s=[s s s];
plot (-t(length(t))-Ts:Ts:2*t(length(t))+Ts, s); hold on
stem (-t(length(t))-Ts:Ts:2*t(length(t))+Ts, s); hold off;
Результат роботи програми
/
Рис. 1. Часова функція періодичного сигналу
/
Рис. 2. Спектр періодичного сигналу
/
Рис. 3. Часова функція періодичного сигналу
Лістинг програми
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=7; % Амплітуда імпульсу
a=0.9; % стала згасання експоненційного імпульсу
Fmax=2; % частотний інтервал
dF=0.125; % роздільча здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ts=1/(2*Fmax); % період дискретизації за теоремою Котельникова
T=1/dF; % інтервал спостереження ДПФ, що забезпечує роздільчу здатність dF
t=0:Ts:(T-Ts); % N дискретних моментів часу на інтервалі спостереження
s=Am*exp(-abs(a*t)); % N значень сигналу у дискретні моменти часу
y=fft (s); % швидке ДПФ,
% y приймає N дискретних спектральних значень у діапазоні [0..Fs]
yy=fftshift (y); % перестановка правої і лівої частин для відображення у діапазоні [-Fs/2..Fs/2]
figure(1);
tau=0:Ts/8:T-Ts;
plot (tau,Am*exp(-abs(a*tau))); hold on
stem(t,s); hold off % часове представлення сигналу
figure (2);
xx=abs(yy*Ts); % амплітудний спектр сигналу (з домноженням на Ts)
f=-1/(2*Ts):dF:1/(2*Ts)-dF; % частоти, що відповідають N дискретним спектральним значенням
stem (f,xx); % частотне представлення сигналу
Результат роботи програми
/
Рис. 4. Часова функція експоненціального імпульсу
/
Рис. 5. Спектр експоненціального імпульсу
Лістинг програми
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=2; % Амплітуда трикутного імпульсу
tau=1.1; % тривалість імпульсу
k=2; % кількість спектральних пелюсток
dF=1/11; % роздільна здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fmax=k/(tau/2); % частота, що відповідає k-пелюсткам у спектрі
Ts=1/(2*Fmax); % період дискретизації за теоремою Котельникова
T=1/dF; % інтервал спостереження ДПФ, що забезпечує роздільчу здатність dF
i=1;
for t=0:Ts:(T-Ts); % N дискретних моментів часу на інтервалі спостереження
if t<(tau/2) % значення сигналу у дискретні моменти часу
s(i)=(2*Am*t)/tau; % що відповідають лівому фронту імпульсу
elseif t<tau
s(i)=(-2*Am*t)/tau +2*Am; % що відповідають правому фронту імпульсу
else
s(i)=t*0;
end;
i=i+1;
end
y=fft(s); % швидке ДПФ, y приймає N дискретних спектральних значень у діапазоні [0..Fs]
yy=fftshift(y); % перестановка правої і лівої частин для відображення у діапазоні [-Fs/2..Fs/2]
xx=abs(yy*Ts); % амплітудний спектр сигналу(з домноженням на Ts)
figure (1);
t=0:Ts:(T-Ts);
plot (t,s); hold on;
stem (t,s); hold off; % часове представлення сигналу
figure (2);
f=-1/(2*Ts):dF:1/(2*Ts)-dF; % частоти, що відповідають N дискретним спектральним значенням
plot (f,xx); hold on;
stem (f,xx); hold off; % частотне представлення сигналу
Результат роботи програми
/
Рис. 6. Часова функція дискретного сигналу
/
Рис. 7. Спектр дискретного сигналу
Лістинг програми
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
load Lab_1_22.mat % завантажити у робоче середовище
% N дискретних значень сигналу (змінна Signal)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fs=8000; % частота дискретизації сигналу-коду клавіші
Ts=1/Fs; % період дискретизації
T=length(Signal)*Ts; % інтервал спостереження сигналу-коду клавіші
dF=1/T; % роздільна здатність по частоті
y=Signal;
x=fft(y); % швидке ДПФ, y приймає N дискретних спектральних значень у діапазоні [0..Fs]
xx=fftshift (x); % перестановка правої і лівої частин для відображення у діапазоні [-Fs/2..Fs/2]
xx=abs(xx); % амплітудний спектр сигналу
figure (1);
t=0:Ts:T-Ts;
plot (t,Signal); % часове представлення сигналу сигналу-коду клавіші
figure (2);
f=(-Fs/2):dF:Fs/2-dF; % частоти, що відповідають N дискретним спектральним значенням
subplot (2,1,1);
stem (f,xx); title ('Амплітудний спектр сигналу без накладання вікна');
axis ([-2e3 2e3 0 50]);
subplot (2,1,2);
w=hann (length(y)); % обчислення вагових коефіцієнтів за ф-єю Ханна
x=fft(y.*w); % швидке ДПФ, з попереднім домноженням на вагову ф-ю
xx=fftshift (x); % перестановка правої і лівої частин для відображення у діапазоні [-Fs/2..Fs/2]
xx=abs(xx); % амплітудний спектр сигналу
stem (f,xx); title ('Амплітудний спектр сигналу з вікном Ханна');
axis ([-2e3 2e3 0 50]);
Результат роботи програми
/
Рис. 8. Часова функція DTFM сигналу
/
Рис. 9. Спектр DTFM сигналу
Частота х1=859.4 Гц.
Частота х2=1343.8 Гц.
Щоб отримати значення натиснутої клавіші, потрібно наблизити отримані значення до табличних (див. табл. 5).
Таблиця 5.
Частота, Гц
1209
1336
1477
697
1
2
3
770
4
5
6
852
7
8
9
941
*
0
#
Отже, х1=852 Гц, х2=1336 Гц. Згідно з таблицею, отримаємо клавішу «8».
ВИСНОВОК
При виконанні даної лабораторної роботи потрібно було ознайомитися з математичним апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів.
Спершу було наведено аналітичний вираз та обчислено перших 7 спектральних коефіцієнтів періодичного сигналу , одержаного шляхом двонапівперіодного випрямлення гармонічного коливання, згідно з даними табл.1. У середовищі MATLAB побудовано графіки часової функції сигналу та його спектра.
Далі наведено аналітичні вирази спектральної густини експоненціального імпульсу та трикутного імпульсу , параметри яких наведено у табл. 2 та табл. 3 відповідно. Побудовано графіки часової функції даних сигналів, а також іх спектрів.
Написано програму у середовищі MATLAB, що реалізує алгоритм ШПФ, побудовано графіки спектру сигналу без та з накладанням вікна (згідно із параметрами табл. 4).
На підставі аналізу отриманого спектру сигналу визначено код натиснутої клавіші (у даному випадку – «8»).