0

Вот мой код для генерации треугольной формы во временной области и для генерации ее соответствующих рядов/преобразований Фурье (я не знаю, является ли его серия или преобразование, потому что Matlab только имеет функцию преобразования Фурье, но поскольку сигнал является периодическим, ссылки скажем, что фурье-аналог должен называться рядами Фурье).Почему частотные спектры меняются при изменении частоты дискретизации?

x = 0; 
s = 50; % number of sinusoidal components 
fs = 330; % hertz 
dt = 1/fs; % differential time 
t = [0:dt:4]; % seconds 
const = 2/(pi^2); 

for k = 1:2:s, 
    x = x + (((-1)^((k - 1)/2))/(k^2)) * sin(4*pi*k*t); 
end 

x = const * x; 

% amplitude = max(x) = 0.2477 
% period = 0.5 seconds 

f = linspace(-fs/2,fs/2,length(x)); 
xk = fftshift(fft(x)); 
figure; 

subplot(3,1,1); 
plot(t,x); 
grid on; 
xlabel('time(seconds)'); 
title('Time Domain'); 

subplot(3,1,2); 
plot(f,abs(xk)); 
grid on; 
xlabel('frequency(hertz)'); 
title('Magnitude Spectrum'); 

subplot(3,1,3); 
plot(f,angle(xk)); 
grid on; 
xlabel('frequency(hertz)'); 
title('Phase Spectrum'); 

А вот сгенерированные графики для сигнала временной области, спектра амплитуды и фазового спектра.

ссылка: fs = 330hz

Моя проблема, когда я изменил частоту дискретизации (Fs, которая в настоящее время равна 330 Гц) на другое значение, участки от величины и фазы изменения спектров.

Вот графики спектров амплитуды и фазы, когда частота дискретизации равна 400 Гц:

ссылка: fs = 400 hz

Можете ли вы объяснить, почему это происходит? И что я могу сделать, чтобы получить постоянные графики для амплитудных и фазовых спектров при любой частоте дискретизации?

ответ

2

Я не могу получить ваши фотографии для загрузки через свой прокси-сервер, но спектр БПФ будет иметь больший «промежуток» посередине с более высокой частотой дискретизации. Основным свойством выборки является то, что она вводит копии вашего исходного спектра; вы, возможно, узнали об этом, если изучили discrete-time Fourier transform. При более высокой частоте дискретизации эти копии находятся дальше друг от друга.

Кроме того, ваши точки выборки будут находиться в разных местах с разной частотой дискретизации, поэтому вы можете получить различное поведение при обрыве.

Кстати, вы получаете дискретное преобразование Фурье в Matlab - вы даете ему конечную последовательность дискретных точек, а не непрерывный, очень длинный сигнал.

Если вы хотите, чтобы графики выглядели одинаково, просто сравните их оси x.

0

Это потому, что спектры с помощью DFT/FFT действительно являются выборочной и нормированной версией исходных аналоговых спектров, поэтому при изменении шага выборки шаг выборки в частотной области также изменяется, поэтому спектральные линии, которые вы видите также меняются, поскольку исходные спектры не являются постоянными. Другим фактором могут быть эффекты сглаживания, поскольку аналоговые спектры треугольной формы волны бесконечны в теории.

Смежные вопросы