我正在尝试对信号进行一些计算。该信号应该是来自 rfid 标签的测量读数,该标签由 868 MHz 载波上的 40 kHz 左右的块波调制。我的信号以 250 MHz 采样,给我 1250005 个样本,这些样本存储在这个.mat 文件中。
现在我想绘制频谱 x[n]。我被告知要做的是对 1024 个样本的片段进行 fft。或者使用 Matlabs PSD 函数。但我正在为此苦苦挣扎。到目前为止,这是我的 Matlab 代码:
load antenna_1;
x = channel_1;
Fs = 250e6; % Sampling frequency
t = (0:length(channel_1)-1)*1/Fs; % Time vector
nfft = 1024; % Length of FFT
X = fft(x,nfft);
X = X(1:nfft/2);
mx = abs(X);
f = (0:nfft/2-1)*Fs/nfft; % Frequency vector
plot(t,x);
xlabel('Time (s)'); ylabel('Amplitude');
figure(2);
plot(f,mx);
xlabel('Frequency (Hz)'); ylabel('Power');
最后一张图显示了一个 119 MHZ 附近的频率分量。现在这并不完全奇怪,因为 868 MHz 信号 868 - 3*250 = 118 的混叠。但我仍然不太确定这是否确实是我信号的正确频谱?我将如何使用 psd 函数来获取频谱?