功率谱密度和快速傅里叶变换基本问题

信息处理 matlab 数字通信
2022-02-01 22:20:53

我是信号处理的新手,我正在尝试正确理解基本概念。我有一个信号,我FFT在 MATLAB 中执行了该信号。我还使用命令PSD在 MATLAB 中对信号进行了处理。psd

所以我很困惑:

1)当我们得到FFT信号时,它基本上显示了信号内部的频率分量。所以这是一个频率与什么的关系图?它是以伏特为单位的幅度(取信号的绝对值)?如果我想根据频率绘制 dbV,我应该只对 abs 值进行 mag2dB 转换吗?以下是对的吗?

我试过的代码:

Fs = 16000;
t = 0: 1/Fs : 2*(Fs-1)/Fs;
y1 = sin(2*pi*500*t );
fshift = (fftshift(fft(y1)));
f = -8000 : 1/2 : 7999;
figure;
plot(f,mag2db(abs(fshift)));

2)现在PSD,我使用了 MATLAB 的 dspdata.psd 并得到了一个绘图。在图上,我得到了频率分量,但最大振幅(以 dB 为单位)与FFT图的最大振幅(以 dB 为单位)不同。这是为什么?是因为dsp使用 10log 10 而 mag2dB 使用的是 20 log 10?

3)在PSD图中,我得到了两个图,一个是蓝色的,一个非常明显,一个是绿色的,幅度较小,这个绿色的是什么?

下面的代码:

Fs = 16000;
t = 0: 1/Fs : 2*(Fs-1)/Fs;
y1 = sin(2*pi*500*t );
psd1=spectrum(y1,1024);
hpsd = dspdata.psd(psd1,'Fs',Fs); % Create a PSD data object.
figure;
plot(hpsd); % Plot the PSD
1个回答

第二个痕迹可能是相位。您可以将频谱密度表示为正弦项和余弦项(同相和异相项)或幅度和相位角。在您的第一个示例中,对于您的绘图,您已将 sin/cos 项转换为幅度,并丢弃了相位信息。

是的,对数功率与对数电压相差两倍。 但是计算 FT 和逆 FT 或 PSD 和逆 PSD 的的常数值放在不同的位置:如果您使用不同的计算方法,您有时会发现您选择了不同的 FT 归一化。2log(V)=log(V2)π