离散傅里叶变换(DFT)
- 格式:ppt
- 大小:1.24 MB
- 文档页数:77


离散傅里叶变换(DFT)(图)
上一回说到,在离散傅里叶级数(DFS)中,离散时间周期序列在时域是离散的n
,其频谱是离散频率周期序列,在频域也是离散的k,理论上解决了时域离散和频域离散的对应关系问题。但由于其在时域和频域都是周期序列,所以都是无限长序列。无限长序列在计算机运算上仍然是无法实现的。为此我们必须取有限长序列来建立其时域离散和频域离散的对应关系。
一、DFS的主值序列
上一回讨论我们知道,离散时间周期序列是一个无限长序列,其傅立叶级数展开式为
(1)
可以看出时间点序号n 是以N为周期的,如果只取其一个周期,称之为的主值序列:
(2)
主值序列x(n)就是一个长度为N的有限长离散时间序列。
同理,的DFS也是一个无限长序列,即傅立叶系数:
(3)
也可以看出频率点序号k 也是以N为周期的,如果只取其一个周期,称之为的主值序列: (4)
主值序列X(k)是一个长度为N的有限长离散频率序列。
可见,离散时间周期序列在时域和频域的主值序列,均为有限长离散序列。且主值序列的长度均为N(即n,k=0,1,2,…,N-1)。
二、离散傅里叶变换(DFT)的定义
在离散傅立叶级数(DFS)中,取其时域和频域的主值序列,变换仍然成立。这就是离散傅里叶变换(DFT),即:
(5)
和其逆变换(IDFT):
(6)
可见离散傅里叶变换(DFT)只不过是特殊的离散傅立叶级数(DFS),如果其时域和频域都仅取主值序列。
离散傅立叶级数(DFS)中的无限长序列和都是以N为周期的周期序列,所以在计算离散时间周期序列及其频谱时,可以利用DFS的周期性,只需要在时域和频域各取一个主值序列,用计算机各计算一个周期中的N个样值,最后将所得的主值序列x(n)和X(k)进行周期延拓,即可得到原来的无限长序列和。
三、DFT的推广应用
由DFT的导入过程可以发现,DFT不仅可以解决无限长周期序列的计算机运算问题,而且更可以解决有限长序列的计算机运算问题。事实上,对于有限长离散序列,总可以把时域和频域的变换区间(序列长度)均取为N(包括适当数量的补0点),通常把N称之为等间隔采样点数,我们可以把这个N点的变换区间视为某个周期序列的一个主值序列,直接利用DFT的定义计算其N点变换。
数字信号处理实验
第 七 次实验
实验名称: 离散傅里叶变换(DFT)
班 级: 嵌入式电信132
姓 名:
学 号:
指导教师: zgx
一、 实验目的
(1)加深对离散傅里叶变换基本概念的理解。
(2)了解有限长序列傅里叶变换与周期序列傅里叶级数,离散时间傅里叶变换的联系。
(3)掌握用MATLAB鱼丸进行离散傅里叶变换和逆变换的方法。
二、 实验原理
1.有限长序列额傅里叶变换和逆变换。
2.有限长序列DFT与周期序列DFS的联系。
3.有限长序列DFT与离散时间傅里叶变换DTFT的联系。
三、 实验任务
1.已知有限长序列x(n)=[7,6,5,4,3,2],求x(n),的DFT和IDFT。要求
(1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]的图形。
(2)画出原信号与傅里叶逆变换IDFT[X(k)]的图形进行比较。
2.已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。要求:
(1)画出原信号序列的主值和周期序列的图形。
(2)画出序列傅里叶变换对应的)](arg[|)(|~~kXkX和的图形。
3.求x(n)=[7,6,5,4,3,2],50n的DTFT,将(-2π,2π)区间分成500份。要求:
(1)画出原信号。
(2)画出由离散时间傅里叶变换求得的幅度谱)(jweX和相位谱arg[)(jweX]的图形。
(3)求有限长序列x(n)=[7,6,5,4,3,2],N=100时的DFT,并与DTFT的结果进行比较。
四、 实验过程、结果及思考 T1:
原信号与傅里叶逆变换IDFT[X(k)]的图形相同。 T2:
T3:(1),(2)
实验二 离散傅里叶变换DFT
一、实验目的
(1)学习编制离散傅里叶变换程序。
(2)学会用计算机模拟时间抽样和重构信号。
(3)用离散傅里叶变换程序分析时间抽样信号。
(4)进行N=64点的DFT分析
二、实验内容
(1)编制计算离散博里叶变换程序。
(2)根据实序列离散博里叶变换的对称性,初步判定程序的正确性。
(3)选定某时间信号进行N=64点离散博里叶变换,详细记录计算时间和分析结果
(4)分析正弦抽样序列,详细记录结果。
三、实验说明
(1)根据离散傅里叶变换公式
10()()NknNnXkxnW
及其反变换公式
10()()NknNnxnXkW
编制相应的计算程序。
计算离散傅里叶变换的参考程序如下:
function [xk]=dft(xn,N)
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
xk=xn*WNnk;
例如计算N=12点δ(n)的离散傅里叶变换
>>x=[1,zeros(1,11)]
x =1 0 0 0 0 0 0 0 0 0 0 0
>>N=12
N=12
>>Xk=dft(x,N)
Xk =1 1 1 1 1 1 1 1 1 1 1 1
计算离散傅里叶反变换的参考程序如下: function [xn]=idft(xk,N)
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^(-nk);
xn=xk*WNnk/N;
(2)用计算机模拟时间抽样和重构信号。
例如,对连续时间信号1000||()taxte进行采样并重构该信号。
严格说来,在MatLab中不使用symbolic工具箱是不能分析模拟信号的,但当以充分下的时间间隔对连续信号进行取样是,可以得到平滑的图形曲线,当包含足够长的时间时,可以显示所有的模式,这样做可以近似地对模拟信号进行分析。
离散傅⾥叶变换(DFT)
对于第⼀幅图来说,它侧重展⽰傅⾥叶变换的本质之⼀:叠加性,每个圆代表⼀个谐波分量。第⼆幅图直观的表⽰了⼀个周期信号在时域与频域的分解。
周期信号的三⾓函数表⽰
周期信号是每隔⼀定时间间隔,按相同规律⽆始⽆终重复变化的信号。任何周期函数在满⾜狄利克雷条件下(连续或只有有限个间断点,且都是
第⼀类间断点;只有有限个极值点),都可以展开成⼀组正交函数的⽆穷级数之和。使⽤三⾓函数集的周期函数展开就是傅⾥叶级数。对于周期为T
的信号f(t),可以⽤三⾓函数集的线性组合来表⽰,即
f(t)=a_0+\sum_{n=1}^{\infty }(a_n\cos n\omega t+b_n\sin n \omega t)
式中\omega=\frac{2\pi}{T}是周期信号的⾓频率,也成基波频率,n\omega称为n次谐波频率;a_0为信号的直流分量,a_n和b_n分别是余弦分量
和正弦分量幅度。根据级数理论,傅⾥叶系数a_0、a_n、b_n的计算公式为:
\left\{\begin{matrix}a_0=\frac{1}{T}\int _{\frac{-T}{2}}^{\frac{T}{2}}f(t)dt \\ a_n=\frac{2}{T}\int _{\frac{-T}{2}}^{\frac{T}{2}}f(t)\cos{n\omega
t}dt,n=1,2,3,... \\ b_n=\frac{2}{T}\int _{\frac{-T}{2}}^{\frac{T}{2}}f(t)\sin{n\omega t}dt,n=1,2,3,... \end{matrix}\right.
若将式⼦中同频率的正弦项和余弦项合并,得到另⼀种形式的周期信号的傅⾥叶级数,即
f(t)=A_0+\sum_{n=1}^{\infty}A_n\cos(n\omega t+\varphi_n)
其中,A_0为信号的直流分量;A_1\cos(\omega t+\varphi_1)为信号的基频分量,简称基波;A_n\cos(n\omega t+\varphi_n)为信号的n次谐波,n