 
        
        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 – Графики спектра меандров с различным числом гармоник
Выводы: _________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
