离散傅里叶变换及快速算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(5-5)
W e N
j
2 N
的性质:
正交性,周期性,
共轭对称性(偶序列),可约性。
§5.离散傅里叶变换及快速算法
1.离散傅里叶级数
1.2离散傅里叶级的计算
例5-1 求出下面周期序列的DFS
x(n) 0 ,1,2,3, 0 ,1,2,3, 0,1,2,3
n0
为改进嵌套循环计算的效率,将循环结构改为矩阵形式计算
§5.离散傅里叶变换及快速算法
0.概述
离散时间傅里叶变换(DTFT)是通过周期频谱 来描述一个离散信号序列,即DTFT是连续变 量w的连续函数。离散傅里叶变换(DFT)则是 针对有限长序列,是对DTFT采样后得到的离 散序列。 此种表示方法非常有利于数值计算以及数字信 号处理算法的DSP硬件实现。 本章将研究离散傅里叶级数,离散傅里叶变换 (DFT),及离散傅里叶变换的快速算法FFT。
(5-3)
n0
称之为离散傅里叶级数DFS的系数。是一个基波周期为N的 周期序列。
X (k) X (k N)
§5.离散傅里叶变换及快速算法
W e 在DFS变换中引入复数 N
j
2 N
将DFS正反变换描述为
N 1
X (k) x(n)WNnk
n0
x (n)
1 N
N 1
X (k )WNnk
k 0
n0
x(n)
1 N
N 1
X (k )WNnk
k 0
x
1 N
WN* X
WN WNkn 0
k,n
N
1
1 1
1
WN1
1
W ( N 1) N
1
W ( N 1) N
WN( N
1)2
§5.离散傅里叶变换及快速算法
2.离散傅里叶变换(DFT)
2.2 DTFT与DFT的关系
§5.离散傅里叶变换及快速算法
X ((k))N
X
(N
k)
1 k N 1
Matlab: x=x(mod(-n,N)+1)
§5.离散傅里叶变换及快速算法
3.离散傅里叶变换(DFT)的性质
3.2 序列的循环位移
x(n m) x((n m)) N
§5.离散傅里叶变换及快速算法
3.离散傅里叶变换(DFT)的性质
3.2 序列的循环位移
X WN x
x
1 N
WN* X
1
WN
WNkn
0
k,n
N
1
1
1
1 WN1
W ( N 1)
N
1
W ( N 1) N
WN( N
1)2
§5.离散傅里叶变换及快速算法
1.离散傅里叶级数
1.2离散傅里叶级的计算
Function [Xk] = dfs (xn, N) % Xk and xn are column(not row) vectors if nargin < 2 N = length(xn) n = 0: N-1; k = 0: N-1; WN = exp(-j*2*pi/N); kn = k’*n; WNkn = WN.^kn; Xk = WNkn * xn
§5.离散傅里叶变换及快速算法
2.离散傅里叶变换(DFT)
2.1 DFT的定义
采用对变量取模N的运算,可简写为
x(n) x(n rN ) x(n) x(n mod N ) x((n)) N r
x(n) x((n))N x(n) x(n)RN (n)
周期延拓 加窗操作
对于周期序列 x(n) ,和其主值序列 x(n) ,取DFS 则周期序列的DFS与其主值序列的DFS的关系为:
2.1 DFT的定义
对于一个周期序列 x(n) ,定义它的第一个周期的 有限长序列为该周期序列的主值序列 x(n) ,有
x(n) 0 n N 1
x(n) DFT[x(n)]
0
else x(n)RN (n)
x(n) x(n rN ) r
其中周期序列 x(n) 可视为是有限长序列 x(n) 以N为周期的延拓
W kn0 N
X
(k
)
即DFS系数乘以一个复指数。
的DFS系数为
同样,如果 x(n) 乘以一个复指数,WNkn0 x(n) x(n) 的DFS系数 X (k) 将发生位移。
X (k k0)
§5.离散傅里叶变换及快速算法
2.离散傅里叶变换(DFT)
离散傅里叶级数DFS作为一种过渡形式,可以引出离散傅里 叶变换DFT。DFS用于周期序列,DFT则用于分析有限长序列。
§5.离散傅里叶变换及快速算法
1.离散傅里叶级数
1.3离散傅里叶级的性质 1)线性 如果 x1(n), x2 (n) 都是周期为N的周期序列,则
DFS[x1(n) x2 (n)] X1(n) X 2 (n)
2)位移 如果 X (k) 是周期序列 x(n) 的DFS系数,则
x(n) 的位移序列 x(n n0 )
x(n)
1
N
1
X
(
k
)e
j
2 N
k
n
n 0,1,2,(5-2)
N K 0
§5.离散傅里叶变换及快速算法
x(n)
1
N 1
X
(
k
)e
j
2 N
k
n
n 0,1,2,(5-2)
N K 0
式中将 x(n) 序列分解为N个谐波相关的复指数之和。将
X
(k)N 1x(n)e Nhomakorabeaj
2 N
nk
,k
0,1,2,
§5.离散傅里叶变换及快速算法
4.离散傅里叶变换(DFT)的快速算法FFT
4.2 快速算法(蝶形运算)
§5.离散傅里叶变换及快速算法
§5.离散傅里叶变换及快速算法
§5.离散傅里叶变换及快速算法
§5.离散傅里叶变换及快速算法
8点DFT的FFT运算图
例5-3
§5.离散傅里叶变换及快速算法
4.离散傅里叶变换(DFT)的快速算法FFT
4.1 DFT直接运算的计算量
N 1
X (k ) x(n)WNnk n0
X=WNx (WN: N*N, x: 1*N, X: 1*N)
其计算量为:CN=O(N2)
通常X与W都是复数,计算一个X需要N次复数乘法运算, N-1次复数加法运算。则对所有的X(k)就需要N2次复数 乘法运算,N(N-1)次复数加法运算。当N较大时运算量 将很大。 如N=1024时,要完成1048576次,难以做到实时处理。
3.离散傅里叶变换(DFT)的性质
3.1 线性、对称性、反转
1. 线性: DFT[ax1(n)+bx2(n)]=aDFT[x1(n)]+bDFT[x2(n)] 此时一般需保证x1和x2的DFT有相同的长度。长度不同时需 对短序列补零,使它与长序列的长度相同后再进行变换。
2.反转:
X (0)
k 0
DFT[x((n))N ]
§5.离散傅里叶变换及快速算法
3.离散傅里叶变换(DFT)的性质
3.2 序列的循环位移
例5-2
§5.离散傅里叶变换及快速算法
3.离散傅里叶变换(DFT)的性质
3.3 序列的循环位移的MATLAB实现
function y = cirshftt(x,m,N) if length(x) > N
error('N must be >= the length of x') end x = [x zeros(1,N-length(x))]; n = [0:1:N-1]; n = mod(n-m,N); y = x(n+1);
§5.离散傅里叶变换及快速算法
1.离散傅里叶级数
1.1离散傅里叶级数的定义
设 x(n) 是一个周期为N的周期序列,它满足条件
x(n) x(n kN) (5-1)
式中N称为序列的基波周期。由傅里叶级数可知,周期 函数可由复指数的线性组合来构成。其频率为基波频
率(2pi/N)的倍数。由5-2式的离散傅里叶级数DFS 来表示。
x(k
)
x(k)
0
0 k N 1 else
x(k) x(k rN ) r
§5.离散傅里叶变换及快速算法
2.离散傅里叶变换(DFT)
由于无限长序列 x(n), X (n)可以用它们的主值序列完全表
示,可将前述(5-5)DFS正反变换描述为
其中:
X WN x
N 1
X (k ) x(n)WNnk
相关文档
最新文档