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

上传人:宝路 文档编号:52778474 上传时间:2018-08-25 格式:PPT 页数:281 大小:5.94MB
返回 下载 相关 举报
离散傅里叶变换及其快速计算方法_第1页
第1页 / 共281页
离散傅里叶变换及其快速计算方法_第2页
第2页 / 共281页
离散傅里叶变换及其快速计算方法_第3页
第3页 / 共281页
离散傅里叶变换及其快速计算方法_第4页
第4页 / 共281页
离散傅里叶变换及其快速计算方法_第5页
第5页 / 共281页
点击查看更多>>
资源描述

《离散傅里叶变换及其快速计算方法》由会员分享,可在线阅读,更多相关《离散傅里叶变换及其快速计算方法(281页珍藏版)》请在金锄头文库上搜索。

1、DFS 和 DFT 的导出DFS 和 DFT 的性质Z 变换与 DFS 的关系FFTIDFT频谱分析,第三章 DFT离散付氏变换,2,连续信号 xa(t),其傅里叶变换为:xa(t) 为时域连续信号Xa() 为频域连续信号,3.1 问题的提出:连续信号的傅里叶变换,3,离散信号在两种变换域中的表示方法(1)离散时间傅里叶变换 DTFT - 提供了绝对可加的离散时间序列在频域()中的表示方法。(2)Z 变换 - 提供任意序列的 z 域表示。,这两种变换有两个共同特征:(1)变换适合于无限长序列(2)它们是连续变量 或 z 的函数,3.1 问题的提出:离散信号的变换,4,问题:X(z),X(ejw

2、) 都是连续的,利用计算机处理有困难,例如使用 Matlab,因此 提出了在频域内取样,使频谱离散化的问题; 必须截断序列,得到有限个点的序列。 目标:我们需要得到一个可进行数值计算的变换 方法:(1)DTFT - 频域中原始信号频谱的周期拓展(2)对 DTFT 在频域中采样 - DFS(3)将 DFS 推广到有限持续时间序列 DFT (DFT 避免了前面提到的那两个问题,并且它是计算机可实现的变换方式。) DFT 已成为 DSP 算法中的核心变换,原因:(1)有限长序列傅里叶变换的重要方法(2)有快速算法,3.1 问题的提出:可计算性,5,3.1 问题的提出:傅里叶变换的四种形式 (1),非

3、周期连续时间傅里叶变换(FT)连续频率 周期连续时间傅里叶级数(FS)离散频率 非周期离散时间离散时间傅里叶变换(DTFT)连续频率 周期离散时间离散傅里叶级数(DFS)离散频率,6,3.1 问题的提出:傅里叶变换的四种形式 (2),1. 连续信号(非周期)的付氏变换,时域连续函数造成频域是非周期的谱 时域的非周期造成频域是连续的谱,7,2. 周期连续时间信号:傅里叶级数 FS,时域连续函数造成频域是非周期的谱。 频域的离散对应时域是周期函数。,3.1 问题的提出:傅里叶变换的四种形式 (3),时域周期频域离散,8,3. 非周期离散信号:离散时间傅里叶变换 DTFT,时域的离散化造成频域的周期

4、延拓 时域的非周期对应于频域的连续,3.1 问题的提出:傅里叶变换的四种形式 (4),时域离散频域周期,取样定理,9,4. 周期离散时间信号:离散傅里叶级数 DFS,一个域的离散造成另一个域的周期延拓 离散傅里叶级数的时域和频域都是离散的和周期的,3.1 问题的提出:傅里叶变换的四种形式 (5),时域周期、离散频域周期、离散,10,四种傅里叶变换形式的归纳总结:,离散时间函数的取样间隔:T1,取样频率:,离散频率函数的取样间隔:F0,时间周期:,3.1 问题的提出:傅里叶变换的四种形式 (6),结论: 时域中函数取样(离散) (映射)频域中函数周期重复; 频域中函数取样 (映射) 时域中函数周

5、期重复; 取样间隔 (映射)周期(2/间隔),0,时域中函数的取样和频域中函数的取样,3.1 问题的提出:傅里叶变换的四种形式 (7),12,由以上讨论可以清楚地看到,时域取样将引起频域的周期延拓,频域取样也将引起时域的周期延拓。因此可以设想,如果同时对频域和时域取样,其结果是时域和频域的波形都变成离散、周期性的波形,从而我们可以利用付氏级数这一工具,得到它们之间的离散付氏级数 DFS 关系。,3.2 DFS 及其性质,13,基本关系式 若 r,m 都是整数,则:,其中:,DFS 定义:预备知识,证明: 对于r=m:不论 k 取何值,显然等式成立。对于rm:,14,为了推导 的关系,作下列变量

6、代换:时域:频域:则得:,?,DFS 定义:正变换,15,周期离散序列的 Z 变换存在(收敛)的问题 因为周期离散序列,而对于周期信号,严格数学意义上讲,其 Z 变换不收敛,因为:而对于找不到衰减因子使它绝对可和(收敛)。为此,定义新函数,其 Z 变换:,DFS 定义:正变换,16,其频谱:( 是连续变量,需要对其离散化),DFS 定义:正变换,(取 的一个主周期进行 Z 变换),17,频域取样 X(ej) 是连续变量 的周期函数,周期为2。把 离散化,即在02区间内等间隔取 N 个点,取样间隔为 2/N。 另一个角度看, X(ej) 是 Z 平面单位圆上的 Z 变换。连续变量 的离散化也可以

