离散序列的两种傅里叶变换

首先要知道,pi是对应着0.5*Fs的。模拟频率可以从负无穷到正无穷,但数字频率只能取-pi到pi,但包含着在nyquist范围外面的模拟分量。从采样的包络可以确定采样序列携带的模拟频率。


回顾信号与系统学的傅里叶级数和傅里叶变换。注意傅里叶系数是对傅里叶变换的采样,两者量纲是不一样的,系数是密度对频率的积分,而频谱是密度的概念。所以时域上采样序列和原信号量纲差一个时间乘子T,而频域上傅里叶级数系数与连续频谱量纲差一个频率乘子omigas。


带宽有限序列必然时域具有无限长度,而时域有限必然在频域上带宽是无限的。不可能存在时域长度和频域带宽都有限的信号和序列。另外,时域窄,则频带宽。


DTFT是时间离散,而频域连续。在matlab中专用函数为[H,w] = freqz(b,a,N)。N不指定则默认512。这里b为序列x,a为1。这样只能反应0~pi,要反映0~2pi要加上‘whole’。

注意实序列的DTFT具有对称性,若序列不是。

另外freqz也能用来求频率特性,b和a分别为分子分母多项式的负幂系数向量。


DFT则是DTFT在频域上的采样。这么说好像不准确,应该说DFS是DTFT的采样,因为他们都是周期的。DFT只是DFS截取一个周期。既然是采样,那么N要大于等于序列长度,不然也会发生混叠。matlab使用优化的 fft(x,N) 计算。不过这样求出来是0~2*pi的,通过fftshift(xk)可以变为-pi~pi。


通过增加序列长度使DFT趋近DTFT。有两种方法:增加序列取值长度,增加输入信号阶数,尽量是采取这种方法;另一种实在无法增加的话就补0。后一种方法没有增加数据的信息量,但可以增加视在分辨率,并不能给出更详细的形状。注意区别!严格上说,视在分辨率不叫分辨率,该混叠的还是混叠。

你可能感兴趣的:(matlab,傅里叶变换)