1. Экспериментальный контент
Пример названия:
2. Экспериментальная цель
- Основные расчеты DFT непрерывного времени, дискретной частоты, дискретного времени и дискретной частоты
- Освойте влияние N и L на спектр сигнала
3. Экспериментальные принципы
Для сигналов с непрерывным временем сначала выполните их выборку на частоте дискретизации fs, дискретизируйте их временную и частотную области, а затем выполните операции БПФ.
Пусть длина выборочной последовательности или дискретной последовательности равна L, и fft(x,N) вычисляет ДПФ N точек.
- Если L>N, исходная последовательность будет усечена до последовательности из N точек и будет рассчитано ДПФ из N точек;
- Если L<N, дополните исходную последовательность нулями до точки N, а затем вычислите ДПФ точки N.
fftshift() меняет местами лево и право, при этом fs/2 находится в центре, а диапазон абсцисс составляет -fs/2~fs/2.
4. Результаты экспериментов и анализ.
Задание 1
Экспериментальный код:
Поскольку необходимо вычислить влияние различных размеров L на спектральный анализ, функция fft используется для расчета многократно, поэтому она упакована в следующую функцию (fftnyf.m):
function [x,y] = fftnyf(N,L)
fs=600;
f1=100;
f2=120;
t=(0:N-1)*1/fs;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);
F=fft(x,L);
x=(-L/2:L/2-1)*fs/L;
y = fftshift(abs(F)*2/min(N,L));
end
Код скрипта (f_anaанализ.m) (построены спектрограммы пяти размеров L):
clear
[x,y]=fftnyf(128,16);
figure
subplot(511)
plot(x,y);
title('N=128,L=16');
axis([-300,300,0,1.2]);
[x,y]=fftnyf(128,32);
subplot(512)
plot(x,y);
title('N=128,L=32');
axis([-300,300,0,1.2]);
[x,y]=fftnyf(128,64);
subplot(513)
plot(x,y);
title('N=128,L=64');
axis([-300,300,0,1.2]);
[x,y]=fftnyf(128,128);
subplot(514)
plot(x,y);
title('N=128,L=128');
axis([-300,300,0,1.2]);
[x,y]=fftnyf(128,256);
subplot(515)
plot(x,y);
title('N=128,L=256');
axis([-300,300,0,1.2]);
Результаты эксперимента:
анализировать:
N — заданная точка данных, L — количество данных БПФ.
- Когда L<N, количество точек данных усекается, и явление утечки спектра очевидно.Когда L мало, точек данных БПФ слишком мало, разрешение по частоте низкое, и трудно различить спектральные компоненты сигнал.
- Когда L=N, нет других частотных составляющих, вызванных добавлением нулей.
- Когда L>N. Заполнение точек данных нулями приведет к появлению многих других компонентов в амплитудном спектре из-за добавления нулей к сигналу во временной области.Плотность спектра увеличится, но разрешение не улучшится.
Таким образом, количество точек данных БПФ L влияет на состав и плотность спектрального спектра.
Домашнее задание 2
Экспериментальный код:
Поскольку во втором вопросе необходимо построить спектр сигнала разных L, следующий мультиплексированный код упаковывается в функцию (fftQ2):
function [x,y] = fftQ2(L)
N=64;
k=0:N-1;
x=cos(2*pi/15*k)+0.75*cos(2.3*pi/15*k);
X=fft(x,L);
x=(-L/2:L/2-1)*1/L;
y=abs(fftshift(X))*2/min(N,L);
end
Основная функция (Q2_draw.m):
clear
%64个点的fft
[n1,F1]=fftQ2(64);
figure
subplot(311)
plot(n1,F1)
title("N=64,L=64");
[n2,F2]=fftQ2(128)
subplot(312)
plot(n2,F2);
title("N=64,L=128");
[n3,F3]=fftQ2(256)
subplot(313)
plot(n3,F3);
title("N=64,L=256");
Результаты эксперимента:
X[k]64 -точечный спектр сигнала БПФ
Вопрос второй:
Два спектральных пика нельзя различить путем заполнения нулями этих 64-точечных сигналов, поскольку заполнение нулями не может улучшить частотное разрешение сигнала, но может улучшить детали разрешения синтетического сигнала после оконной обработки сигнала, увеличить спектральную плотность. и сделать амплитудный спектр центрированным.Появляется много других ингредиентов.
Код приложен выше, а результат запуска графика выглядит следующим образом:
5. Резюме (проблемы, возникшие в ходе эксперимента, полученный опыт, мысли и т.д.)
Краткое изложение мыслей и опыта по некоторым операциям эксперимента:
Хотя программное обеспечение Matlab поставляется с функцией БПФ для реализации алгоритма быстрого преобразования Фурье, спектр сигнала невозможно получить напрямую, используя только БПФ.Необходимо решить следующие проблемы:
- Преобразование амплитуды
Амплитуда последовательности X(k) связана с длиной N (min (N, L)) временной последовательности x(n), участвующей в преобразовании. Преобразованную амплитуду |X(k)| необходимо умножить на 2/N, чтобы получить истинную амплитуду
- Эффективная область частот
Последовательность X(k) состоит из двух частей сопряженной комплексной последовательности (комплексное сопряжение означает равную амплитуду и противоположную фазу), что эквивалентно тому, что только половина комплексной последовательности является независимой и эффективной. Эта часть комплексной последовательности соответствует частоте области 0 ~ fs/2 (fs — частота дискретизации последовательности дискретных выборок во временной области x(n)).