离散时间信号的频率周期性分析(随模拟/数字频率变化的连续离散时间周期图)
问题:
不知道你在第一次学习信号与系统的时候注意没注意到过这个问题:模拟频率和数字频率的不同!一开始我会很想当然的把两者理解成简单的倍数关系,但是直接上视频图片:
蓝色的线代表着连续信号的频率不断增大,竖线代表着采样点共8个,黄色的线是对采样出来的离散时间函数做的辅助线。
可以看到amazing啊!现在对它进行分析。
---------------------------------------------------------------------------------------------------------------------------------
分析:
连续信号我们知道满足x(t)=x(t+T),其中T是最小的正数
假设有如下周期信号:
x(t)=exp(j*ω*t)
它的模拟频率或者连续时间频率(角频率)是ω[rad/s],周期T为2*pi/ω
如果用t=n*Ts为周期对x(t)=exp(j*ω*t)进行取样,可以得到离散时间信号
x[n]=exp(j*ω*n*Ts)
=exp(j*Ω*n) (其中Ω=ω*Ts)
注意:
1、这个信号并不是周期的,或者说并不是在任何情况下都是周期的,只有抽样间隔Ts是周期T的有理数倍【①整数倍②非整数倍(周期可能会变大?)】时,离散时间信号x[n]才是周期的。现在来讨论离散时间信号的周期:
还是接着对上式进行讨论,取样间隔Ts=m*T/N(s/样值),在这里整数m和N互
为素数,没有公约数。这样此离散信号才具有周期性。
其数字频率或离散时间频率为:
Ω=ω*Ts=ω*m*Ts/N=2*pi*m/N
其周期为N=2*pi*m/Ω
2、通过上面的动图,我们也可以看出离散时间信号的频率是具有周期性的。数字频率Ω的周期为2π,这是因为式exp(i(Ω+2mπ)n)=exp(i*Ω*n)*exp(2*m*π*n)=exp(i*Ω*n)。
代码 :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% File name: test.m
% Author: plese call me 7 plus
% CSDN: https://blog.csdn.net/weixin_41544435
% e-mail:zhaojiaqi150@163.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f=6 ;%改这里的值
Ts=0.0005;
tmax=1;
t=0:Ts:tmax-Ts;
n=250:250:2000;
y=sin(2*pi*f*t);
plot(y);
hold on
y1=[y(250),y(500),y(750),y(1000),y(1250),y(1500),y(1750),y(2000)];
stem(n,y1);
hold on
%the first way
if f<=4
f2=f;
elseif f<=12
f2=f-8;
end
% %the second way 待完善
% fft_mat=abs(fft([y1 zeros(1,100)]));
% k=find(fft_mat==max(fft_mat)); k=k(1); f2=k/(100+8)*f;
% plot
y2=sin(2*pi*f2*t);
plot(y2);
hold off