МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №1
з курсу:
«Цифрова обробка сигналів»
на тему:
«ДИСКРЕТНЕ ПЕРЕТВОРЕННЯ ФУР’Є ТА ЙОГО ЗАСТОСУВАННЯ ДЛЯ СПЕКТРАЛЬНОГО АНАЛІЗУ СИГНАЛІВ»
Львів – 2013
Мета роботи – ознайомлення із математичним апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів.
ЗАВДАННЯ
1. Навести аналітичний вираз та обчислити спектральні коефіцієнти періодичного сигналу, одержаного шляхом двонапівперіодного випрямлення гармонічного коливання, із параметрами в табл. Показати графіки часової функції сигналу і його спектра.
№
п/п
Амплітуда
Період коливання
Кількість спектральних коефіцієнтів
Роздільча здатність по частоті , Гц
1
2
0,1
6
2
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=2;% Амплітуда гармонійного коливання
k=6; %кількість спектральних коефіцієнтів
Tk=0.1; % період гармонійного коливання
dF=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))); axis([0 Tk 0 Am]);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); axis([-Tk 2*Tk 0 Am]); hold on
stem (-t(length(t))-Ts:Ts:2*t(length(t))+Ts, s); hold off;
2. Навести аналітичний вираз спектральної густини експоненціального імпульсу s(t)=Am×exp(-|a×t|), параметри якого наведено в табл. Добрати параметри ДПФ для спектрального аналізу імпульсного сигналу, щоб забезпечити вимоги в табл. Показати графіки часової функції сигналу і його спектра.
№
п/п
Амплітуда
Стала
згасання а,
Частотний інтервал,
Гц
Роздільча здатність по частоті , Гц
1
2
0,1
0,3
0,01
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=2; % Амплітуда імпульсу
a=0.1; % стала згасання експоненційного імпульсу
Fmax=0.3; % частотний інтервал
dF=0.01; % роздільча здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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); % частотне представлення сигналу
3. Навести аналітичний вираз, що описує спектр дискретних сигналів. Вибрати параметри ДПФ для спектрального аналізу дискретизованого трикутного вікна, щоб забезпечити вимоги в табл. Показати графіки часової функції сигналу і його спектра.
№
п/п
Амплітуда,
В
Тривалість імпульсу,
с
Кількість спектральних пелюсток
Роздільча здатність по частоті , Гц
1
2
0,1
3
2
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=2; % Амплітуда трикутного імпульсу
tau=0.1; % тривалість імпульсу
k=3; % кількість спектральних пелюсток
dF=2; % роздільча здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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; % частотне представлення сигналу
4. Написати програму в середовищі MatLab, яка б реалізувала вказаний алгоритм ШПФ, побудувати графіки спектру заданого сигналу без та із накладанням заданого часового вікна. Сигнал представляє собою N вибірок дискретизованого з частотою 8 кГц коду клавіші в стандарті DTFM і зберігається у файлі Lab_1_варіант у змінній Signal. На підставі аналізу спектру визначити код натиснутої клавіші.
№
п/п
Вікно
Сигнал
Назва
1
Трикутне
N=256
Lab_1_1.mat
Частота, Гц
1209
1336
1477
697
1
2
3
770
4
5
6
852
7
8
9
941
*
0
#
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
load C:\mat\Lab_1_1.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=triang (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]);
Висновок: У даній лабораторній роботі я ознайомився із математичним апаратом опису сигналів у частотній області, змістом дискретного,швидкого перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів, навів графіки часової функції сигналу і його спектру, на підставі аналізу спектру визначив код натиснутої клавіші - клавіша 7.