N = 60 ; % vector length
idx = [0:N-1].';% index column vector
f0 = 1000 ; % sine signal freq, in Hz
fs = 32E3 ; % sample rate, in Hz
x1 = sin(2*pi*f0/fs*idx); % sampled sine signal
figure; % open new figure
subplot(2,2,1:2);
set(gca,'fontsize',14);
stem(x1); % plot(x1)
grid on; % draw grid on figure
title1_str = sprintf(...
'采样正弦信号, 频率 %dHz, 采样率 %dHz', f0, fs);
title(title1_str, 'fontsize',14);
y1 = fft(x1);
y1_abs = abs(y1);
subplot(2,2,3); stem(y1_abs,'LineWidth',1,'MarkerSize',6);
grid on; set(gca,'fontsize',12);
title('DFT 线性幅度', 'fontsize',14);
y1_abs_dB = 20*log10(y1_abs);
min_y1 = min(y1_abs_dB);
subplot(2,2,4);
stem(y1_abs_dB, 'LineWidth',1,'MarkerSize',6,'BaseValue',min_y1);
grid on; set(gca,'fontsize',12);
title('DFT 对数幅度', 'fontsize',14);
下面是理论分析:频谱泄露是因为截断效应,DFT是有限长序列。
物理分辨率:简单来说就是用算法能区分两个谱峰的能力。
下面通过例子来说明这个概念:
假设有这样一个信号: xa(t)=cos(2pi∗f0t);f0=1kHz 我们来分析一下他的频谱:
下篇我们从实验上说明。