第2章 离散傅里叶变换 part2
- 格式:ppt
- 大小:1.09 MB
- 文档页数:64
实验二离散时间傅里叶变换和离散傅里叶变换一.实验目的1. 深刻理解离散时间信号傅里叶变换的定义,与连续傅里叶变换之间的关系;2. 深刻理解序列频谱的性质(连续的、周期的等) ;3. 能用MATLAB编程实现序列的DTFT,并能显示频谱幅频、相频曲线;4. 深刻理解DFT的定义、DFT谱的物理意义、DFT与DTFT之间的关系;5. 能用MATLAB编程实现有限长序列的DFT ;6. 熟悉循环卷积的过程,能用MATLAB编程实现循环卷积运算。
二.实验原理1. 离散时间信号的频谱和图示化2. 离散傅里叶变换的定义和图示化三.实验结果w=[0:2:500]*pi*2/500;h=(1+0.9*exp(-j*w))./(1-0.9*exp(-j*w));magh=abs(h);plot(w/pi,magh);grid;xlabel( 'f' );ylabel( '|H(w)|' );n=[0:127];m=[0:127];x=exp(j*2*pi/128*m.* n);[xk]=dft(x,128);n=[0:127];m=[0:127];x=cos(2*pi/128*m.* n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');« 0n=[0:127];m=[0:127]; [xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:127];m=[0,127];x=s in(n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');fC. ------------------------ ----------- ------------- ------------ ------------ ------------ -------------40 - -■3D ・-2D =-1D I- ii j | i■西k -____ g , ,上,___________注X] Sfl EC IDO 120 '40n=[0:127];m=[0:127];x=cos( n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:127];m=[0:127];x=n;[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:9];x1=[1,1,1,1,1,0,0,0,0,0];x2=[1,1,1,1,1,-1,-1,-1,-1,-1];[y]=circ on vt(x1,x2,10);stem( n,y);xlabel( 'n' );ylabel( 'y');。
傅⾥叶变换三部曲(⼆)·傅⾥叶变换的定义Part1:傅⾥叶级数的复数形式设f(x)是周期为l的周期函数,若f(x)∼a02+∞∑n=1(a n cosnπxl+bn sinnπxl),an=1l∫l−lf(x)cosnπxl d x,(n=0,1,2,…)bn=1l∫l−lf(x)sinnπxl d x.(n=1,2,…)记ω=πl,引进复数形式:cos nωx=e i nωx+e−i nωx2,sin nωx=e i nωx−e−i nωx2i级数化为f(x)∼a02+∞∑n=1(a ne i nωx+e−i nωx2+bne i nωx−e−i nωx2i)=a02+∞∑n=1(a n−ib n2e i nωx+a n+ib n2e−i nωx)令c0=a02,cn=a n−ib n2,dn=a n+ib n2,则c0=12l∫l−lf(x)d x,c n=12l∫l−lf(x)(cos nωx−isin nωx)d x=12l∫l−lf(x)e−i nωx d x,d n=12l∫l−lf(x)(cos nωx+isin nωx)d x=12l∫l−lf(x)e i nωx d x≜c−n=¯c n,(n=1,2,…)合并为c n=12l=∫l−lf(x)e−i nωx d x,(n∈Z)级数化为+∞∑n=−∞c n e−i nωx=12l+∞∑n=−∞∫l−l f(x)e−i nωx d x e i nωx我们称c n为f(x)的离散频谱(discrete spectrum),|c n|为f(x)的离散振幅频谱(discrete amplitude spectrum),arg c n为f(x)的离散相位频谱(discrete phase spectrum).对任何⼀个⾮周期函数f(t)都可以看成是由某个由某个周期为l的函数f(x)当l→∞时得来的.Part2:傅⾥叶积分和傅⾥叶变换傅⾥叶积分公式设f T(t)是周期为T的周期函数,在[−T2,T2]上满⾜狄利克雷条件,则f T(t)=1T∞∑n=−∞∫T2−T2f T(t)e−j nωt d t e j nωt,ω=2πT(上式中j是虚数单位,在傅⾥叶分析中我们不⽤i⽽通常记作j)由limT→∞f T(t)=f(t)知,f(t)=limT→∞1T∞∑n=−∞[∫T2−T2f T(t)e−j nωt d t]e j nωt记Δω=2πT,则Δω→0⇔T→∞,则f(t)=limT→∞1T∞∑n=−∞[∫T2−T2f T(t)e−j nωt d t]e j nωt=limΔω→012π+∞∑n=−∞∫T2T2f T(t)e−j nωt d t e j nωtΔω[][][]令F T(nω)=∫T2−T2f T(t)e−j nωt d t,则f(t)=limΔω→012π+∞∑n=−∞F T(nω)e j nωtΔω,F T(t)→∫+∞−∞f(t)e−jωt d t≜F(ω)(T→∞),由定积分定义f(t)=12π∫+∞−∞F(ω)e jωt dω,即f(t)=12π∫+∞−∞∫+∞−∞f(t)e−jωt d t e jωt dω上述公式称为傅⾥叶积分公式.傅⾥叶积分存在定理若f(t)在任何有限区间上满⾜狄利克雷条件,且在R上绝对可积,则12π∫+∞−∞∫+∞−∞f(t)e−jωt d t e jωt dω=f(t),t为连续点,f(t−)+f(t+)2,t为间断点.傅⾥叶变换设f(t)满⾜傅⾥叶积分存在定理,定义F(ω)=∫+∞−∞f(t)e−jωt d t 为f(t)的傅⾥叶变换(Fourier Transform)(实际上是⼀个实⾃变量的复值函数),记作F(ω)=F[f(t)]类似地,定义f(t)=12π∫+∞−∞F(ω)e−jωt dω为F(ω)的傅⾥叶逆变换(Inverse Fourier Transform),记作f(t)=F−1[F(ω)]在⼀定条件下,有F[f(t)]=F(ω)⇒F−1[F(ω)]=f(t);F−1[F(ω)]=f(t)⇒F[f(t)]=F(ω). f(t)与F(ω)在傅⽒变换意义下是⼀个⼀⼀对应,称f(t)与F(ω)构成⼀个傅⽒变换对,记作f(t)F↔F(ω)在不引起混淆的情况下,简记为f(t)↔F(ω).f(t)称为原象函数(original image function),F(ω)称为象函数(image function).在频谱分析中,F(ω)⼜称为f(t)的频谱(密度)函数(spectrum function),|F(ω)|称为f(t)的振幅频谱(amplitude spectrum),arg F(ω)称为f(t)的相位频谱(phase spectrum).下⾯我们来求⼏个常见信号函数的傅⽒变换.例1 求矩形脉冲函数(rectangular pulse function)R(t)=1,|t|≤1, 0,|t|>1的傅⽒变换及其频谱积分表达式.解:F(ω)=F[R(t)]=∫+∞−∞R(t)e−jωt d t=∫1−1R(t)e−jωt t=e−jωt−jω1−1=−e−jω−e jωjω=2sinωω;R(t)=12π∫∞−∞F(ω)e jωt dω=1π∫+∞F(ω)cosωt dω=1π∫+∞2sinωωcosωt dω=2π∫+∞sinωcosωtωdω=1,|t|<1, 12,|t|=1, 0,|t|>1因此可知,当t=0时,有[] []{{ []{∫+∞0sin t xd t =π2例2 求指数衰减函数(exponential decay function)E (t )=0,t <0,e −βt ,t ≥0的傅⽒变换及其频谱积分表达式,其中β>0为常数.解:F (ω)=F [E (t )]=∫+∞−∞E (t )e −j ωt d t=∫+∞0e −βt e −j ωtd t =∫+∞0e (β+j ω)t d t =1β+j ωβ−j ωβ2+ω2E (t )=12π∫+∞−∞F (ω)e j ωt ω=12π∫+∞−∞β−j ωβ2+ω2e j ωtω=1π∫+∞βcos ωt +ωsin ωtβ2+ω2d ω=0,t <0,12,t =0,e −βt ,t >0Part3:单位脉冲函数我们记电流脉冲函数q (t )=0,t ≠0,1,t =0,严格地,由于q (t )在t =0出不连续,所以q (t )在t =0点是不可导的.但是,如果我们形式地计算这个导数,有q ′(0)=limΔt →0q (0+Δt )−q (0)Δt=limΔt →0−1Δt=∞我们引进这样⼀个函数,称为单位脉冲函数(unit pulse function)或狄拉克(Dirac)函数,简记为δ−函数,即δ(t )=0,t ≠0,∞,t =0,⼀般地,给定⼀个函数序列δε(t )=0,t <0,1ε,0≤t ≤ε,0,t >ε则有δ(t )=lim ε→0δε(t )=0,t ≠0,∞,t =0于是∫+∞−∞δ(t )d t =limε→0∫+∞−∞δεd t =limε→0∫ε01εd t =1若设f (t )为连续函数,则δ−函数有以下性质:∫+∞−∞δ(t )f (t )d t =f (0);∫+∞−∞δ(t −t 0)f (t )d t =f (t 0)于是我们可得:F [δ(t )]=∫+∞−∞δ(t )e −j ωt t =e −j ωt t =0=1于是δ(t )与常数1构成了⼀对傅⾥叶变换对.例3: 证明:e j ω0t ↔2πδ(ω−ω0)其中ω0是常数.证:{{{{{{|f(t)=F−1[F(ω)]=12π∫+∞−∞2πδ(ω−ω0)e jωt dω=e jωtω=ω=e jω0t在物理学和⼯程技术中,有许多重要函数不满⾜傅⽒积分定理中的绝对可积条件,即不满⾜条件∫+∞−∞|f(t)|d t<∞例如常数,符号函数,单位阶跃函数以及正,余弦函数等, 然⽽它们的⼴义傅⽒变换也是存在的,利⽤单位脉冲函数及其傅⽒变换就可以求出它们的傅⽒变换.所谓⼴义是相对于古典意义⽽⾔的,在⼴义意义下,同样可以说,原象函数f(t)和象函数F(ω)构成⼀个傅⽒变换对.例求正弦函数f(t)=sinω0t的傅⽒变换.解:F(ω)=F[f(t)]=∫+∞−∞f(t)e−jωt d t=∫+∞−∞e jω0t−e−jω0t2je−jωt d t=12j∫+∞−∞e−j(ω−ω0)t−e−j(ω+ω0)t d t=jπδ(ω+ω0)−δ(ω−ω0)同样我们易得F(cosω0t)=πδ(ω+ω0)+δ(ω−ω0)例证明:单位阶跃函数(unit step function)u(t)=0,t<0, 1,t>0的傅⽒变换为F[u(t)]=1jω+πδ(ω)证:F−11jω+πδ(ω)=12π∫+∞−∞1jω+πδ(ω)e jωt dω=12π∫+∞−∞[πδ(ω)]e jωt dω+12π∫+∞−∞1jωe jωt dω=12+12π∫+∞−∞cosωt+jsinωtjωdω=12+12π∫+∞−∞sinωtωdω=12+1π∫+∞sinωtωdω∫+∞0sinωtωdω=π2,t>0,−π2,t<0⇒F−11jω+πδ(ω)=12+1π−π2=0,t<012,t=0,12+1ππ2=1,t>0=u(t).本⽂完|()[][]{[][][][][][] { []{()()。
实验二 离散傅里叶变换(DFT )实验【实验目的】1.进一步熟悉CCS 集成开发环境的软硬件调试方法2.学习DFT 的基本原理3.掌握如何在DSP 中实现DFT 算法【实验内容】1. 了解DFT 的基本原理。
2.了解命令文件中伪指令MEMORY 和SECTIONS 的作用。
2. CCS 中的软硬件开发环境的熟悉。
3. 常用信号(包括正弦波,方波,三角波,锯齿波)的DFT 。
【实验器材】1.DSP 开发板2.DSP 仿真器3 .PC 机(软件:CCS ,全称:Code composer studio )三 实验原理。
傅里叶变换是一种将信号从时域变换到频域的变换形式,是信号处理的重要分析工具。
离散傅里叶变换(DFT )是傅里叶变换在离散系统中的表示形式。
本实验是在学生首先产生一信号后,对该信号进行DFT ,并在CCS 中利用其自带的观察窗口或Memory 菜单来查看变换前后的波形或频谱值,从而完成了一个简易频谱分析仪。
让学生更加直观形象地体会DFT 的整个过程假设信号为x (0),x(1),……,x (N),那么其离散傅立叶变换后的实部和虚部以及频谱幅度分别为:2()0()()()()N j k n N r i n X k x n eX k jX k π-===+∑ 0(0)()(0)0N r i i X x i X =∴==∑ 002 ()()cos(())2()()sin(())(0)Nr n N i i X k x n k n N X k x n k n k N ππ===⨯⨯⨯=-⨯⨯⨯>∑∑()A k =具体的实现过程的时候需要根据硬件的特性来实现。
比如cos和sin的值都可事先通过软件计算出结果,保存在两个数组中,直接对其进行查表操作。
若缓存数量为128,即N=128。
对于cos和sin的系数,根据需要可以首先计算出128点的sin值,而cos的值则可以通过sin表整体后移N/4点,也就是整体后移32点后得到。
离散时间傅⾥叶变换1. 离散时间傅⾥叶变换的导出针对离散时间⾮周期序列,为了建⽴它的傅⾥叶变换表⽰,我们将采⽤与连续情况下完全类似的步骤进⾏。
考虑某⼀序列x[n],它具有有限持续期;也就是说,对于某个整数N1和N2,在 −N1⩽以外,x[n]=0。
下图给出了这种类型的⼀个信号。
由这个⾮周期信号可以构成⼀个周期序列\tilde x[n],使x[n]就是\tilde x[n]的⼀个周期。
随着N的增⼤,x[n]就在⼀个更长的时间间隔内与\tilde x[n]相⼀致。
⽽当N\to \infty,对任意有限时间值n⽽⾔,有\tilde x[n]=x[n]。
现在我们来考虑⼀下\tilde x[n]的傅⾥叶级数表⽰式\tag{1}\tilde x[n] = \sum_{k=(N)}a_ke^{jk{(2\pi/N)}n}\tag{2}a_k = \frac{1}{N} \sum_{n=(N)} \tilde x[n]e^{-jk{(2\pi/N)}n}因为在-N_1 \leqslant N \leqslant N_2区间的⼀个周期上\tilde x[n]=x[n],因此我们将上式的求和区间就选在这个周期上\tag{3}a_k = \frac{1}{N} \sum_{n=-N_1}^{N_2} x[n]e^{-jk{(2\pi/N)}n} = \frac{1}{N} \sum_{n=-\infty}^{+\infty} x[n]e^{-jk{(2\pi/N)}n}现定义函数\tag{4}X(e^{j\omega})=\sum_{n=-\infty}^{+\infty}x[n]e^{-j\omega n}可见这些系数a_k正⽐于X(e^{j\omega})的各样本值,即\tag{5}a_k = \frac{1}{N}X(e^{jk\omega_0})式中,\omega_0=2\pi/N⽤来记作在频域中的样本间隔。
离散傅里叶变换离散傅里叶变换(DFT),是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样。
在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。
即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号再作变换。
在实际应用中通常采用快速傅里叶变换以高效计算DFT。
目录对换实例离散傅里叶变换的基本性质对换实例离散傅里叶变换的基本性质展开编辑本段对换实例傅里叶变换的变换对对于N点序列{x[n ]} 0 ≤ n < N ,它的离散傅里叶变换(DFT)为?x[k ] = N - 1Σn = 0 e - i 2 π–––––N n k x[n ] k = 0,1, …,N-1.其中e 是自然对数的底数,i 是虚数单位。
通常以符号F表示这一变换,即?x= Fx离散傅里叶变换的逆变换(IDFT)为:x[n ] = 1––N N - 1Σk = 0 e i 2 π–––––N nk ?x[k ] n = 0,1, …,N-1.可以记为:x = F -1 ?x实际上,DFT和IDFT变换式中和式前面乘上的归一化系数并不重要。
在上面的定义中,DFT和IDFT前的系数分别为1 和1/N。
有时会将这两个系数都改成1/ √––N,这样就有x = FFx,即DFT成为酉变换。
从连续到离散连续时间信号x(t) 以及它的连续傅里叶变换(CT)?x( ω)都是连续的。
由于数字系统只能处理有限长的、离散的信号,因此必须将x 和?x都离散化,并且建立对应于连续傅里叶变换的映射。
数字系统只能处理有限长的信号,为此假设x(t)时限于[0, L],再通过时域采样将x(t) 离散化,就可以得到有限长的离散信号。
设采样周期为T,则时域采样点数N=L/T。
x discrete (t) = x (t) N - 1Σn = 0 δ(t-nT) = N - 1Σn = 0 x (nT) δ(t-nT)它的傅里叶变换为?xdiscrete ( ω) = N - 1Σn = 0 x (nT)F δ(t-nT) = 1––T N - 1Σn = 0 x (nT)e - i 2 π n ω T这就是x(t)时域采样的连续傅里叶变换,也就是离散时间傅里叶变换,它在频域依然是连续的。