DSP / cos_lab2
.pdfОтчет по лабораторной работе № 2 «Дискретное преобразование Фурье»
дата |
Оценка |
Бонус за |
подпись |
|
(max 5) |
сложность |
|
Цели работы:
Исследовать свойства преобразования Фурье для дискретных сигналов.
Задачи работы:
1.Изучение процессов и особенностей применения ДПФ к дискретным сигналам.
2.Изучение свойств ДПФ на практике.
3.Научиться применять инструменты программного пакета MatLab для ДПФ.
4.Ознакомиться с модулем SpTool
Краткий конспект теоретической части
Теорема Фурье _______________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Дискретное Преобразование Фурье_______________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Свойства ДПФ ________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Быстрое преобразование Фурье _________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
____________________________________________________________________________
_____________________________________________________________________________
1.Дискретное преобразование Фурье в программном пакете MatLab
Втаблице 1 представлены функции MatLab, используемые для работы с ДПФ.
Таблица 1 – Функции Matlab для работы с ДПФ
Функция |
Описание |
|
|
Вычисляет прямое ДПФ для вектора X ; |
|
y = fft(x) |
если X -матрица, то преобразование |
|
производится для каждого столбца в |
||
|
||
|
отдельности |
|
|
Предварительно приводит данные к размеру |
|
y = fft(x, N) |
N , урезая их или дополняя нулями. Размер |
|
N обычно задается как 2 в некоторой |
||
|
||
|
степени. |
|
x = ifft(y) |
аналогичные команды для вызова функции |
|
x = ifft(y, N) |
обратного ДПФ. |
В результате применения функции fft получим комплексную составляющую спектра исходного сигнала, представленную в алгебраической форме. По составляющим вектора X можно определить модуль, отдельно действительную и отдельно мнимую составляющие спектра.
Задание: разработать скрипт для построения графиков анализируемого сигнала, действительной и мнимой составляющей сигнала и график модуля гармоник согласно Вашему варианту.
N=8; |
%Количество отсчетов. |
|
n=0:1:7; |
%Индексы |
отсчетов. |
t=1/8000; |
%Частота |
дискретизации. |
x=sin(2*pi*1000*n*t)+0.5*sin(2*pi*2000*n*t+3*pi/4);%Входной сигнал.
figure(1) |
|
plot(x),grid on |
%График анализируемого сигнала. |
y=fft(x) |
%Преобразование Фурье. |
figure(2) |
%График действительной составляющей. |
stem(real(y)),grid on |
|
figure(3) |
|
stem(imag(y)),grid on |
%График мнимой составляющей. |
Xm=abs(y) |
|
figure(4) |
%График модуля гармоник. |
stem(Xm),grid on |
|
Xmm=2*abs(y)/N |
|
figure(5) |
|
stem(Xmm),grid on |
%График модуля гармоник (нормированный). |
(вклейте разработанную Вами программу)
Вклейте полученные графики в соответствующие поля:
Рисунок 1 – Исходная последовательность
Рисунок 2 – Действительная часть ДПФ |
Рисунок 3 – Мнимая часть ДПФ |
Рисунок 4 – Ненормированный модуль ДПФ |
Рисунок 5 – нормированный модуль ДПФ |
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Эффект растекания спектра
При ДПФ мы предполагали (умалчивая), что последовательность отсчетов анализируемого сигнала является периодически продолженной вперед и назад во времени. При этом, если значения начальных и конечных отсчетов сигнала сильно отличаются, при периодическом повторении на стыках сегментов возникают скачки, из-за которых спектр сигнал расширяется.
Задание: разработать скрипт для построения характеристик на частоте, кратной и не кратной гармонике согласно вашему варианту.
N=32;
n=0:1:31;
t=1/32000;
x=sin(2*pi*8000*n*t);
y=fft(x);
xp=fftshift(y) f=-N/2:1:(N/2-1) a=abs(xp)/16 figure(1) stem(f,a),grid on
x2=sin(2*pi*8500*n*t);
y2=fft(x2);
xp2=fftshift(y2)
a2=abs(xp2)/16
figure(2) stem(f,a2),grid on
(вклейте разработанную Вами программу)
Вклейте результаты выполнения скрипта:
Рисунок 8 – Спектр сигнала для частоты ______Гц
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Рисунок 9 – Спектр сигнала для частоты __8500_Гц
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Спектр меандра
Меандр – это последовательность прямоугольных импульсов со скважностью, равной двум. В спектре меандра присутствуют только нечетные гармоники:
|
A |
|
2A |
2 |
|
|
1 |
|
2 |
|
|
1 |
|
2 |
|
|
||
s(t) |
|
|
|
cos |
|
t |
|
|
cos 3 |
|
t |
|
|
cos 5 |
|
t |
|
|
|
|
|
|
|
|
|
||||||||||||
|
2 |
|
T |
|
|
3 |
|
T |
|
5 |
|
T |
|
|||||
|
|
|
|
|
Гармоники, образующие меандр имеют амплитуду, обратно пропорциональную номеру соответствующей гармоники.
Задание: разработать код m-файла, результатом выполнения которого являются графики меандра, реализованные с различным количеством гармоник (1,2,…, 10, 25, 100 и др.)
N=5;
fs=100; t=-1:1/fs:1-1/fs;
nh=(1:N)*2-1; y=cos(2*pi*nh'*t/T);
Am=2/pi./nh; Am(2:2:end)=-Am(2:2:end); s1=y.*repmat(Am',1,length(t)); s2=cumsum(s1);
for k=1:N subplot(2,2,k) plot(t, s2(k,:))
end
(вклейте разработанную Вами программу)
Вклейте результаты выполнения скрипта:
Рисунок 10 – Графики меандра, содержащего различное число гармоник
Функции Matlab, использованные в примере
Функция sum(X) в случае одномерного массива возвращает сумму элементов массива; в случае двумерного массива - это вектор-строка, содержащая суммы элементов каждого столбца.
Функция cumsum(X), кроме того, возвращает все промежуточные результаты суммирования.
Пример:
Рассмотрим массив M:
M = 8 1 6
35 7
49 2
Результаты выполнения функций:
cumsum(M) |
sum(M) |
|||
8 |
1 |
6 |
15 15 15 |
|
11 6 |
13 |
|||
|
||||
15 |
15 |
15 |
|
|
|
|
|
|
Функция repmat(A,M,N) - формирование массива из частей - использует преимущество векторизации. Она имеет три входных аргумента: массив A, количество строк М и столбцов N для вновь создаваемого массива.
Функция repmat возвращает массив B , который использует массив A в качестве основы для построения блочной матрицы с количеством блоков MxN.
Пример:
A = [1 2 3; 4 5 6];
B = repmat(A, 2, 3);
Результаты выполнения функции:
B = |
|
|
|
|
|
|
|
|
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
4 |
5 |
6 |
4 |
5 |
6 |
4 |
5 |
6 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
4 |
5 |
6 |
4 |
5 |
6 |
4 |
5 |
6 |
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Задание: разработать скрипт Matlab, результатом которого являются графики ДПФ меандра при использовании различного количества гармоник.
(вклейте разработанную Вами программу)
Вклейте результаты выполнения скрипта:
Рисунок 11 – Графики спектра меандров с различным числом гармоник
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________