DFT对称性的验证以及应用课程设计
- 格式:doc
- 大小:283.00 KB
- 文档页数:14
八点DFT变换课程设计一、课程目标知识目标:1. 理解DFT(离散傅里叶变换)的基本概念和数学原理;2. 掌握八点DFT变换的算法步骤和计算方法;3. 了解DFT在信号处理和数字通信中的应用。
技能目标:1. 能够运用DFT对信号进行频谱分析;2. 能够编程实现八点DFT变换;3. 能够解释DFT变换结果,并分析其意义。
情感态度价值观目标:1. 培养学生对信号处理领域的兴趣,激发其探索精神;2. 培养学生具备良好的团队协作意识和沟通能力;3. 培养学生严谨的科学态度,认识到数学工具在工程应用中的价值。
分析课程性质、学生特点和教学要求,本课程旨在使学生掌握DFT的基本原理和实际应用,具备以下具体学习成果:1. 能够准确描述DFT的基本概念和数学表达;2. 能够独立完成八点DFT变换的计算;3. 能够运用所学知识分析实际问题,并给出合理的解释;4. 培养学生的动手实践能力和团队协作精神,提高其综合素质。
二、教学内容本课程教学内容依据课程目标,紧密结合教材,确保科学性和系统性。
以下是详细的教学大纲及内容安排:1. 引言:介绍傅里叶变换的基本概念,引导学生了解其在信号处理领域的重要性。
- 教材章节:第一章 傅里叶变换基础2. 离散傅里叶变换(DFT)基本原理:- 教材章节:第二章 离散傅里叶变换- 内容:DFT的定义、数学表达式、性质和特点3. 八点DFT变换算法:- 教材章节:第三章 快速傅里叶变换- 内容:DFT的蝶形算法、编程实现和优化4. DFT在信号处理中的应用:- 教材章节:第四章 DFT的应用- 内容:频谱分析、数字滤波器设计、通信系统中的应用5. 实践环节:- 设计实验:运用DFT对实际信号进行频谱分析- 编程实践:编程实现八点DFT变换,观察和分析结果6. 教学进度安排:- 引言和DFT基本原理:2课时- 八点DFT变换算法:2课时- DFT应用:2课时- 实践环节:2课时三、教学方法本课程采用多样化的教学方法,旨在激发学生的学习兴趣,提高其主动性和实践能力。
课程设计课程名称数字信号处理系别:计算机科学系专业班级:通信一班题目: DFT在信号频谱分析中的应用目录1、设计题目 (3)2、设计目的 (3)3、设计原理 (3)4、实现方法 (3)5、设计内容及结果 (6)6、改进建议 (12)7、思考题及解答 (15)8、设计体会 (15)9、参考文献 (16)Ⅰ.设计题目DFT 在信号频谱分析中的应用Ⅱ.设计目的掌握离散傅里叶变换的有关性质,利用Matlab 实现DFT 变换。
了解DFT 应用,用DFT 对序列进行频谱分析,了解DFT 算法存在的问题及改进方法。
学习并掌握FFT 的应用。
Ⅲ.设计原理所谓信号的频谱分析就是计算信号的傅里叶变换。
连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT 是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。
工程实际中,经常遇到的连续信号Xa(t),其频谱函数Xa(jW)也是连续函数。
数字计算机难于处理,因而我们采用DFT 来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。
Ⅳ.实现方法离散傅里叶变换是有限长序列的傅里叶变换,它相当于把信号的傅里叶变换进行等频率间隔采样,并且有限长序列的离散傅里叶变换和周期序列的离散傅里叶级数本质是一样的。
快速傅里叶变换(FFT )并不是一种新的变换,它是离散傅里叶变换的一种快速算法,并且主要是基于这样的思路而发展起来的:(1)把长度为N 的序列的DFT 逐次分解成长度较短的序列的DFT 来计算。
(2)利用WN(nk)的周期性和对称性,在DFT 运算中适当的分类,以提高运算速度。
(对称性nkNnk N W W N-=+2,12-=NN W ;周期性nkN nk N nrN N k rN n N W W W W ---==)(,r 为任意整数,1=nrNNW )离散傅里叶变换的推导:离散傅里叶级数定义为nk j N k p p ek x Nn x N21)(1)(π∑-==(1-1)将上式两端乘以nm j Neπ2-并对n 在0~N-1求和可得⎥⎦⎤⎢⎣⎡==∑∑∑∑∑-=---=-=-=---=-10)(110101)(1N2N2N2)()(1)(N n m k n j N N k p N n N k m k n j pN n nm j pe k X ek XNen xπππ 因为{m k 1mk 0)(N )(10)(N 2N2N2-1-1N 11=≠---=-==∑m k j m k j N n m k n je eeNπππ所以∑∑-=-=--=110)()()(N2N k p N n nm j pm k k X en xδπ 这样∑-=-=10N2)()(N n nm j p p en x m X π用k 代替m得∑-=-=10N2)()(N n nk j pP en xk X π(1-2)令N2πj NeW -=则(1-2)成为DFS []∑-===1)()()(N n nkNpp p W n xk X n x (1-3) (1-1)成为IDFS []∑-=-==10)(1)()(N n nkN p p p W k X N n x k X (1-4) 式(1-3)、(1-4)式构成周期序列傅里叶级数变换关系。
DFT的计算量及对称性(图)上一回说到,为了克服DFT存在的栅栏效应、频谱泄漏和混叠失真等问题,可以增加采样点数N。
但点数N的增加又会带来DFT计算量呈幂函数规律大幅度增加。
即对于长度为N有限长序列x(n),完成其一个N点DFT(1)需要进行的计算量为:(2)和(3)完成一个如下的逆变换运算量亦然:(4)假设一个点数N=1024的信号,则DFT计算量仅复数乘法运算就高达104万次以上。
现在工程技术实际中采样点数N可达(5)那么仅复数乘法计算量就高达(6)简直是天文数字!如果有许多路信号序列的实时控制系统,你让计算机怎么来得及处理啊?可见我们必须千方百计减少DFT的运算量!科学家们首先想到的就是利用DFT的“对称性”。
一、复共轭序列的DFT我们知道DFT中的序列都可以表示为复数项级数,那么自然就有与之相对的复共轭序列。
设是的复共轭序列,长度也为N,若(7)则复共轭序列的离散傅里叶变换为(8)且(9)证明:由DFT的定义式(1)有(10)注意上式中使用了(11)且因为DFT的概念是建立在周期序列的基础之上的,所以X(k)隐含周期性,根据DFT的定义式(1)便有(12)即DFT的末点就是其起始点。
证毕。
同理可证(13)二、共轭对称性的定义根据序列的偶对称和奇对称性质,有限长共轭对称序列定义为(14)有限长共轭反对称序列定义为(15)由此推论出(16)(17)和(18)(19)注意:上述结论对频域序列X(k)也成立。
此处的对称性指关于变换区间中点(N/2点)的对称性。
因为x(n)和X (k)均是区间[0,N-1]上的有限长序列。
三、序列表示为共轭对称部分和共轭反对称部分时的DFT因为任何有限长序列x(n)都可以表示为其共轭对称部分和共轭反对称部分之和,即:(20)则(21)其中,X(k)的实部对应于x(n)的共轭对称部分的DFT:(22)X(k)的虚部(包括虚数单位j)对应于x(n)的共轭反对称部分的DFT:(23)四、序列表示为实部和虚部时的DFT设(24)其中序列的实部为(25)序列的虚部(包括虚数单位j)为(26)则(27)其中,X(k)的共轭对称部分对应于x(n)的实部的DFT:(28)X(k)的共轭反对称部分对应于x(n)的虚部(含j)的DFT:(29)五、实序列的DFT特殊地,如果有实序列:(30)则其DFT(31)此时不难由式(8)推论出(32)六、DFT的共轭对称性的应用利用共轭对称性,进行一次DFT可以变换两个实序列。
一. 序列的傅里叶变换(DTFT )的对称性已知:[()]()j DTFT x n X e ω=**[()]()j DTFT x n X e ω-= **[()]()j DTFT x n X e ω-=(由Z 变换的性质可推出)共轭对称序列:()()*e e x n x n =-实部是偶对称序列,虚部是奇对称序列 共轭反对称序列: ()()*o o x n x n =--实部是奇对称序列,虚部是偶对称序列 任一序列总可以表示成共轭对称序列和共轭反对称序列之和:()()()()()()()()()**1212e e o o x n x n x n x n x n x n x n x n x n ⎧⎡⎤=+-⎣⎦⎪⎪=+⎨⎪⎡⎤=--⎣⎦⎪⎩()()()()()()()()()**1212j j j e j j j e o j j j o X e X e X e X e X e X e X e X e X e ωωωωωωωωω--⎧⎡⎤=+⎪⎣⎦⎪=+⎨⎪⎡⎤=-⎣⎦⎪⎩求证:[Re(())]()[Im(())]()j e j o DTFT x n X e DTFT j x n X e ωω⎧=⎨=⎩ or [()]Re(())[()]Im(())j e j o IDTFT X e x n IDTFT X e j x n ωω⎧=⎨=⎩ [()]Re(())[()]Im(())j e j o DTFT x n X e DTFT x n j X e ωω⎧=⎨=⎩ or [Re(())]()[Im(())]()j e j o IDTFT X e x n IDTFT j X e x n ωω⎧=⎨=⎩证明:()()()[][]**121()()212Re(())2Re(())j j j e X e X e X e DTFT x n x n DTFT x n DTFT x n ωωω-⎡⎤=+⎣⎦⎡⎤=+⎣⎦== ()()()[][]**121()()212Im(())2Im(())j j j o X e X e X e DTFT x n x n DTFT j x n DTFT j x n ωωω-⎡⎤=-⎣⎦⎡⎤=-⎣⎦==()()()()()()()()()**121212Re 2Re e j j j j x n x n x n IDTFT X e X e IDTFT X e IDTFT X e ωωωω⎡⎤=+-⎣⎦⎡⎤=+⎣⎦⎡⎤=⎣⎦⎡⎤=⎣⎦ ()()()()()()()()()**121212Im 2Im o j j j j x n x n x n IDTFT X e X e IDTFT j X e IDTFT j X e ωωωω⎡⎤=--⎣⎦⎡⎤=-⎣⎦⎡⎤=⎣⎦⎡⎤=⎣⎦对实数序列()x n()()()Re[]Im[]0x n x n x n =⎧⎪⎨=⎪⎩则:[Re(())]()()[Im(())]()0j j e j o DTFT x n X e X e DTFT j x n X e ωωω⎧==⎨==⎩ 即:实数序列的傅里叶变换具有共轭对称性(是共轭对称序列)()()()()()*1212e x n x n x n x n x n ⎡⎤=+-⎣⎦=+-⎡⎤⎣⎦ 共轭对称序列变成偶对称序列()()()()()*1212o x n x n x n x n x n ⎡⎤=--⎣⎦=--⎡⎤⎣⎦共轭反对称序列变成奇对称序列二. 离散傅里叶变换(DFT )的对称性已知:()()()()()()*ep N N N x n x n x N n R n ⎡⎤=+-⎣⎦ ()()()()()()*op N N N x n x n x N n R n ⎡⎤=--⎣⎦()()()*1Re 2x n x n x n ⎡⎤=+⎡⎤⎣⎦⎣⎦ ()()()*1Im 2j x n x n x n ⎡⎤=-⎡⎤⎣⎦⎣⎦()()()()()()()()()()()()()()*11**00*1*0*N N kn kn N N N N n n N N k n N NN N n N N DFT x n x n W R k x n W R k X k R k x n W R k X N k R k ---==--=⎡⎤⎡⎤==⎢⎥⎣⎦⎣⎦⎡⎤=-=⎢⎥⎣⎦=-∑∑∑有时习惯上()()()*N NX N k R k - 可写成()*X N k -,但应该指出,当0k =时,()*X N k -可得到()*X N ,但由于DFT 的取值区间为01k N ≤≤-,已超出该区间,因而应当理解为()()**0X N X =。
数字信号处理: MATLABdft对称性验证以及应用武汉理工大学《数字信号处理》课程设计说明书目录1 MATLAB基本操作及常用命令介绍 (1)1(1 MATLAB的启动 .....................................................................11(2桌面平台 ..................................................................... . (1)1.3 基本平面图形绘制命令plot (2)2 理论分析 ..................................................................... (3)2.1实验内容 ..................................................................... . (3)2.2序列对称性的理论验证 (3)3 程序验证 ............................................................................................. 4 4 结果分析 ..................................................................... ........................ 7 5 对称性的应用 ..................................................................... .. (10)5.1 FFT算法的基本思想 (10)5.2 对称性应用的程序实现 (11)6 心得体会 ..................................................................... ...................... 15 参考文献 ..................................................................... .. (16)武汉理工大学《数字信号处理》课程设计说明书1 MATLAB基本操作及常用命令介绍1(1 MATLAB的启动启动MATLAB有多种方式,最常用的方法就是双击系统桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB快捷方式。
任务1、用三种不同的DFT 程序计算x(n ) (0.9)n (n = 0,1,2,…,7)的傅立叶变换X(k),并比较三种程序的计算机运行时间。
步骤:a.用for 循环语句编制函数文件,实现循环计算X(k);b.编写矩阵运算的函数文件,实现矩阵计算X(k);c.调用FFT 函数直接计算X(K)任务2、给定x(n) = nR16 (n) ,h(n) = R8 (n) 利用DFT 实现两序列的线性卷积运算,并研究DFT 的点数与混叠的关系,并用stem(n,y)画出相应的图形。
任务3、讨论序列补零及增加数据长度对信号频谱的影响(1)求出序列x(n)=cos(0.48 n)+cos(0.52 n)基于有限个样点n=10 的频谱;(2)求n=100 时,取x(n)的前10 个,后90 个设为零,得到x(n)的频谱;(3) 增加x(n)有效的样点数,取100 个样点得到x(n)的频谱n=[0:1:99];x=cos(0.48*pi*n)+cos(0.52*pi*n);subplot(2,1,1);stem(n,x);title('signal x(n),0<=n<=99');xlabel('n') axis([0,100,-2.5,2.5])X=fft(x);magX=abs(X(1:1:51));k=0:1:50;w=2*pi/100*k;subplot(2,1,2);stem(w/pi,magX);title('100点DFT');xlabel('(w/pi)') axis([0,1,0,60])测试记录分析结论一、任务1a.用for 循环语句编制函数文件,实现循环计算X(k);b.编写矩阵运算的函数文件,实现矩阵计算X(k);c.调用FFT 函数直接计算X(K) 三种程序的计算机运行时间二、任务 2051015202530350102030405060708090100小结本次实验总共包括三个任务。
数字信号处理: MATLABdft对称性验证以及应用武汉理工大学《数字信号处理》课程设计说明书目录1 MATLAB基本操作及常用命令介绍 (1)1(1 MATLAB的启动 .....................................................................11(2桌面平台 ..................................................................... . (1)1.3 基本平面图形绘制命令plot (2)2 理论分析 ..................................................................... (3)2.1实验内容 ..................................................................... . (3)2.2序列对称性的理论验证 (3)3 程序验证 ............................................................................................. 4 4 结果分析 ..................................................................... ........................ 7 5 对称性的应用 ..................................................................... .. (10)5.1 FFT算法的基本思想 (10)5.2 对称性应用的程序实现 (11)6 心得体会 ..................................................................... ...................... 15 参考文献 ..................................................................... .. (16)武汉理工大学《数字信号处理》课程设计说明书1 MATLAB基本操作及常用命令介绍1(1 MATLAB的启动启动MATLAB有多种方式,最常用的方法就是双击系统桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB快捷方式。
验证dft的实验报告导言DFT(Discrete Fourier Transform)是一种将一个离散信号的时域表示转换为频域表示的数学变换方法。
本次实验旨在验证DFT的有效性和可靠性,以及了解它在信号处理领域的应用。
实验目的1. 了解DFT的原理和数学表达式;2. 熟悉DFT的运算过程;3. 验证DFT算法在信号处理中的效果。
实验步骤1. 实现DFT算法首先,我们需要实现DFT算法。
DFT将时域信号转换为频域信号,我们需要编写代码来执行这个转换过程。
以下是伪代码示例:function dft(signal):N = length(signal) 信号长度spectrum = []for k in range(N):real_part = 0imag_part = 0for n in range(N):angle = 2 * pi * k * n / Nreal_part += signal[n] * cos(angle)imag_part += signal[n] * sin(angle)spectrum[k] = complex(real_part, imag_part)return spectrum2. 生成测试信号为了验证DFT的准确性,我们需要生成一个已知频谱的测试信号。
我们可以使用一个简单的正弦函数和脉冲函数的组合作为测试信号,如下所示:signal = sin(2 * pi * f1 * t) * pulse(t, t_start, t_end)其中,`f1`是正弦函数的频率,`t`是时间,`pulse(t, t_start, t_end)`是一个单位脉冲函数。
3. 运行DFT算法将生成的测试信号输入DFT算法中,得到频域信号。
我们可以将频域信号进行绘图,观察其频谱分布。
4. 验证结果比较DFT算法得到的频谱和测试信号的已知频谱,检查它们是否吻合。
可以使用频谱图来进行对比分析。
实验结果与分析我们使用Python编程语言实现了DFT算法,并生成了一个具有已知频谱的测试信号。
dft共轭对称证明要证明DFT(离散傅里叶变换)的共轭对称性,首先需要明确DFT的定义。
DFT将一个长度为N的离散序列x(n)转换为一个长度为N的频谱序列X(k)。
其定义为:X(k) = Σ[x(n) * exp(-j2πkn/N)], n=0,1,2,...,N-1, k=0,1,2,...,N-1现在我们来证明DFT的共轭对称性。
设x(n)为一个长度为N的离散序列,则DFT的共轭对称性可以表示为:X(N-1-k) = X*(k), k=0,1,2,...,N-1即,X(N-1-k)与X(k)的共轭相等。
证明:首先,将X(N-1-k)的定义代入DFT的定义中:X(N-1-k) = Σ[x(n) * exp(-j2π(N-1-k)n/N)], n=0,1,2,...,N-1接下来,我们将k替换为N-1-k,此时原来的求和变为:X(N-1-k) = Σ[x(n) * exp(-j2π(N-1-k)n/N)], n=0,1,2,...,N-1因此,我们可以将下标n替换为N-1-n,得到:X(N-1-k) = Σ[x(N-1-n) * exp(-j2π(N-1-k)(N-1-n)/N)],n=0,1,2,...,N-1接下来,我们可以交换求和中的n和N-1-n的顺序,并且将exp中的指数进行简化:X(N-1-k) = Σ[x(n) * exp(-j2π(k+n)/N)], n=0,1,2,...,N-1然后,我们将求和中的n替换为m,得到:X(N-1-k) = Σ[x(m) * exp(-j2π(k+m)/N)], m=0,1,2,...,N-1注意到,这与DFT的定义非常相似,只是指数的符号相反。
我们知道exp函数的共轭是exp函数的倒数,即exp(-jθ)的共轭是exp(jθ)。
因此,将指数中的负号移到前面,可以得到:X(N-1-k) = Σ[x(m) * [exp(-j2π(k+m)/N)]*], m=0,1,2,...,N-1即,X(N-1-k)等于X(k)的共轭。
xx科技大学课程设计报告学生姓名:学号:专业班级:电子信息工程课程名称:数字信号处理及应用学年学期:指导教师:xx2 0 14年1月课程设计成绩评定表学生姓名学号成绩专业班级电信起止时间2014年1月6日---2014年1月10日设计题目设计一:DFT在信号频谱中的应用设计设计二:离散时间系统频域分析指导教师评语指导教师:2014年1月目录一、设计题目 (4)二、设计目的 (4)1、DFT在信号频谱分析中的应用设计目的 (4)2、离散时间系统频域分析设计目的 (4)三、设计原理 (4)1、DFT在信号频谱分析中的应用的设计原理 (4)2、离散时间系统频域分析的设计原理 (5)四、实现方法 (5)1、DFT在信号频谱分析中的应用 (5)2、离散时间系统频域分析 (5)五、设计内容与要求 (6)1、DFT在信号频谱分析中的应用 (6)2、离散时间系统频域分析 (20)六、设计结果及改进建议 (27)1. DFT在信号频谱分析中的应用 (27)2. 离散时间系统频域分析 (27)七、回答思考题 (27)1. DFT在信号频谱分析中的作用 (27)2、离散时间系统频域分析 (28)八、设计体会 (29)九、参考文献 (31)一、设计题目我选择了两个题目:DFT在信号频谱分析中的应用和离散时间系统频域分析。
二、设计目的1、DFT在信号频谱分析中的应用设计目的1.1 熟悉DFT的性质。
1.2 加深理解信号频谱的概念及性质。
1.3了解高密度谱与高分辨率频谱的区别。
2、离散时间系统频域分析设计目的2.1.学习离散时间系统频率特性的计算方法。
2.2.深刻理解离散时间系统频率特性与滤波特性的关系。
2.3.掌握离散时间系统的系统参数、系统零极点及系统频率特性间的三、设计原理1、DFT在信号频谱分析中的应用的设计原理1.1学习用DFT和补零DFT的方法来计算信号的频谱。
1.2 用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写程序。
1 DFT 基础知识1.1离散傅立叶变换(DFT )定义在实际应用中,经常遇到的是有现场的非周期序列,需要知道的是如何获取有限长序列的离散频谱。
事实上,完全可以借助离散傅里叶级数,来研究有限长序列频谱的离散化。
可以设x(n)是一个长度为M 的有限长序列,则定义x(n)的N 点离散傅里叶变换为:正变换:)(k X =DFT[)(n x ] =nk NjN n en x π21)(--=∑ =nk NN n Wn x ∑-=1)(10-≤≤N k反变换:)(n x =IDFT[)(k X ]=∑-=12)(1N k kn Njek X Nπ=∑-=-1)(1N k nk NWk X N10-≤≤N n或)(k X =nk NN n Wn x ∑-=1)(R N (k)=)(~k X R N (k)x(n)= ∑-=-10)(1N k nk NWk X NR N (n) =)(~n x R N (n)式中Nj N eW π2-=,N 称为DFT 变换区间长度,N≥M 。
DFT 隐含有周期性。
1.2复共轭序列的DFT设*()x n 是()x n 的复共轭序列,长度为N ,则(1)已知)(k X =DFT[()x n ]则DFT[*()x n ]=*()X N k - 10-≤≤N k且()(0)X N X =(2)已知)(k X =DFT[()x n ]则DFT[*()x N n -]=*()X k 10-≤≤N k1.3 DFT 的共轭对称性DFT 有对称性,但由于DFT 中讨论的序列)(n x 及其离散傅立叶变换)(k X 均为有限长序列,且定义区间为0到N-1,所以这里的对称性是指关于N/2点的对称性。
下面讨论DFT 的共轭对称性质。
1.3.1 有限长共轭对称序列和共轭反对称序列长度为N 的有限长序列)(n x ,若满足)()(*n N x n x -=, 10-≤≤N n (1.1) 称序列)(n x 为共轭对称序列,一般用)(n x ep 来表示。
若满足)()(*n N x n x --=, 10-≤≤N n (1.2) 称序列)(n x 为共轭反对称序列,一般用)(n x op 来表示 即()ep x n =*()epx N n -, 0≤n≤N -1()op x n =-*()op x N n -, 0≤n≤N -1当N 为偶数时,把 n Nn -=2代入式(1.1)与式(1.2),得 =-)2(n N x ep )2(*n Nx ep +, 120-≤≤N n (1.3)=-)2(n N x op )2(*n Nx op +-, 120-≤≤N n (1.4)式(1.3)与式(1.4)说明共轭对称序列与其共轭序列以2/N n =成偶对称,共轭反对称序列与其共轭序列以2/N n =成奇对称。
当N 为奇数时,把 n N n --=21代入式(1.1)与式(1.2),得 =--)21(n N x ep )21(*n N x ep ++, 1210--≤≤N n (1.6)=--)21(n N x op )21(*n N x op ++-, 1210--≤≤N n (1.6)式(1.5)与式(1.6)说明共轭对称序列与其共轭序列以2/)1(-=N n 成偶对称,共轭反对称序列与其共轭序列以2/)1(-=N n 成奇对称。
设一长度为N 的有限长序列)(n x ,令)]()([21)(n N x n x n x ep -+=*)]()([21)(n N x n x n x op --=*则有)( )()(n x n x n x op ep += (1.7)这说明任一有限长序列,都表示成一个共轭对称序列与共轭反对称序列的和,在频域下同样有类似结论)()()(k X k X k X op ep += (1.8)式中 )]()([21)( k N X k X k X ep -+=* (1.9))]()([21)(k N X k X k X op --=* (1.10)1.3.2 共轭对称性分析(1)当x(n)为长度N 的复数序列时,有)()()(n jx n x n x i r += 10-≤≤N n)]()([21)]([*n x n x DFT n x DFT r +==)()([21k N X k X -+*] = )(k X ep (1.11) 同理可得)()]()([21)([*k X n x n x DFT n jx DFT op i =-= (1.12) 即()()()ep op X k X k X k =+式(1.11)和(1.12)说明复数序列实数部分的离散傅立叶变换是原来序列离散傅立叶变换的共轭对称分量;复书序列虚数部分的离散傅立叶变换是原来序列离散傅里叶变换的共轭反对称分量。
另一方面,由式(1.7)知有限长序列可分解为共轭对称分量与共轭反对称分量,即)(n x =()ep x n +()op x n 10-≤≤N n可得其离散傅立叶变换)]()([21)]([*n N x n x DFT n x DFT ep -+==)](Re[k X (1.13)同理可得)]()([21)]([*n N x n x DFT n x DFT op --==)](Im[k X j (1.14) 即()()()R I X k X k jX k =+上面两式说明复序列共轭对称分量序列的离散傅立叶变换是原来序列离散傅立叶变换的实数部分;复序列共轭对称分量的离散傅立叶变换是原来序列离散傅立叶变换的虚数部分。
综上可得到有限长复序列的DFT 的共轭对称性质如下 ①将有限长序列x(n)分成实部与虚部,即:)()()(n jx n x n x i r += 10-≤≤N n则:()()()ep op X k X k X k =+②将有限长序列x(n)分成共轭对称部分和共轭反对称部分,即)(n x =()ep x n +()op x n ,10-≤≤N n 则:()()()R I X k X k jX k =+(2)当x(n)为长度N 的实数序列或纯虚数序列时,有当x (n)为实序列时,则)()(k X k X ep = 又据)(k X ep )的对称性: 有当x (n)为纯虚序列时,则)()(k X k X op = 又据)(k X op )的对称性:)())(()(*k R k N X k X N N ep ep -=)())(()(*k R k N X k X N N -=)())(()(*k R k X k X N N op op --=有离散傅立叶变换的对称性,在求实序列的离散傅立叶变换中有重要作用。
例如,有两个实数序列)(1n x 和)(2n x ,为求其离散傅立叶变换,可以分别用)(1n x 和)(2n x 作为虚部和实部构造一个复数序列x(n),求出x(n)的离散傅立叶变换)(k X ,然后根据式(1.9)和(1.10)得到)(k X 的共轭对称分量)(k X ep 和)(k X op ,分别对应)(1k X 和)(2k X ,从而实现一次DFT 的计算可得到两个序列DFT 的高效算法。
而DFT 可以通过一次快速FFT 变换来实现。
)())(()(*k R k X k X N N --=2程序设计与分析本次课设计分两个部分,一个是要验证N点的DFT的对称性,另一个是要用一次快速傅立叶变换FFT实现两个序列的DFT2.1 N点DFT对称性的验证2.1.1程序流程图由于函数ezplot只能画出既存在Symbolic Math Toolbox中又存在于总matlab工具箱中的函数,而gedc(实信号分解为循环偶分量和循环奇分量)和dft(计算离散付利叶变换)仅存在Symbolic Math Toolbox中,因此需要在自己的工作目录work下创建。
此后可以直接调用这些函数。
N点的DFT的对称性验证流程图如图2-1所示2.1.2 程序编写与结果分析首先在目录work下创建gedc的M文件,gedc的M文件是用来生成共轭对称分量与共轭反对称分量的,程序如下:function [xec,xoc]=gedc(x);N=length(x);n=0:(N-1);xec=0.5*(x + x(mod(-n,N)+1));xoc=0.5*(x - x(mod(-n,N)+1));再是在目录work下创建dft的M文件,dft为离散傅立叶变换,程序如下: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,序列为x=[2.5 0 1.6 -3 -2 2 1.6 -3 -1 4 4.5 -2 ]的程序设计与结果分析程序:figure(1)n=0:11;x=input('请输入序列x=');[xep,xop]=gedc(x);subplot(2,1,1);stem(n,xep);title('共轭对称分量')xlabel('n');ylabel('xep');axis([-0.5,12.5,-3,4]);subplot(2,1,2);stem(n,xop);title('共轭反对称分量'); xlabel('n');ylabel('xop');axis([-0.5,12.5, -4,4]); figure(2)X=dft(x,12) ;Xep=dft(xep,12);Xop=dft(xop,12); subplot(2,2,1);stem(n,real(X));axis([-0.5,12.5,-10,10]); title(' real(X)');xlabel('k');subplot(2,2,2);stem(n,imag(X));axis([-0.5,12.5,-17,17]); title(' imag(X)');xlabel('k');subplot(2,2,3);stem(n,Xep);axis([-0.5,12.5, -10,10]); title('DFT[xep(n)]'); xlabel('k');subplot(2,2,4);stem(n,imag(Xop)); axis([-0.5,12.5,-17,17]); title('DFT[xop(n)]'); xlabel('k');结果:图2-2 共轭对称分量与共轭反对称分量510-10-50510 real(X )k510-10010 imag(X )k510-10-50510DFT[xep(n)]k510-10010DFT[xop(n)]k图2-3 对称性的验证图形分析:从图2-3可以看出复数序列实数部分的离散傅立叶变换是原来序列离散傅立叶变换的共轭对称分量;复数序列虚数部分的离散傅立叶变换是原来序列离散傅立叶变换的共轭反对称分量。