Сигналы и системы-Расчет сигнала DFT-Запись задания

1. Экспериментальный контент

Пример названия:

 

 

 

2. Экспериментальная цель

  1. Основные расчеты DFT непрерывного времени, дискретной частоты, дискретного времени и дискретной частоты
  2. Освойте влияние 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 — количество данных БПФ.

  1. Когда L<N, количество точек данных усекается, и явление утечки спектра очевидно.Когда L мало, точек данных БПФ слишком мало, разрешение по частоте низкое, и трудно различить спектральные компоненты сигнал.
  2. Когда L=N, нет других частотных составляющих, вызванных добавлением нулей.
  3. Когда 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)).

Guess you like

Origin blog.csdn.net/zxj9_9_5__9_7/article/details/130464909