离散时间傅里叶变换
离散信号,数字处理的对象,如何用Matlab研究它的特性呢。如何与采样定理结合起来。
时域信号,x(t)=sin(2*pi*w1*t)+sin(2*pi*w2*t);(w2>w1)
这是用matlab画出的轮廓线。 如果我们处理这个信号,那么只能是以数字形式,所以就必须对原信号进行采样。采样就字面意思来说,就是选取几个点,构成一个序列x(n),当时我们选取时有要求的,这就是我们即将提到的采样定理,现在我们来看,上面的x(t)中我们不妨取w2=8,w1=5;那么原信号的也只有两个频率,为f1=10*pi,f2=16*pi;有采样定理可知,采样频率告诉我们fs>=2*fmax;
那为什么会是这样的呢?
还有就是采样的点数N,也就是离散序列的长度,
如果针对x(t),取fs=100>16*pi,因为很明显地是,x(t)有两个频率分量,分别是f1和f2,那么如何在频谱图上能够直观地看到有两个频率分量呢?这就与频率分辨率有关。 频率分辨率=采样频率/采样点数 顾名思义,频率分辨率就是能够在频谱图上观察到两个频率之间的差异,我们在信号中不排除遇到两个频率非常接近的信号,为了区别这两个信号就需要频率分辨率。
fs=100;%采样频率为100hz T=1/fs;
deltaf=2;%采样分辨率为2hz
N=100;
t=(0:N-1)*T;
xt=sin(2*pi*5*t)+cos(2*pi*8*t);nfft=2^nextpow2(N); y=fft(xt);
f=fs*linspace(0,1,N); plot(f,abs(y));