- •Формирование четырёх четных последовательностей прямоугольных периодических импульсов единичной амплитуды с параметрами:
- •Определение коэффициентов ряда Фурье периодической последовательности и построение графиков зависимостей амплитудных спектров сигналов от .
- •2. Определение прямого преобразования Фурье для заданного сигнала и построение графиков амплитудного и фазового спектров.
- •3. Написание функции вычисления дискретного преобразования Фурье (дпф).
- •Вычисление и построение спектров сигнала с помощью функции fft().
- •6. Изучение свойств преобразования Фурье.
- •6.1. Иллюстрация свойства линейности.
- •6.2. Иллюстрация свойства временного сдвига.
- •6.3. Иллюстрация свойства изменения масштаба.
- •7.4. Иллюстрация свойства свертки.
- •7.5. Теорема Парсеваля.
3. Написание функции вычисления дискретного преобразования Фурье (дпф).
function X=dftsum(x)
% Функция используется для вычисления ДПФ
% функция аппроксимирует интегральное преобразование Фурье
% x-N точечный вектор значений x(0),...,x(N-1) сигнала
% при увеличение N можно добиться лучшей аппроксимации
% X- вектор значений ДПФ
N=length(x);
for n=0:N-1
for k=0:N-1
R(k+1)=x(k+1).*exp(-2*j*pi.*n.*k./N); % формула для вычисления ДПФ
end
X(n+1)=sum(R);
end
% Вычисление спектра и построение его графиков
T=10; dt=0.1; % Определение интервала времени
t=-1:dt:1;
N=length(t);
s=sin(2*pi*t); % задание сигнала
% Добавление нулей к сигналу для увеличения частотного разрешения
S=[zeros(1,2*N) s zeros(1,2*N)];
df=1/(dt*length(S)); Fmax=1/dt; % определение частотной шкалы
f=-(Fmax-df)/2:df:Fmax/2;
y1=dftsum(S); y1p=fftshift(y1); % вычисление и сдвиг ДПФ
% Построение графиков сигнала и его спектров
figure(1), subplot(311), plot(t,s)
set(gca,'FontName','Arial Cyr', 'FontSize',12)
title('Сигнал')
subplot(312), plot(f,abs(y1p),'o-')
set(gca,'FontName','Arial Cyr', 'FontSize',12)
title('Амлитудный спектр'),grid
subplot(313), plot(f,angle(y1p)),
set(gca,'FontName','Arial Cyr', 'FontSize',12)
title('Фазовый спектр')
xlabel('Частота, Гц'), grid
Рис.4. Сигнал, амплитудный и фазовый спектры, построенные с помощью функции dftsum( ).
-
Вычисление и построение спектров сигнала с помощью функции fft().
% Процедура сопоставления преобразования Фурье
% и его вычисления с помощью функции fft()
T=10;% длительность процесса
N=128; % число точек
Ts=T/(N-1); % интервал отсчетов
t=-1:Ts:1; % временной интервал
tau=2; % длительность импульса
x=sin(2*pi*t); % генерирование прямоугольного импульса
figure(1);
subplot(311), plot(t,x) % график сигнала
title(' График сигнала')
Fmax=1/Ts; % максимальная частота
df=1/T; % частотное разрешение
f=-Fmax/2:df:Fmax/2; % частотная шкала
X=fft(x,N); % БПФ сигнала
Xp=fftshift(X); % частотный сдвиг
A=abs(Xp);
subplot(312), plot(f,A*Ts)
title('fft- Амплитудный спектр сигнала')
S=(2*j*2*pi*sin(2*pi.*f))./((2*pi)^2-(2*pi.*f).^2); % преобразование Фурье сигнала
% график
subplot(313), plot(f, abs(S))
xlabel(' Частота, Гц')
title(' Амплитудный спектр сигнала ')
Рис.5. Сигнал и амплитудные спектры, вычисленные с помощью a) fft(); b) аналитических выкладок.
Из графиков видно, что амплитудные спектры, полученные с помощью разных процедур, одинаковы.
6. Изучение свойств преобразования Фурье.
% Процедура иллюстрации свойств преобразования Фурье
N = 128; % Длина сигналов
k = 0:N-1;
gamma = -0.5;
g = exp(gamma*k);
% g - экспоненциальная функция
h = sin(2*pi*k/(N/2));
figure(1),plot(k,g,k,h)
% h - синусоидальная последовательность с периодом = N/2
% вычисление преобразований Фурье сигналов
[G,w] = freqz(g,1,512);
[H,w] = freqz(h,1,512);
Рис.6. График исходных сигналов.