DFT对称性的验证以及应用课程设计文档格式.docx
《DFT对称性的验证以及应用课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《DFT对称性的验证以及应用课程设计文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
![DFT对称性的验证以及应用课程设计文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/50b92735-0be1-4b17-8937-a67fa38b31b2/50b92735-0be1-4b17-8937-a67fa38b31b21.gif)
1DFT基础知识1
1.1离散傅立叶变换(DFT)定义1
1.2复共轭序列的DFT1
1.3DFT的共轭对称性2
1.3.1有限长共轭对称序列和共轭反对称序列2
1.3.2共轭对称性分析3
2程序设计与分析6
2.1N点DFT对称性的验证6
2.1.1程序流程图6
2.1.2程序编写与结果分析7
2.2用一次FFT实现两个序列的DFT13
2.2.1程序流程图13
2.2.2程序编写与结果分析13
3课程设计心得体会16
参考文献17
摘要
有限长序列在数字信号处理是很重要的一种序列,反映它的"
有限长"
特点的一种有用工具是离散傅里叶变换(DFT)。
离散傅里叶变换除了作为有限长序列的一种傅里叶表示法在理论上相当重要之外,而且由于存在着计算离散傅里叶变换的有效快速算法,因而离散傅里叶变换在各种数字信号处理的算法中起着核心的作用。
而离散傅立叶变换的对称性,在求实序列的离散傅立叶变换中有重要作用。
可以实现一次DFT的计算得到两个序列DFT的高效算法,而DFT可以通过一次快速FFT变换来实现。
关键词:
DFT共轭对称性matlab
1DFT基础知识
1.1离散傅立叶变换(DFT)定义
有限长序列在数字信号处理是很重要的一种序列,当然可以用Z变换和傅里叶变换来
研究它,但是,可以导出反映它的"
特点的一种有用工具是离散傅里叶变换(DFT)离散傅里叶变换除了作为有限长序列的一种傅里叶表示法在理论上相当重要之外,而且由于存在着计算离散傅里叶变换的有效快速算法,因而离散傅里叶变换在各种数字信号处理的算法中起着核心的作用。
设x(n)是一个长度为M的有限长序列,则定义x(n)的N点离散傅里叶变换为:
正变换:
N1jJkN1k
x(n)eNx(nW「k
X(k)=DFT[x(n)]=no=no0kN1
反变换:
1N1j^kn1N1“
—X(k)eN丄X(k)WN
x(n)=|DFT[X(k)]=Nko=Nko0nN1
或
N1
x(n)W0〜
X(k)=n0RN(k)=X(k)RN(k)
1N1nk
-X(k)WN~、
x(n)=
Nk0Rn(n)=x(n)Rn(n)
j-2N-
式中WneN,n称为DFT变换区间长度,NAM。
DFT隐含有周期性。
1.2复共轭序列的DFT
设x*(n)是x(n)的复共轭序列,长度为N,贝U
X(k)=dFT[x(n)]
(1)已知
贝U
DFT[x(n)]=X(Nk)0kN1
X(N)X(0)
(2)已知
X(k)=DFT[x(n)]
则
DFT[x(Nn)]=X(k)0kN1
1.3DFT的共轭对称性
DFT有对称性,但由于DFT中讨论的序列x(n)及其离散傅立叶变换X(k)均为有限长序列,且定义区间为0到N-1,所以这里的对称性是指关于N/2点的对称性。
下面讨论DFT的共轭对称性质。
1.3.1有限长共轭对称序列和共轭反对称序列
长度为N的有限长序列x(n),若满足
x(n)x*(Nn),0nN1(1.1)
称序列x(n)为共轭对称序列,一般用xep(n)来表示。
若满足
x(n)x*(Nn),0nN1(1.2)
称序列x(n)为共轭反对称序列,一般用xop(n)来表示
Xep(n'
Sn),0<
n<
-N
心(n)=_x*p(Nn)0<
_N
式(1.3)与式(1.4)说明共轭对称序列与其共轭序列以n称序列与其共轭序列以nN/2成奇对称
当N为奇数时,把nJ
2
n代入式(1.1)与式(1.2),得
*N1
xep(
n)Xep(n),0
n
1
(1.6)
x°
p(n)
p(n),0
式(1.5)与式(1.6)说明共轭对称序列与其共轭序列以
n(N
1)/2成偶对称,
共轭
反对称序列与其共轭序列以n(N1)/2成奇对称
设一长度为N的有限长序列x(n),
令
Xep(n)
1[x(n)
x(N
n)]
[x(n)
则有
x(n)
(1.7)
这说明任一有限长序列,都表示成一个共轭对称序列与共轭反对称序列的和,在频域
下同样有类似结论
X(k)Xep(k)
X(
(1.8)
式中
Xep(k)1[X(k)X
(N
k)]
(1.9)
Xop(k)-[X(k)X
(1.10)
1.3.2共轭对称性:
分析
(1)当x(n)为长度
N的复数序列时,有
x(n)Xr(n)jXi(n)
0nN1
DFT[xr(n)]^DFTy
(n)x*(n)]
=-[X(k)
X
(Nk)]
=Xep(k)
(1.11)
同理可得
DFT[jXi(n)-DFT[x(n)
*(n)]Xop(k)
(1.12)
即
X(k)Xep(k)Xop(k)
式(1.11)和(1.12)说明复数序列实数部分的离散傅立叶变换是原来序列离散傅立叶变换的共轭对称分量;
复书序列虚数部分的离散傅立叶变换是原来序列离散傅里叶变换的共轭反对称分量。
另一方面,由式(1.7)知有限长序列可分解为共轭对称分量与共轭反对称分量,即
x(n)=Xep(n)+Xop(n)
可得其离散傅立叶变换
DFT[Xep(n)]-DFT[x(n)x*(N
(1.13)
=Re[X(k)]
1*
DFT[x°
p(n)]-DFT[x(n)x
=jlm[X(k)]
(1.14)
X(k)XR(k)jX'
k)
上面两式说明复序列共轭对称分量序列的离散傅立叶变换是原来序列离散傅立叶变换的实数部分;
复序列共轭对称分量的离散傅立叶变换是原来序列离散傅立叶变换的虚数部分。
综上可得到有限长复序列的DFT的共轭对称性质如下
1将有限长序列x(n)分成实部与虚部,即:
x(n)Xr(n)jXi(n)0nN1
则:
2将有限长序列x(n)分成共轭对称部分和共轭反对称部分,即
x(n)=Xep(n)+xop(n),。
门N1
X(k)XR(k)jXi(k)
(2)当x(n)为长度N的实数序列或纯虚数序列时,有
当x(n)为实序列时,则
又据Xep(k))的对称性:
Xep(k)X;
p((Nk))N&
(k)
有
X(k)X*((Nk))NRN(k)
当x(n)为纯虚序列时,则
X(k)Xop(k)
又据Xop(k))的对称性:
Xop(k)xOp((k))NRN(k)
X(k)X*((k))NRN(k)
离散傅立叶变换的对称性,在求实序列的离散傅立叶变换中有重要作用。
例如,有两
个实数序列xi(n)和X2(n),为求其离散傅立叶变换,可以分别用Xi(n)和x?
(n)作为虚部和实部构造一个复数序列x(n),求出x(n)的离散傅立叶变换X(k),然后根据式(1.9)和(1.10)得到X(k)的共轭对称分量Xep(k)和Xop(k),分别对应Xi(k)和X2(k),从而实现一次DFT的计算可得到两个序列DFT的高效算法。
而DFT可以通过一次快速FFT变换来实现。
2程序设计与分析
本次课设计分两个部分,一个是要验证N点的DFT的对称性,另一个是要用一次快速傅立叶变换FFT实现两个序列的DFT
2.1N点DFT对称性的验证
2.1.1程序流程图
由于函数ezplot只能画出既存在SymbolicMathToolbox中又存在于总matlab工具箱中的函数,而gedc(实信号分解为循环偶分量和循环奇分量)和dft(计算离散付利叶变换)仅存
在SymbolicMathToolbox中,因此需要在自己的工作目录work下创建。
此后可以直接调用这些函数。
N点的DFT的对称性验证流程图如图2-1所示
n=0:
N-1
输入x序列
*
求x序列的共轭对称与反对称分量
画出共轭对称与反对称分量图形
求出X(K),Xep,Xop
画出real(X(K)),imag(X(K)),Xep,Xop的图形
图2-1验证对称性流程图
2.1.2程序编写与结果分析
首先在目录work下创建gedc的M文件,gedc的M文件是用来生成共轭对称分量与共轭反对称分量的,程序如下:
function[xec,xoc]=gedc(x);
N=length(x);
(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:
WN=exp(-j*2*pi/N);
nk=n'
*k;
WNnk=WN.Ank;
Xk=xn*WNnk;
主程序:
(1)N=12,序列为x=[2.501.6-3-221.6-3-144.5-2]的程序设计与结果分析
程序:
figure
(1)
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);
共轭反对称分量'
xlabel('
xop'
axis([