我是信号处理的新手,我正在尝试正确理解基本概念。我有一个信号,我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