Matlab fftshift学习笔记.docx
文本预览下载声明
Matlab fftshift 学习笔记1. 实信号情况对于一个时域有限长度(长度为N)离散实信号,假设以fs为采样率对其进行采样,然后对采样信号做DFT,得到的频谱在fs/2处发生混叠。由DFT的隐周期性可知,DFT默认时域信号是一个周期为N的离散周期信号?,而只是?的一个主值区间;DFT后,得到的频谱实际上也是一个离散周期信号,只有满足奈圭斯特采样定理时,频谱才不会发生混叠,从频谱中截取一个周期,就是MATLAB中FFT的结果。由于频谱是周期的,所以FFT输出结果的前半部分对应的频率区间是,后半部分对应的频率区间可以理解为,也可以理解为。而对于一个实信号,对其做FFT得到的频谱是关于零频对称的,即频谱包含正频和负频。不妨假设实信号为:上面的信号包含四个频点:,且频点对应的能量不相同。以的采样率对该信号进行采样,可以得到不混叠的离散信号,直接对其做FFT,得到如下所示频谱:FFT输出频谱对应的频率范围是,由于DFT运算的隐周期性,位于-10Hz和-40Hz处的频点分别被搬移至(-10+100=90)Hz和(-40+1000=60)Hz处。而通常我们对内的信号频谱更感兴趣,fftshift的作用就是将处的频谱搬移到,如下图所示:2. 复信号情况2.1 一般复信号为了满足奈圭斯特采样定律,采样率fs需要大于最高频率的两倍,即80Hz,不妨取fs=100Hz,直接对其进行FFT,得到的信号频谱如下图所示:显然,位于-10Hz处的频点被搬移至90Hz处了,对其进行fftshift后,得到的结果如下图所示:2. 线性调频(LFM)信号假设有线性调频信号:首先分析采样率为多大时即可满足不发生混叠的条件。由采样定理可知,不发生混叠时的采样率必须大于信号最高频率的2倍,LFM信号的最高频率为KT/2, 所以采样率应满足即对线性调频信号进行采样时, 采样率大于信号带宽即可。由驻定相位原理可得,LFM信号的频谱可以近似表示为:显然这也是一个线性调频信号。通常,在matlab中生成LFM信号时,信号时间范围为[-T/2,T/2],即:t = ((0:N-1)-N/2)/N*1.2*T; % 时间轴st = exp(1i*pi*K*t.^2).*((abs(t)=T/2)); % 生成信号那么信号的实部和虚部的示意图如下图所示,其中信号的零频点对应零时刻:然而FFT认为信号起始时间为信号的零时刻,也就是fft(st)中,fft认为st是如下图所示的:这两种情况对应的幅频特性曲线是完全相同的,都如下图所示:这是因为幅频特性曲线只与频率有关,而与时间无关,两种情况下,信号的频率分布是完全相同的,只是时间有所差异。而相频特性曲线则有所不同,如下图所示: 所以,在绘制线性调频信号频谱时,应该先对信号做一下fftshift,如下图所示:
显示全部