DFT(离散傅里叶变换)的基本概念
1.对信号作DFT的过程
1.对模拟信号以一定的采样率进行采样,得到离散信号
2.将离散信号转换为离散(无穷)序列(即用序列号n代替原时间变量)
3.对离散(无穷)序列进行截断,只取一部分构成离散序列(有限长序列,序号n从0-N-1)
4.对离散序列作DFT,x(n)=>X(k) (k=0,1……N-1)
5.k的含义为一个频率间隔的倍数,将X(k)映射到X(f)(orX(ω)),注意这里的f最大为fs,即采样频率
some personal perspective:
1.截断对应的存在一个截断时间Tp,1/Tp即为频谱中的频率间隔,在相同采样率下,Tp越大,采样得到的N越多,故频谱的分辨率越高。
2.相同的采样点数N下,fs越低则频谱分辨率越高,但会带来高频混叠的影响。
3.离散序列x(n)一共有N个数,对应的X(k)也有N个数,时域周期离散,频域也同样周期离散。
4.在频域X(f)中,只需观察一个周期(0-fs),如果x(n)为实数序列,则其频谱关于fs/2共轭对称,幅度谱只需观察半个周期(0-fs/2),分析其本质原因,以
s
i
n
(
ω
0
t
)
sin(\omega_0 t)
sin(ω0t)为例,其连续时间序列的频谱存在两个峰,负半轴也有,离散后频谱以fs周期延拓,故在(fs/2, fs)间也存在一个峰,而
e
x
p
(
j
ω
0
t
)
exp(j\omega_0 t)
exp(jω0t)不会存在这种情况,在(0,fs)上只有一个峰,但对于观察而言,仅(0,fs/2)是有意义的。
5.FT的频谱依旧是频谱密度的概念,但DFT的频谱就是频谱了(本质就是傅里叶级数展开)
2.不同点数下的DFT
由于在DFT中,默认将原序列周期延拓(为的是将频谱离散,方便计算机处理),所以N的取值很重要,即上述的截断时间的概念。不同的N(截断时间)下得到的信号不同,周期延拓后作出的频谱差别更大了。
例:对R4(n)作不同N点数的DFT,分别为4点,8点,16点,横轴是k轴
4点时,经过周期延拓的序列为一常数序列,故频谱中只有一个脉冲,8和16点作出的频谱是一个类似Sa函数的函数(但此时的形式为sin/sin型,因为要满足频谱周期的条件)
注:
作出它们的频谱图X(f)会发现,由于采样率默认相同,故它们的fs相同,不同的N带来的是频率间隔的不同。故其实它们的连续谱形状应该相同,但是分辨率不同导致了它们的差异。
信号截断和频率泄露
频率泄露:
频率中出现了信号中没有的频率分量。
原因:
在对非周期的无限长信号做截断时和对周期的无限长信号作非整周期截断时,DFT默认的周期延拓性质导致延拓后的信号与原来的信号出现差异,故出现新的谱线。
具体分体:
1.对周期序列进行整周期截断
设信号为cos(2n),对其进行整周期截断,取两个周期截断
分析:
1.对周期信号作整周期截断后得到的序列重新进行周期延拓后得到的信号与原型号无差异,故做出来的频谱完全吻合。
2.截断时取的是信号的周期的2倍,故频率间隔为信号的频率的1/2,所以谱线在k域中出现在2处。无论截断的整周期取多少,改变的是k域中出现谱线的位置,将其转换为频率谱中谱线对应的频率不变。
3.注意在matlab中创造信号时,时间轴一定要取成0:Tp-Ts(用区间表示为[0,Tp)),因为是从0开始取的,所以末尾要去掉一位。
n=0:pi/40:2*pi;
n=n(1:end-1);
2.对周期信号进行非周期截断
设信号x(t)=cos(200πt)+sin(100πt),采样率fs=400Hz,截断周期为0.325
对不同的截断周期做DFT
分析:
1.前三张频谱都是整周期截断后作的DFT,频谱与原信号吻合,但当做了非整周期截断后,就会发生频率泄露,出现了很多原信号没有的谱线
2.找了一张网上的图,可以发现,周期延拓后,在交界处出现了跳变,而这种跳变蕴含的频带很宽,这就解释了为什么出现了很多原来没有的谱线。
3.上面的四张频谱图都已从k域映射到了频域,可以发现,对前三张频谱图,虽然频率间隔不同,但峰出现的位置对应的频率是一样的,且峰正好为频率间隔的整数倍;而对非整数周期截断的频谱图,原信号的频率不为频率间隔的整数倍,即无法出现在频谱图中。
改善频率泄露的办法是加窗函数,目的是减缓延拓的交界处的跳变。