数字信号处理实验 matlab版 离散傅里叶变换的性质

合集下载

数字信号处理 实验 离散傅里叶变换及其特性验证

数字信号处理 实验 离散傅里叶变换及其特性验证

数字信号处理实验报告实验名称: 离散傅里叶变换及其特性验证 学号: 姓名: 评语: 成绩:一、实验目的1、掌握离散时间傅立叶变换(DTFT )的计算方法和编程技术。

2、掌握离散傅立叶变换(DFT )的计算方法和编程技术。

3、理解离散傅立叶变换(DFT )的性质并用MA TLAB 进行验证。

二、实验原理与计算方法1、离散时间傅立叶变换如果序列x (n )满足绝对可和的条件,即∞<∑∞-∞=n n x |)(|,则其离散时间傅立叶变换定义为: ∑∞-∞=-==n nj j en x n x F e X ωω)()]([)( (1)如果x (n )是无限长的,则不能直接用MATLAB 由x (n )计算X (e j ω),但可以用它来估计X (e j ω)表达式在[0,π]频率区间的值并绘制它的幅频和相频(或实部和虚部)曲线。

如果x (n )是有限长的,则可以用MATLAB 对任意频率ω处的X (e j ω)进行数值计算。

如果要在[0,π]间按等间隔频点估计X (e j ω),则(1)式可以用矩阵-向量相乘的运算来实现。

假设序列x (n )在N n n n ≤≤1(即不一定在[0, N -1])有N 个样本,要估计下列各点上的X (e j ω):M k k Mk ...,2,1,0==, πω它们是[0,π]之间的(M +1)个等间隔频点,则(1)式可写成: M k n x ee X Nl l kn Mjj l...,2,1,0)()(1==∑=-, πω(2)将{x (n l )}和{X (e j ωk)}分别排列成向量x 和X ,则有:X=Wx (3) 其中W 是一个(M +1)×N 维矩阵:⎭⎬⎫⎩⎨⎧=≤≤=-M k n n n e N kn M j ...,2,1,0;1, πW将{k }和{n }排成列向量,则⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=n k W T M j πexp 在MA TLAB 中,把序列和下标排成行向量,对(3)式取转置得:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=k n x X T T T M j πexp其中n T k 是一个N ×(M +1)维矩阵。

数字信号处理实验matlab版离散傅里叶级数(DFS)

数字信号处理实验matlab版离散傅里叶级数(DFS)

数字信号处理实验matlab版离散傅⾥叶级数(DFS)实验11 离散傅⾥叶级数(DFS)(完美格式版,本⼈⾃⼰完成,所有语句正确,不排除极个别错误,特别适⽤于⼭⼤,勿⽤冰点等⼯具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX⼀、实验⽬的1、加深对离散周期序列傅⾥叶级数(DFS)基本概念的理解。

2、掌握⽤MA TLAB语⾔求解周期序列傅⾥叶级数变换和逆变换的⽅法。

3、观察离散周期序列的重复周期数对频谱特性的影响。

4、了解离散序列的周期卷积及其线性卷积的区别。

⼆、实验内容1、周期序列的离散傅⾥叶级数。

2、周期序列的傅⾥叶级数变换和逆变换。

3、离散傅⾥叶变换和逆变换的通⽤⼦程序。

4、周期重复次数对序列频谱的影响。

5、周期序列的卷积和。

三、实验环境MA TLAB7.0四、实验原理⽤matlab进⾏程序设计,利⽤matlab绘图⼗分⽅便,它既可以绘制各种图形,包括⼆维图形和三位图形,还可以对图像进⾏装饰和控制。

1、周期序列的离散傅⾥叶级数(1)连续性周期信号的傅⾥叶级数对应的第k次谐波分量的系数为⽆穷多。

⽽周期为N 的周期序列,其离散傅⾥叶级数谐波分量的系数只有N个是独⽴的。

(2)周期序列的频谱也是⼀个以N为周期的周期序列。

2、周期序列的傅⾥叶级数变换和逆变换例11-1已知⼀个周期性矩形序列的脉冲宽度占整个周期的1/4,⼀个周期的采样点数为16点,显⽰3个周期的信号序列波形。

要求:(1)⽤傅⾥叶级数求信号的幅度频谱和相位频谱。

(2)求傅⾥叶级数逆变换的图形,与原信号图形进⾏⽐较。

解MA TLAB程序如下:N=16;xn=[ones(1,N/4),zeros(1,3*N/4)];xn=[xn,xn,xn];n=0:3*N-1;k=0:3*N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k); %离散傅⾥叶级数变换 x=(Xk*exp(j*2*pi/N).^(n'*k))/N; %离散傅⾥叶级数逆变换subplot(2,2,1),stem(n,xn);title('x(n)');axis([-1,3*N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2),stem(n,abs(x)); %显⽰逆变换结果 title('IDFS|X(k)|');axis([-1,3*N,1.1*min(x),1.1*max(x)]); subplot(2,2,3),stem(k,abs(Xk)); %显⽰序列的幅度谱 title('|X(k)|');axis([-1,3*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk)); %显⽰序列的相位谱 title('arg|X(k)|');axis([-1,3*N,1.1*min(angle(Xk)), 1.1*max(angle(Xk))]);运⾏结果如图11-1所⽰。

信号处理实验报告

信号处理实验报告

一、实验目的本次实验旨在通过MATLAB软件平台,对数字信号处理的基本概念、原理和方法进行学习和实践。

通过实验,加深对以下内容的理解:1. 离散时间信号的基本概念和性质;2. 离散时间系统及其特性;3. 离散傅里叶变换(DFT)及其性质;4. 离散傅里叶逆变换(IDFT)及其应用;5. 窗函数及其在信号处理中的应用。

二、实验内容1. 离散时间信号的产生与性质(1)实验步骤:1.1 利用MATLAB生成以下离散时间信号:- 单位脉冲序列:δ[n];- 单位阶跃序列:u[n];- 矩形序列:R[n];- 实指数序列:a^n;- 复指数序列:e^(jωn)。

1.2 分析并比较这些信号的性质,如自相关函数、功率谱密度等。

(2)实验结果:实验结果显示,不同类型的离散时间信号具有不同的性质。

例如,单位脉冲序列的自相关函数为δ[n],功率谱密度为无穷大;单位阶跃序列的自相关函数为R[n],功率谱密度为有限值;矩形序列的自相关函数为R[n],功率谱密度为无穷大;实指数序列和复指数序列的自相关函数和功率谱密度均为有限值。

2. 离散时间系统及其特性(1)实验步骤:2.1 利用MATLAB构建以下离散时间系统:- 线性时不变系统:y[n] = x[n] a^n;- 非线性时不变系统:y[n] = x[n]^2;- 线性时变系统:y[n] = x[n] (1 + n)。

2.2 分析并比较这些系统的特性,如稳定性、因果性、线性时不变性等。

(2)实验结果:实验结果显示,不同类型的离散时间系统具有不同的特性。

例如,线性时不变系统的输出与输入之间存在线性关系,且满足时不变性;非线性时不变系统的输出与输入之间存在非线性关系,但满足时不变性;线性时变系统的输出与输入之间存在线性关系,但满足时变性。

3. 离散傅里叶变换(DFT)及其性质(1)实验步骤:3.1 利用MATLAB对以下离散时间信号进行DFT变换:- 单位脉冲序列:δ[n];- 单位阶跃序列:u[n];- 矩形序列:R[n]。

实验四 离散傅里叶变换的性质

实验四 离散傅里叶变换的性质

实验四离散傅里叶变换的性质一、实验目的1. 熟悉matlab软件中离散傅里叶变换的实现方法及FFT函数的使用方法;2. 通过软件仿真,加深对离散傅里叶变换性质的理解。

二、实验内容1. 验证离散傅里叶变换的线性性质;2. 掌握用matlab实现圆周移位的方法;3. 验证圆周卷积与线性卷积的关系。

三、实验步骤1. 验证线性性质设两个有限长序列分别为xn1=[3,1,-2,2,3,4],xn2=[1,1,1,1],做4DFT[xn1]+2DFT[xn2],及DFT[4xn1+2xn2]的运算,比较它们的结果。

代码如下:clear,N=20;n=[0:1:N-1];xn1=[3,1,-2,2,3,4];n1=0:length(xn1)-1; %定义序列xn1xn2=[1,1,1,1];n2=0:length(xn2)-1; %定义序列xn2yn1=4*xn1;yn2=2*xn2;[yn,ny]=seqadd(yn1,n1,yn2,n2); %计算4xn1+2xn2xk1=fft(xn1,N);xk2=fft(xn2,N); %分别求DFT[xn1] 和DFT[xn2]yk0=4*xk1+2*xk2; %计算4DFT[xn1]+2DFT[xn2]yk=fft(yn,N); %计算DFT[4xn1+2xn2]subplot(2,1,1);stem(n,yk0);title('傅里叶变换之和') %显示4DFT[xn1]+2DFT[xn2]subplot(2,1,2);stem(n,yk);title('序列和之傅里叶变换') %显示DFT[4xn1+2xn2]运行结果如图1所示,从图中可知,用两种方法计算的DFT完全相等,所以离散傅里叶变换的线性性质得到验证。

图1 离散傅里叶变换的线性性质2. 圆周移位设x=[7,6,5,4,3,2],位于主值区间,现要把x分别圆周右移两位,圆周左移1位,成为新主值区间的向量,以此观察圆周移位的特点。

Matlab中的离散傅里叶变换方法介绍

Matlab中的离散傅里叶变换方法介绍

Matlab中的离散傅里叶变换方法介绍Matlab中的离散傅里叶变换(Discrete Fourier Transform,DFT)方法是数字信号处理中常用的工具。

通过将时域信号转换为频域信号,可以提取信号的频谱信息,帮助我们分析信号的频率成分以及进行滤波、压缩等处理。

本文将介绍Matlab中常用的几种离散傅里叶变换方法。

首先,我们来了解一下DFT的概念。

DFT是将时域中N个数据点的离散信号转换为频域中N个数据点的过程,其中N为一个正整数。

在Matlab中,可以使用fft函数来实现DFT。

fft函数的输入是一个长度为N的向量,输出是一个长度为N的复数向量,表示信号在频域中的幅度谱和相位谱。

在离散傅里叶变换中,有两种常用的方法,分别是直接计算和快速傅里叶变换(Fast Fourier Transform,FFT)。

首先我们来介绍直接计算方法。

直接计算方法是通过DFT的定义来计算每个频率点的幅度和相位,然后将它们组成一个复数向量。

在Matlab中,可以使用for循环来逐个计算每个频率点的值。

具体的代码如下所示:```N = length(signal); % 信号长度X = zeros(1, N); % 存储频域结果的向量for k = 0:N-1for n = 0:N-1X(k+1) = X(k+1) + signal(n+1) * exp(-1i * 2 * pi * k * n / N);endend```上述代码中的signal为输入的时域信号,X为计算得到的频域结果。

通过两层循环,我们可以计算出每个频率点的幅度和相位。

然而,直接计算方法的复杂度为O(N^2),计算效率较低,不适用于大规模的信号处理。

接下来,我们介绍更高效的FFT方法。

FFT是将DFT分解为多个较小规模的DFT的过程,从而提高计算效率。

在Matlab中,可以直接使用fft函数来进行FFT计算。

fft函数的输入和输出与DFT的定义相同,但是计算速度更快。

用matlab实现离散傅里叶变换

用matlab实现离散傅里叶变换

用matlab实现离散傅里叶变换
摘要:
1.离散傅里叶变换的概述
2.MATLAB 实现离散傅里叶变换的方法
3.离散傅里叶变换的应用实例
4.注意事项和局限性
正文:
一、离散傅里叶变换的概述
离散傅里叶变换(Discrete Fourier Transform,DFT)是一种在离散域中实现的傅里叶变换,它可以将一个离散信号从时域转换到频域。

DFT 在工程、科学和数学等领域有着广泛的应用,例如信号处理、图像处理、音频处理等。

二、MATLAB 实现离散傅里叶变换的方法
MATLAB 提供了fft 函数来实现离散傅里叶变换,该函数的用法如下:```matlab
X = fft(x);
```
其中,x 是输入的离散信号,X 是输出的离散傅里叶变换结果。

fft 函数的运行时间与输入信号的长度成正比,因此对于较大的信号,计算时间可能会较长。

三、离散傅里叶变换的应用实例
1.信号处理:在通信系统中,信号往往受到噪声的影响,通过离散傅里叶
变换可以将信号从时域转换到频域,以便分析和处理。

2.图像处理:离散傅里叶变换可以用于图像的频谱分析,从而实现图像的滤波、增强和压缩等操作。

3.音频处理:离散傅里叶变换可以用于音频信号的谱分析,从而实现音频信号的滤波、降噪和音质增强等操作。

四、注意事项和局限性
1.当使用fft 函数时,需要注意输入信号的长度应为2 的整数次幂,否则会导致结果错误。

2.在进行离散傅里叶变换时,需要根据实际应用场景选择合适的窗函数,以避免频谱泄漏和频谱混叠等问题。

3.离散傅里叶变换是一种近似方法,当信号长度较小时,结果可能存在误差。

离散傅立叶变换的性质及应用实验

离散傅立叶变换的性质及应用实验

离散傅立叶变换的性质及应用实验实验目的 1.了解DFT性质及应用。

2.熟悉MATLAB编程的特点。

实验要求能够用MATLAB来进行数字信号的处理。

实验原理 1、DFT变换正变换:反变换:2、序列卷积设序列的长度为N,序列的长度为M。

则分别对两个序列作点的DFT得到和,则两序列的线性卷积等于。

即时域卷积频域为相乘关系。

实验仪器计算机一台;MATLAB软件实验步骤 1、用三种不同的DFT程序计算的傅立叶变换,并比较三种程序计算机的运行时间。

(1)编制用for循环语句的M函数文件dft1.m,用循环变量逐点计算;(2)编写用MATLAB矩阵运算的M函数文件dft2.m,完成下列矩阵运算:(3)调用FFT库函数,直接计算 ;(4)分别利用上述三种不同方式编写的DFT程序计算序列的傅立叶变换,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。

2、利用DFT 实现两序列的卷积运算,并研究DFT点数与混叠的关系。

用FFT和IFFT分别求线性卷积和混叠结果输出,并用函数stem(n,y)画出相应图形。

选择不同的DFT点数进行对比,观察其混叠效应。

3、研究高密度频谱与高分辨率频谱设有连续信号以采样频率对该信号采样,分析下列三种情况的幅频特性。

(1)采集数据长度点,做点的DFT,并画出幅频特性。

(2)采集数据长度点,补零到256点的DFT,并画出幅频特性。

(3)采集数据长度点,做点的DFT,并画出幅频特性。

观察三幅不同频率特性图,分析和比较它们的特点以及形成的原因。

4、实现序列的内插和抽取所对应的傅立叶变换。

给定序列,做128点的傅立叶变换,并求和为整数对应的傅立叶变换(128点)。

比较这三个计算结果得到的幅频特性图,分析其差别产生的原因。

选择不同的插值倍数和抽样倍数对比其幅频的变化实验内容 1.(1)M函数文件dft1.mfunction y=dft1(x)N=length(x);for k=1:N A=0;for n=1:NA=A+x(n)*exp((-j*2*pi/N)*(k-1)*(n-1));y(k)=A;endendend(2)M函数文件dft2.mfunction y=dft2(x)N=length(x);x1=x'';for r=1:Nfor c=1:Ng(r,c)=exp((-j*2*pi/N)*(r-1)*(c-1));endendy=g*x1;end2.取23点的DFT>> x=0:15;h=ones(1,8); y1=fft(x,23); y2=fft(h,23); y3=y1.*y2; y4=ifft(y3,23)取24点的DFT>> y1=fft(x,24); y2=fft(h,24); y3=y1.*y2; y4=ifft(y3,24)取18点的DFT>> y1=fft(x,18); y2=fft(h,18); y3=y1.*y2; y4=ifft(y3,18)3.>> fs=32000;Ndata=16;N=16;>> n=0:Ndata-1;t=n/fs;>> x=cos(2*pi*6500*t)+cos(2*pi*9000*t);/>> x2=neicha(x,3);>> y=fft(x,128);y1=fft(x1,128);y2=fft(x2,128);>> subplot(3,1,1),stem(n,abs(y)),title(''x(n)幅频特性'')>> subplot(3,1,2),stem(n,abs(y1)),title(''x(3n)幅频特性'')>> subplot(3,1,3),stem(n,abs(y2)),title(''x(n/3)幅频特性'')>> grid on>> subplot(3,1,1),grid on>> subplot(3,1,2),grid on序列抽取函数chouqu.mfunction y=chouqu(x,k)n=length(x);m=((n-1)-mod((n-1),k))/k;for j=0:my(j+1)=x(k*j+1);endend序列内插函数neicha.mfunction y=neicha(x,k)n=length(x);for m=0:(n-1)*kif mod(m,k)==0y(1+m)=x((m/3)+1);else y(m+1)=0;endendend为序列抽取和内插函数。

离散信号的傅里叶变换(MATLAB实验)

离散信号的傅里叶变换(MATLAB实验)

离散信号的变换(MATLAB 实验)一、实验目的掌握用Z 变换判断离散系统的稳定与否的方法,掌握离散傅立叶变换及其基本性质和特点,了解快速傅立叶变换。

二、实验内容1、已经系统函数为5147.13418.217.098.22505)(2342-++--+=z z z z z z Z H (1) 画出零极点分布图,判断系统是否稳定;(2)检查系统是否稳定;(3) 如果系统稳定,求出系统对于u(n)的稳态输出和稳定时间b=[0,0,1,5,-50];a=[2,-2.98,0.17,2.3418,-1.5147];subplot(2,1,1);zplane(b,a);title('零极点分布图');z=roots(a);magz=abs(z)magz =0.90000.92200.92200.9900n=[0:1000];x=stepseq(0,0,1000);s=filter(b,a,x);subplot(2,1,2);stem(n,s);title('稳态输出');(1)因为极点都在单位园内,所以系统是稳定的。

(2)因为根的幅值(magz )都小于1,所以这个系统是稳定的。

(3)稳定时间为570。

2、综合运用上述命令,完成下列任务。

(1) 已知)(n x 是一个6点序列: ⎩⎨⎧≤≤=其它,050,1)(n n x计算该序列的离散时间傅立叶变换,并绘出它们的幅度和相位。

要求:离散时间傅立叶变换在[-2π,2π]之间的两个周期内取401个等分频率上进行数值求值。

n=0:5;x=ones(1,6);k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100)).^(n'*k);magX=abs(X);angX=angle(X);subplot(2,1,1);plot(w/pi,magX);grid;title('幅度');subplot(2,1,2);plot(w/pi,angX);grid;title('相位');(2) 已知下列序列:a. ,1000),52.0cos()48.0cos()(≤≤+=n n n n x ππ;b .)4sin()(πn n x =是一个N =32的有限序列;试绘制)(n x 及它的离散傅立叶变换)(k X 的图像。

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

实验13 离散傅里叶变换的性质(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX一、实验目的1 加深对离散傅里叶变换(DFT)基本性质的理解。

2 了解有限长序列傅里叶变换(DFT)性质的研究方法。

3 掌握用MATLAB语言进行离散傅里叶变换性质分析时程序编写的方法。

二、实验内容1 线性性质。

2 循环移位性质。

3 循环折叠性质。

4 时域和频域循环卷积特性。

5 循环对称性。

三、实验环境MA TLAB7.0四、实验原理1 线性性质如果两个有限长序列分别为x1(n)和x2(n),长度分别为N1和N2,且y(n)=ax1(n)+bx2(n) (a、b均为常数)则该y(n)的N点DFT为Y(k)=DFT[y(n)]=aX1(k)+bX2(k) 0≤k≤N-1其中:N=max[N1,N2],X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。

例13-1已知x1(n)=[0,1,2,4],x2(n)=[1,0,1,0,1],求:(1)y(n)=2x1(n)+3x2(n),再由y(n)的N点DFT获得Y(k);(2)由x1(n)、x2(n)求X1(k)、X2(k),再求Y(k)=2X1(k)+3X2(k)。

用图形分别表示以上结果,将两种方法求得的Y(k)进行比较,由此验证有限长序列傅里叶变换(DFT)的线性性质。

解MA TLAB程序如下:>> xn1=[0,1,2,4]; %建立xn1序列>> xn2=[1,0,1,0,1]; %建立xn2序列>> N1=length(xn1);N2=length(xn2);>> N=max(N1,N2); %确定N>> if N1>N2 xn2=[xn2,zeros(1,N1-N2)]; %对长度短的序列补0>> elseif N2>N1 xn1=[xn1,zeros(1,N2-N1)];>> end>> yn=2*xn1+3*xn2; %计算yn>> n=0:N-1;k=0:N-1;>> Yk1=yn*(exp(-j*2*pi/N)).^(n'*k); %求yn的N点DFT>> Xk1=xn1*(exp(-j*2*pi/N)).^(n'*k); %求xn1的N点DFT >> Xk2=xn2*(exp(-j*2*pi/N)).^(n'*k); %求xn2的N点DFT >> Yk2=2*Xk1+3*Xk2; %由Xk1、Xk2求Yk>> subplot(4,2,1),stem(n,xn1);>> title('x1(n)');>> subplot(3,2,2),stem(n,Xk1);>> title('X1(k)');>> subplot(4,2,3),stem(n,xn2);>> title('x2(n)');>> subplot(3,2,4),stem(n,Xk2);>> title('X1(k)');>> subplot(4,2,5),stem(n,yn);>> title('yn');>> subplot(3,2,6),stem(n,Yk2);>> title('2*Xk1+3*Xk2');>> subplot(4,2,7),stem(n,Yk1);>> title('DFT[y(n)]');求得的Y(k),如下所示:Yk=23.0000 -7.5902+1.5388i 3.5902-0.3633i3.5902+0.3633i -7.5902-1.5388i运行结果如图13-1所示。

图13-1 例13-1有限长序列的傅里叶变换的线性性质2 循环移位性质如果有限长序列为x(n),长度为N ,将x(n)左移m 位,则y(n)=x((n +m)N )R N (n) x(n)左移m 位的过程可由以下步骤获得:(1)将x(n)以N 为周期进行周期延拓,得到(n)x ~=x((n)N);(2)将(n)x ~左移m 位,得到m )(n x ~+;(3)取m )(n x ~+的主值序列,得到x(n)循环移位序列y(n)。

有限长序列的移位也称为循环移位,原因是将x(n)左移m 位时,移出的m 位又依次从右端进入主值区。

下面举例说明。

例13-2 已知有限长序列x(n)=[1,2,3,4,5,6],求x(n)左移2位成为新的向量y(n),并画出循环移位的中间过程。

解 MA TLAB 程序如下:>> xn=[1,2,3,4,5,6]; %建立xn 序列 >> Nx=length(xn);nx=0:Nx-1; >> nx1=-Nx:2*Nx-1; %设立周期延拓的范围 >> x1=xn(mod(nx1,Nx)+1); %建立周期延拓序列 >> ny1=nx1-2;y1=x1; %将x1左移2位,得到y1 >> RN=(nx1>=0)&(nx1<Nx); %在x1的位置向量nx1上设置主值窗 >> RN1=(ny1>=0)&(ny1<Nx); %在y1的位置向量ny1上设置主值窗 >> subplot(4,1,1),stem(nx1,RN.*x1); %画出x1的主值部分 >> subplot(4,1,2),stem(nx1,x1); %画出x1 >> subplot(4,1,3),stem(ny1,y1); %画出y1 >> subplot(4,1,4),stem(ny1,RN1.*y1); %画出y1的主值部分 运行结果如图13-2所示。

-6-4-224681012-8-6-4-2246810图13-2 例13-2有限长序列的循环移位3 循环折叠性质如果要把有限长N 点序列x(n)直接进行折叠,则x 的下标(-n)将不在0≤n ≤N -1区域内。

但根据有限长序列傅里叶变换隐含的周期性,可以对变量(-n)进行N 求余运算。

即在MA TLAB 中,序列x(n)的折叠可以由y =x(mod(-nx ,N)+1)得到。

有限长N 点序列x(n)的循环折叠序列y(n)定义为⎩⎨⎧≤≤=1-N n 1)n -N x(0=n x(0))n)x((y(n)N -=可以想像成,序列x(n)以反时针方向等间隔放置在一个圆周上,则x(-n)是将x(n)沿着圆周顺时针方向等间隔放置。

循环折叠性质同样适用于频域。

经循环折叠后,序列的DFT 由下式给出:⎩⎨⎧≤≤=-=-=*1-N k 1k)-X(N 0=k X(0))k)((X )]n)DFT[x((Y(k)N N就是说,在时域循环折叠后的函数,其对应的DFT 在频域也作循环折叠,并取X(k)的共轭。

例13-3 求x(n)=[1,2,3,4,5,6,7],循环长度分别取N =7,N =10。

(1)画出x(n)的图形; (2)画出x(-n)的图形。

解 MA TLAB 程序如下:>> x1=[1,2,3,4,5,6,7]; %建立x(n),N=7序列 >> N1=length(x1);n1=0:N1-1; >> y1=x1(mod(-n1,N1)+1); %建立x(-n),N=7序列 >> N2=10;>> x2=[x1,zeros(1,N2-N1)]; %建立x(n),N=10序列 >> n2=0:N2-1;>> y2=x2(mod(-n2,N2)+1); %建立x(-n),N=10序列 >> subplot(2,2,1),stem(n1,x1,'k'); %画x(n),N=7 >> title('x(n),N=7');>> subplot(2,2,3),stem(n1,y1,'k'); %画x(-n),N =7 >> title('x(-n),N=7');>> subplot(2,2,2),stem(n2,x2,'k');% 画x(n),N=10 >> title('x(n),N=10');>> subplot(2,2,4),stem(n2,y2,'k'); %画x(-n),N =10 >> title('x(-n),N=10'); 运行结果如图13-3所示。

0246x(n),N=7246x(-n),N=7x(n),N=10x(-n),N=10图13-3 例13-3离散序列的循环折叠例13-4 如例13-3求x(n)=[1,2,3,4,5,6,7],循环长度取N =7。

求证:在时域循环折叠后的函数x(-n),其对应的DFT 在频域也作循环折叠,并取X(k)的共轭。

解 MA TLAB 程序如下:>> x1=[1,2,3,4,5,6,7]; %建立x(n),N=7序列 >> N=length(x1); >> n=0:N-1;k=0:N-1; >> y1=x1(mod(-n,N)+1); %建立x(-n),N=7序列 >> Xk=x1*exp(-j*2*pi/N).^(n'*k) %求x(n)的DFT >> Yk=y1*exp(-j*2*pi/N).^(n'*k) %求x(-n)的DFT 运行结果: Xk =Columns 1 through 528.0000 -3.5000 + 7.2678i -3.5000 + 2.7912i -3.5000 + 0.7989i -3.5000 - 0.7989i Columns 6 through 7-3.5000 - 2.7912i -3.5000 - 7.2678i Yk =Columns 1 through 528.0000 -3.5000 - 7.2678i -3.5000 - 2.7912i -3.5000 - 0.7989i -3.5000 + 0.7989i Columns 6 through 7-3.5000 + 2.7912i -3.5000 + 7.2678i4 时域和频域循环卷积特性离散傅里叶变换的循环卷积特性也称为圆周卷积,分为时域卷积和频域卷积两类。

相关文档
最新文档