МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №1
з курсу:
«Цифрова обробка сигналів і зображень»
на тему:
«Дискретне перетворення Фур’є
та його застосування для спектрального
аналізу сигналів»
Львів – 2013
Мета роботи – ознайомлення із математичним апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів.
ЗАВДАННЯ
1. Ознайомитись з теоретичним матеріалом.
2. Навести аналітичний вираз та обчислити спектральні коефіцієнти періодичного сигналу, одержаного шляхом двонапівперіодного випрямлення гармонічного коливання, із параметрами в таблиці. Добрати параметри ДПФ для спектрального аналізу періодичного сигналу, щоб забезпечити вимоги в наступній таблиці. Показати графіки часової функції сигналу і його спектра.
Таблиця 1
№ Вар.
Амплітуда
Am, В
Період коливання
T0, с
Кількість спектральних коефіцієнтів
Роздільча здатність по частоті ΔF, Гц
9
7
0,9
9
1/9
3.Навести аналітичний вираз спектральної густини експоненціального імпульсу s(t)=Am.exp(-|a.t|), параметри якого наведено в табл. 9. Добрати параметри ДПФ для спектрального аналізу імпульсного сигналу, щоб забезпечити вимоги в наступній таблиці. Показати графіки часової функції сигналу і його спектра.
Таблиця 2
№ Вар .
Амплітуда
Am, В
Стала згасання
а,
с
−1
Частотний інтервал, Гц
Роздільча здатність по частоті ΔF, Гц
9
7
0,9
2
0,125
4.Навести аналітичний вираз, що описує спектр дискретних сигналів. Добрати параметри ДПФ для спектрального аналізу дискретизованого трикутного вікна, щоб забезпечити вимоги в наступній таблиці. Показати графіки часової функції сигналу і його спектра.
Таблиця 3
№ Вар.
Амплітуда
Am, В
Тривалість імпульсу, с
Кількість спектральних пелюсток
Роздільча здатність по частоті ΔF, Гц
9
7
0,9
3
1/9
5.Написати програму в середовищі MatLab, яка б реалізувала вказаний алгоритм ШПФ, побудувати графіки спектру заданого сигналу без та із накладанням заданого часового вікна. Сигнал представляє собою N вибірок дискретизованого з частотою 8 кГц коду клавіші в стандарті DTFM і зберігається у файлі Lab_9_варіант у змінній Signal. На підставі аналізу спектру визначити код натиснутої клавіші.
Таблиця 4
№ Вар.
Вікно
Сигнал
Назва файлу
9
Хемінга
N=256
Lab_1_9.mat
2.ЛІСТИНГИ ПРОГРАМ, ГРАФІКИ СИГНАЛІВ ТА ЇХ СПЕКТРІВ, КОД НАТИСНЕНОЇ КЛАВІШІ, СПЕКТРИ СИГНАЛУ ДО І ПІСЛЯ НАКЛАДАННЯ ВІКНА
Дослідження періодичного сигналу
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=7;% Амплітуда гармонійного коливання
k=9; %кількість спектральних коефіцієнтів
Tk=0.9; % період гармонійного коливання
dF=1/9; % роздільча здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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 7]); 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([-1 1 0 7]); hold on
stem (-t(length(t))-Ts:Ts:2*t(length(t))+Ts, s); hold off;
Результати роботи програми:
//
Рис.1 Часова функція періодичного сигналу
/
Рис.2 Спектр періодичного сигналу
2.2 Експоненціальний імпульс
Лістинг програми:
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); % частотне представлення сигналу
Результати роботи програми:
/
Рис.3 Часова функція експоненціального імпульсу
/
Рис.4 Спектр експоненціального імпульсу
2.3 Дискретний сигнал
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
Am=7; % Амплітуда трикутного імпульсу
tau=0.95; % тривалість імпульсу
k=3; % кількість спектральних пелюсток
dF=1/9; % роздільча здатність по частоті
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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; % частотне представлення сигналу
Результати роботи програми:
/
Рис.5 Часова функція дискретного сигналу
/
Рис.6 Спектр дискретного сигналу
2.4 DTMF-сигнал
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять робочого середовища
%%%%%%%%%% ВАРІАТИВНА ЧАСТИНА %%%%%%%%%%%%%%%%%%%%%%
load Lab_1_9.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=hamming(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 Часова функція DTMF сигналу
/
Рис.8 Спектр DTMF сигналу
Частота х1 = 687.5 Гц.
Частота х2 = 1343.75 Гц.
Наблизимо ці значення до табличних (таблиця 5), щоб отримати значення натиснутої клавіші, отже 687.5 ≈ 697 і 1343.75 ≈ 1336. На перетині цих значень ми отримаємо клавішу 2.
Таблиця 5
/
Висновок: на цій лабораторній роботі я ознайомився з математичним апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів, дізнався про явище розтікання спектру, і те як можна його уникнути, а також про формування та застосування DTMF – сигналів.