已知抽样点数量,求频率范围
现在有40个离散点,从图可以看出:
1.最高频率时,2个点组成一个周期,有40(点)/2(点/周期)=20(周期)。
可能对这种频率表示方式不太认同,我类比一下时间频率:设每个余弦周期T=0.2(秒/周期),那么余弦函数的频率f=1/T=1(秒)/0.2(秒/周期)=10(周期)。这个频率的含义就是每秒10个振荡周期数。
2.最低频率时,40个点组成一个周期,有40/40=1(周期)。
3.最低2和最高20频率中间,还有离散的基信号频率,分别是3、4、、、19(周期)。这样就有20个频率了,还有20个基信号分别是21、22、、、39以及0频(直流基信号),这20个基信号除了0频,其他的和前边的低周期信号有相同的采样结果,因此有效的频率是0~20(周期)。
频移后的FFT变换的频率是-20~19(周期)。这里的-20—-1与上面的20—39一一对应。
低频2(周期)和高频38(周期)有相同的采样结果
离散点增加一倍后,38(周期)恢复他原来的面貌
0频信号和20(周期)信号频谱图:
总结
1.频谱上的刻度是按实空间域上的周期规划的:40个离散点包含了0—39个周期。也可以说是-20—19周期。
2.频谱上刻度间的宽度是一个“周期”。
提问
1.实空间以3个离散点为一个周期的频率在频谱的哪里?
2.实空间在40个点上有3个周期的频率在频谱的哪里?
3.对40个离散点的2(周期)离散曲线进行1/2采样,频谱是怎么样的?
代码:
close all;
%% 给定离散采样点,可测得的频率范围
n = 0:1:39; %40个离散点
A = cos(2*pi*n*20/40); %20(周期)信号
B = cos(2*pi*n* 1/40); %1(周期)信号
figure; stem(n,A); hold on; plot(n,A); title('最高频率');
figure; stem(n,B); hold on; plot(n,B); title('最低频率');
%% 低频2(周期)和高频38(周期)对比
n = 0:1:39; %40个离散点
A = cos(2*pi*2*n/40); %低频2(周期)
B = cos(2*pi*38*n/40); %低频2(周期)的负频率:38(周期)
figure; stem(n,A); hold on; plot(n,A); title('待测频率2(周期)');
figure; stem(n,B); hold on; plot(n,B); title('待测频率的负频率38(周期)');
n = 0:0.5:39; %80个离散点
B = cos(2*pi*38*n/40); %负频率38(周期)的真实曲线
figure; stem(n,B); hold on; plot(n,B); title('真实频率38(周期)');
%% 0频信号和20(周期)信号频域图
n = 0:1:39; %40个离散点
A = cos(2*pi*n*0/40); %0频信号
B = fftshift(fft2(A));
figure; stem(B); title('0频信号-频域图');
n = 0:1:39; %40个离散点
A = cos(2*pi*n*20/40); %20(周期)信号
B = fftshift(fft2(A));
figure; stem(B); title('20(周期)信号-频域图');