7、认为是把单位圆分 N 等分,每分为 2/N 。其中: 称为频域中的取样间隔,也称为频率分辨率。,DFS 定义:正变换,18,DFS 定义:正变换,19,DFS:,DFS 定义:正变换,也仅有 0,1,N-1 个独立值,周期为 N。,因为,所以,20,反变换IDFS 正变换两端乘以 ,m=0,1,N-1然后令 k=0,1,N-1 求和,得:,DFS 定义:反变换,用正交条件:,21,DFS 定义:反变换,即,(只有 m=n 时,才有值,而 m 不等于 n 时,为零,因此,x(n) 只取 x(m) ),变量m替换为n,得,22,DFS 变换对:时域周期序列与频域周期序列间的关系,DFS 定义:反变

8、换,其中,23,在什么条件下不产生混迭失真?频率取样频率取样:若时间信号有限长,当满足下列条件时,X(ej) 的样本值 X(k) 能不失真的恢复成原信号。 为了避免时间上的混迭:(1)必须是时间限制(有限时宽)(2)取样频率间隔小于,DFS 定义:几点说明,24,频率分量 如果变量 DFS 可表示为:因此,时域 n 及频域 k 都是有物理意义的。,DFS 定义:几点说明,(指数项 kn 不变),25,更具体地,傅里叶系数的标号 k 和频率 f 的关系为:所以: 对应关系:傅里叶系数标号k :0N数字频率:02模拟频率 f :0fs,DFS 定义:几点说明,26,DFS 定义:几点说明,频率成份

9、 直流分量:当 k=0 时, ,此时得到的傅里叶级数的系数称为信号的直流分量(DC Component), 是信号的平均值; 交流分量: 其它频率(k0)称为周期信号的谐波,此时的傅里叶级数系数称为信号的交流分量。 k=1 时的频率为信号的一次谐波,或基频,频率大小为 fs/N,时间为 NTs,等于完成一个周期所需要的时间。其它谐波为基频的整数倍。 离散傅里叶级数包含了 0 到 (N-1)fs/N 的频率,因而 N 个傅里叶级数的系数位于从 0 直到接近取样频率的频率上。,时域,27,DFS 定义:几点说明,周期信号的频谱 由傅里叶系数 可得到 的幅度频谱 和相位频谱 ,不难证明,如果 是实序

10、列,那么幅度频谱是周期性偶函数,相位频谱是周期性奇函数。 周期信号由离散傅里叶级数 DFS 得到的频谱,和非周期信号由离散时间傅里叶变换 DTFT 得到的频谱之间有重要区别。 DTFT 产生连续频谱,这意味着频谱在所有的频率处都有值,因而非周期信号的幅度和相位频谱是光滑无间断的曲线。 与之相反,DFS 仅有 N 点的频谱,仅包含有限个频率,因而周期信号的幅度和相位频谱是线谱,即相等间隔的竖线,当频谱的横坐标变量用实际频率 f 代替 k 时,谱线间隔为 fs/N。并不是所有的周期信号都含有全部谐波,例如有些频谱只有奇次谐波,比如三角波,偶次谐波为0,而有些频谱仅在一些谐波处的值为0。,28,DF

11、S 的 Matlab 的实现,由 DFS 的定义可以看出它是一种可进行数值计算表示式,它可由多种方式实现。(1)利用循环语句 forend 实现为了计算每个样本 ,可用 for end 语句实现求和。为了计算所有的 DFS 系数,需要另外一个forend 循环,这将导致运行嵌套的两个for .end 循环。显然,这种方法的效率较低。,29,设 和 代表序列 x(n) 和 X(k) 主周期的列向量,则 DFS 的正反变换表达式由下式给出:其中矩阵 WN 由下式给出:,矩阵 WN 为方阵,叫做 DFS 矩阵.,(2)利用矩阵矢量乘法,30,function Xk = dfs(xn,N) n = 0

12、:1:N-1; % row vector for n k = 0:1:N-1; % row vecor for k WN = exp(-j*2*pi/N); % Wn factor nk = n*k; % creates a N by N matrix of nk values WNnk = WN . nk; % DFS matrix Xk = xn * WNnk; % row vector for DFS coefficientsfunction xn = idfs(Xk,N) n = 0:1:N-1; % row vector for n k = 0:1:N-1; % row vecor

13、for k WN = exp(-j*2*pi/N); % Wn factor nk = n*k; % creates a N by N matrix of nk values WNnk = WN . (-nk); % IDFS matrix xn = (Xk * WNnk)/N; % row vector for IDFS values,DFS 的 Matlab 的实现,例 :求出下面周期序列的 DFS 表示式,解:上述序列的基本周期为 N=4,因而W4 = e-j2/4 = -j,,例: 下面给出一周期“方波”序列:其中, m=0, 1, 2,,N 是基本周期, L/N 是占空比。(a)确定

14、一种用 L 与 N 描述的 的表达式。 (b)分别画出当 L =5, N = 20;L=5,N=40;L=5,N=60;L=7,N=60 时 表达式。 (c)对所得结果进行讨论。,解:(a) 由 DFS 定义可得,而:,的幅值可表示为:,b. Matlab 程序如下: % Chapter 3: Example 3.03 L = 5; N = 20;(改变参数) x = ones(1,L), zeros(1,N-L); xn = x * ones(1,3); xn = (xn(:); n = -N:1:2*N-1;subplot(1,1,1);subplot(2,1,2); stem(n,xn)

15、; xlabel(n); ylabel(xtilde(n) title(Three periods of xtilde(n) axis(-N,2*N-1,-0.5,1.5),% Part (b) L = 5; N = 20;(改变参数) xn = ones(1,L), zeros(1,N-L); Xk = dfs(xn,N); magXk = abs(Xk(N/2+1:N) Xk(1:N/2+1); k = -N/2:N/2;subplot(2,2,1); stem(k,magXk); axis(-N/2,N/2,-0.5,5.5) xlabel(k); ylabel(Xtilde(k) title(DFS of SQ. wave: L=5, N=20),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号