问题引入:
左边是原图FFT,右边是抽样图的FFT(每两个点抽一个)。抽样后的频谱振幅是抽样前的一半。
使用模拟DFT分析
DFT(离散傅里叶变换)的内容是:目标信号与基信号的乘积和,本文挑选与目标信号相同频率的基信号进行展示。
对比figure1和figure2(原图和采样图),采样后时域信号稀疏了一半,也就是说,求和项少了一半,所以频域幅值就是原来的1/2。
close all;
%% 原信号
n = 0:1:39; %40个离散点
A = cos(2*pi*2*n/40); %待测频率
sum = zeros(1,40);
for freq = 0:39 %40个基信号
B = cos(2*pi*freq*n/40);
C = A.*B; %待测频率与基信号乘积
for num = 1:40 %乘积求和
sum(freq+1) = sum(freq+1) + C(num);
end
end
figure;
subplot(1,3,1);
stem(n,A);
title('采样前-时域信号');
freq = 2;
B = cos(2*pi*freq*n/40);
subplot(1,3,2);
stem(n,B);
title('基信号-时域信号');
subplot(1,3,3);
stem(n,sum);
title('模拟DFT-频域信号');
%% 采样抽取部分
n = 0:2:39; %20个离散点(每两点抽样一次)
A = cos(2*pi*2*n/40); %待测频率
sum = zeros(1,40);
for freq = 0:39 %40个基信号
B = cos(2*pi*freq*n/40);
C = A.*B; %待测频率与基信号乘积
for num = 1:20 %乘积求和
sum(freq+1) = sum(freq+1) + C(num);
end
end
figure;
subplot(1,3,1);
stem(n,A);
title('采样后-时域信号');
freq = 2;
B = cos(2*pi*freq*n/40);
subplot(1,3,2);
stem(n,B);
title('基信号-时域信号');
n = 0:1:39; %频率仍然有40份
subplot(1,3,3);
stem(n,sum);
title('模拟DFT-频域信号');
%% 采样没有抽到的部分
n = 1:2:39; %20个离散点(采样没有抽到的那一半)
A = cos(2*pi*2*n/40); %待测频率
sum = zeros(1,40);
for freq = 0:39 %40个基信号
B = cos(2*pi*freq*n/40);
C = A.*B; %待测频率与基信号乘积
for num = 1:20 %乘积求和
sum(freq+1) = sum(freq+1) + C(num);
end
end
figure;
subplot(1,3,1);
stem(n,A,'r');
title('未采样部分');
freq = 2;
B = cos(2*pi*freq*n/40);
subplot(1,3,2);
stem(n,B,'r');
title('基信号-时域信号');
n = 0:1:39; %频率仍然有40份
subplot(1,3,3);
stem(n,sum,'r');
title('模拟DFT-频域信号');