实验一离散时间信号的分析

合集下载

实验一 离散时间信号的频域分析

实验一 离散时间信号的频域分析

实验一离散时间信号的频域分析一实验目的:信号的变换域分析是信号处理中一种有效的工具。

在离散信号的时域分析中,我们通常将信号表示成单位采样序列δ[n]的线性组合,而在频域中,我们将信号表示成复变量e-jwn或e-j(2*pi/N)n的线性组合,通过这样的表示,可以将时域的离散序列映射到频域以便于进一步的处理。

在本实验中,将学习利用MATLAB计算离散时间信号的DTFT和DFT,并加深对其相互关系的理解。

二实验原理:(1) DTFT和DFT的定义及其相互关系:序列x[n]的DTFT定义:X(e jw)=∑x[n]e-jnw(n从负无穷到正无穷)它是关于自变量w的复函数,且是以2*pi为周期的连续函数。

X(e jw)可以表示为:X(e jw)=X re(e jw)+ jX im(e jw)其中,X re(e jw)和X im(e jw)分别是X (e jw)的实部和虚部;还可以表示为:X(e jw)= |X(e jw)|e jØ(w)其中。

|X(e jw)|和Ø(w)=arg{ X(e jw)}分别是X(e jw)的幅度函数和相位函数;它们都是w的实函数,也是以2*pi为周期的周期函数。

序列x[n]的N点DFT定义:X[k]=X(e j(2*pi/N)k)=∑x[n]e-j(2*pi/N)kn (0<=n<=N-1)X[k]是周期为N的序列。

X(e jw)与X[k]的关系:X[k]是对X(e jw)在一个周期中的谱的等间隔N点采样,即:X[k]= X(e jw)|w=(2*pi/N)k而X(e jw)可以通过对X[k]内插获得。

(2)使用MATLAB命令:A.基于DTFT离散时间信号分析函数:freqz,real,imag,abs,angle,unware.函数freqz可以用来计算一个以e jw的有理分式形式给出的序列的DTFT值。

Freqz的形式多样,常见的有H=freqz(num,den,w),其中num表示序列有理分式DTFT的分子多项式系数,den表示分母多项式系数(均按z的降幂排列),矢量w表示在0到2*pi中给定的一系列频率集合点。

离散时间信号的时域分析实验报告

离散时间信号的时域分析实验报告

离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过MATLAB软件,对离散时间信号进行时域分析,包括信号的显示、基本运算(如加法、减法、乘法、反转等)、以及频域变换(如傅里叶变换)等,以加深对离散时间信号处理的基本概念和原理的理解。

二、实验原理离散时间信号是在时间轴上离散分布的信号,其数学表示为离散时间函数。

与连续时间信号不同,离散时间信号只能在特定的时间点取值。

离散时间信号的时域分析是研究信号的基本属性,包括幅度、时间、频率等。

通过时域分析,我们可以对信号进行各种基本运算和变换,以提取有用的信息。

三、实验步骤1.信号生成:首先,我们使用MATLAB生成两组简单的离散时间信号,一组为正弦波,另一组为方波。

我们将这些信号存储在数组中,以便后续分析和显示。

2.信号显示:利用MATLAB的绘图功能,将生成的信号在时域中显示出来。

这样,我们可以直观地观察信号的基本属性,包括幅度和时间关系。

3.基本运算:对生成的信号进行基本运算,包括加法、减法、乘法、反转等。

将这些运算的结果存储在新的数组中,并绘制出运算后的信号波形。

4.傅里叶变换:使用MATLAB的FFT(快速傅里叶变换)函数,将信号从时域变换到频域。

我们可以得到信号的频谱,进而分析信号的频率属性。

5.结果分析:对上述步骤得到的结果进行分析,包括比较基本运算前后的信号波形变化,以及傅里叶变换前后的频谱差异等。

四、实验结果1.信号显示:通过绘制图形,我们观察到正弦波和方波在时域中的波形特点。

正弦波呈现周期性的波形,方波则呈现明显的阶跃特性。

2.基本运算:通过对比基本运算前后的信号波形图,我们可以观察到信号经过加法、减法、乘法、反转等运算后,其波形发生相应的变化。

例如,两个信号相加后,其幅度和时间与原信号不同。

反转信号则使得波形在时间轴上反向。

3.傅里叶变换:通过FFT变换,我们将时域中的正弦波和方波转换到频域。

正弦波的频谱显示其频率为单一的直流分量,方波的频谱则显示其主要频率分量是直流分量和若干奇数倍的谐波分量。

实验一 离散时间信号的时域分析

实验一 离散时间信号的时域分析

实验一 离散时间信号的时域分析实验1 序列的产生1. 目的:熟悉C 语言产生和绘制,熟悉MATLAB 中产生信号和绘制信号的基本命令。

2. 具体实验:2.1 单位样本和单位阶跃序列。

Q1.1 运行程序P1.1 ,以产生单位样本序列u[n]并显示它。

答:如图1-1所示。

Q1.2 命令clf , axis , title , xlabel 和ylabel 的作用是什么? 答:clf :擦除当前图形窗口中的图形。

Axis :调整坐标轴X 轴Y 轴的范围。

Title:给绘制的图形加上标题。

Xlabel:给X 轴加上标注。

Ylabel: 给Y 轴加上标注。

Q1.3 修改程序P1.1 以产生带有延时11个样本的延迟单位样本序列ud[n]。

运行修改的程序并显示产生的序列。

答:如图1-2所示。

Q1.4修改程序P1.1 以产生单位步长序列s[n]。

运行修改的程序并显示产生的序列。

答:如图1-3所示。

Q1.5修改程序P1.1 以产生带有超前7个样本的延迟单位样本序列sd[n]。

运行修改的程序并显示产生的序列。

答:如图1-4所示。

Figure 1-2 The unit sample sequence ud[n]Figure 1-1 The shifted unit sample sequence u[n]单位样本序列公式如下所示:Time index nA m p l i t u d eUnit Sample Sequence u[n]Time index nA m p l i t u d eShifted Unit Sample Sequence ud[n]1 , n=0 1 , n=k δ[n]= δ[n-k]=0 , 0≠0 0 , 0≠kFigure 1-3 The unit step sequence s[n] Figure 1-4 The shifted unit step sequence sd[n]单位阶跃序列公式如下所示:1 , n ≥0 1 , n ≥k μ[n]= μ[n-k]=0 , n <0 0 , n <k2.2 指数信号Q1.6 运行程序P1.2 ,以产生复数值的指数序列。

实验一 离散信号的分析

实验一 离散信号的分析

实验一 离散信号的分析一、实验目的1.观察常用离散时间信号的图形,掌握离散时间信号的基本序列运算。

2.理解离散时间系统的时域特性,加深对离散时间系统差分方程的理解。

3.熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。

二、实验内容1.在给出的区间上产生并画出下面序列:200)],20()10([10)]10()([)()10(3.0≤≤---+--=--n n u n u e n u n u n n x n2.设}10,8,5,6,4,2,1{)(--=n x ,产生并画出下列序列的样本。

)(3)4(4)5(5)(1n x n x n x n x ++++=三、实验步骤1.新建一个m 文件stepseq.m ,保存到D :/matlab6p5/work 路径下。

具体函数段如下:function [x,n]=stepseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)>=0];2利用上述函数完成实验内容1。

新建一个m 文件lin1.m ,保存到D :/matlab6p5/work 路径下。

具体函数段如下:n=[0:20];x1=n.*(stepseq(0,0,20)-stepseq(10,0,20));x2=10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20));x=x1+x2;subplot(2,1,1);stem(n,x);xlable('n');ylabel('x(n)');axis([0,20,-1,11]);3.新建两个函数文件sigshift.m 和sigadd.m ,保存到D :/matlab6p5/work 路径下。

具体函数段如下:sigshift.m 程序——function [y,n]=sigshift(x,m,n0);n=m-n0;y=x;sigadd.m 程序——function [y,n]=sigadd(x1,n1,x2,n2); sigmultm=[min(n1),min(n2)];p=[max(n1),max(n2)];n=min(m):1:max(p);y1=zeros(1,length(n));y2=y1;y1(find(n>=min(n1)&(n<=max(n1))==1))=x1;y2(find(n>=min(n2)&(n<=max(n2))==1))=x2;y=y1+y2; y1 .*y24.运用上述两个函数完成实验内容2。

实验一离散时间信号的时域分析

实验一离散时间信号的时域分析

实验一离散时间信号的时域分析离散时间信号是一种离散的信号形式,其具有离散的时间间隔。

这种信号在数字信号处理中得到了广泛的应用。

时域分析是分析信号的一种方法,它通常包括分析信号的幅度、相位、频率等参数,并从中获得信号的特征。

在本实验中,我们将探讨离散时间信号的时域分析方法。

1.实验目的• 了解离散时间信号的基本概念和性质。

• 熟悉MATLAB软件的使用,理解信号处理工具箱的使用方法。

2.实验原理离散时间信号是一种在离散时间点上定义的数列。

它通常用序列来表示,序列的元素是按照一定的时间间隔离散采样得到的。

离散时间信号的采样频率通常表示为Fs,单位是赫兹。

离散时间信号可以写成如下的形式:x(n) = [x(0),x(1),x(2),...,x(N-1)]其中,n表示离散时间点的下标,N表示离散时间信号的长度。

• 幅度分析:指分析离散时间信号的振幅大小。

离散时间信号的幅度、相位、频率的分析通常使用傅里叶变换、离散傅里叶变换等变换方法来实现。

3.实验步骤3.1 生成离散时间信号使用MATLAB编写程序,生成一个离散时间信号。

例如,我们可以生成一个正弦信号:t = 0:0.01:1;x = sin(2*pi*100*t);其中,t表示时间向量,x表示正弦信号。

将信号进行离散化,得到离散时间信号:其中,fs表示采样频率,n表示采样时间点,xn表示采样后的信号。

使用MATLAB的plot函数,绘制离散时间信号的时域图像。

figure(1);plot(n, xn);xlabel('Time');ylabel('Amplitude');其中,figure(1)表示创建一个新的窗口,用于显示图像。

xlabel和ylabel用于设置图像的横轴和纵轴标签。

3.3 使用FFT进行幅度分析X = fft(xn);n = length(X);f = (0:n-1)*(fs/n);power = abs(X).^2/n;其中,X表示离散时间信号的傅里叶变换结果,n表示离散时间信号的长度,f表示频率向量,power表示幅度谱。

实验一离散时间信号的分析报告

实验一离散时间信号的分析报告

工程大学信号分析与处理实验一专业:通信02班学生:瑶华学号:**********完成时间:2022年4月27日实验一: 离散时间信号的分析一、实验目的1.认识常用的各种信号,理解其数学表达式和波形表示。

2.掌握在计算机中生成及绘制数字信号波形的方法。

3.掌握序列的简单运算及计算机实现与作用。

4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。

二、实验设备计算机,MATLAB 语言环境。

三、实验基础理论1.序列的相关概念2.常见序列● 单位取样序列⎩⎨⎧≠==0n 0,0n 1n ,)(δ ● 单位阶跃序列⎩⎨⎧<≥=0,00,1)(n n n u ● 单位矩形序列⎩⎨⎧-≤≤=其他,010,1)(N n n R N ● 实指数序列)()(n u a n x n =● 复指数序列n jw e n x )(0)(+=σ● 正弦型序列)n sin()(0ϕ+=w A n x3.序列的基本运算● 移位 y(n)=x(n-m)● 反褶 y(n)=x(-n)● 和 )()()(21n x n x n y +=● 积 )()()(21n x n x n y •=● 标乘 y(n)=mx(n)● 累加∑-∞==nm m x n y )()( ● 差分运算 ⎩⎨⎧--=∇-+=∆)1()()()()1()(x n x n x n x n x n x n 后相差分前向差分 4.离散傅里叶变换的相关概念● 定义 ∑+∞-∞=-=n jwn jwe n x e X )()(● 两个性质1) [])2()2()2()()(,2)(ππππ++∞-∞=+-+--===∑w j n nw j jw n w j jwn jw e X e n x e X e ew e X 故有。

由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间是偶对称函数,相位)(arg jw e X 是奇对称函数。

实验一离散时间信号与系统时域分析

实验一离散时间信号与系统时域分析

实验一离散时间信号与系统时域分析实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令一实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令二、实验原理本实验主要为了熟悉MATLAB环境,重点掌握简单的矩阵(信号)输入和绘图命令,特别是绘图命令tem()和plot()。

实验内容中涉及到信号的无失真采样、离散卷积运算和差分方程求解这三个主要的问题。

其基本原理分别如下:对一个模拟信号某(t)进行采样离散化某(n),为了不失真地从采样信号某(n)中恢复原始信号某(t),采样时必须满足采样定理,即采样频率必须大于等于模拟信号中最高频率分量的2倍。

一个离散时间系统,输入信号为某(n),输出信号为y(n),运算关系用T[﹒]表示,则输入与输出的关系可表示为y(n)=T[某(n)]。

(1)线性时不变(LTI)系统的输入输出关系可通过h(n)表示:y(n)=某(n)某h(n)=式中某表示卷积运算。

(2)LTI系统的实现可物理实现的线性时不变系统是稳定的、因果的。

这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:h(n)0,n0;nh(n)0在MATLAB语言中采用conv实现卷积运算,即:Y=conv(某,h),它默认从n=0开始。

常系数差分方程可以描述一个LTI系统,通过它可以获得系统的结构,也可以求信号的瞬态解。

利用MATLAB 自带的filter(),可以代替手工迭代运算求解系统的差分方程,求解的过程类似于对输入信号进行滤波处理。

三、实验内容1、试画出如下序列的波形(1)某(n)3(n3)(n2)2(n1)4(n1)2(n2)3(n3)(2)某(n)0.5R10(n)解:用MATLAB描述波形1(1)某=[3120-42-3];%矩阵输入某n=-3:1:3;%输入自变量n,以间隔为1从-3到3变化n实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令tem(n,某);%tem()函数绘制火柴杆图,注意n,某元素个数必须相等某label('n');%横坐标显示nylabal('某(n)');%纵坐标显示某(n)grid;%绘制网格1(2)n=0:9;某=0.5.^n;tem(n,某);某label('n');ylabel('某(n)');gri实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令2、用MATLAB计算序列{-201–13}和序列{120-1}的离散卷积,即计算某(n)2(n)(n2)(n3)3(n4)与h(n)(n)2(n1)(n3)解:用MATLAB描述波形。

数字信号处理实验离散时间 LTI 系统的时域分析与 Z 域分析

数字信号处理实验离散时间 LTI 系统的时域分析与 Z 域分析

实验一离散时间LTI系统的时域分析与Z域分析一、实验目的1、掌握用MATLAB求解离散时间系统的零状态响应、单位脉冲响应和单位阶跃响应;2、掌握离散时间系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的稳定性。

二、实验原理1、离散时间系统的时域分析(1)离散时间系统的零状态响应离散时间LTI系统可用线性常系数差分方程来描述,即MATLAB中函数filter可对式(1-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。

函数filter的语句格式为:y=filter(b,a,x)其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。

(2)离散时间系统的单位脉冲响应系统的单位脉冲响应定义为系统在 (n)激励下系统的零状态响应,用h(n)表示。

MATLAB求解单位脉冲响有两种方法:一种是利用函数filter;另一种是利用函数impz。

impz函数的常用语句格式为impz(b,a,n),其中b和a的定义见filter,n表示脉冲响应输出的序列个数。

(3)离散时间系统的单位阶跃响应系统的单位阶跃响应定义为系统在ε(n)激励下系统的零状态响应。

MATLAB求解单位脉冲响应有两种方法:一种是利用函数filter,另一种是利用函数stepz。

stepz函数的常用语句格式为stepz(b,a,N)其中,b和a的定义见filter,N表示脉冲响应输出的序列个数。

2、离散时间系统的Z域分析(1)系统函数的零极点分析离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即如果系统函数H(z)的有理函数表示式为那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到。

roots的语法格式为:Z=roots(b)%计算零点b=[b1b2…bmbm+1]P=roots(a)%计算极点a=[a1a2…anan+1]tf2zp的语句格式为[Z,P,K]=tf2zp(b,a)其中,b与a分别表示H(z)的分子与分母多项式的系数向量。

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

武汉工程大学信号分析与处理实验一专业:通信02班学生姓名:李瑶华学号:1304200113完成时间:2016年6月1日实验一: 离散时间信号的分析一、实验目的1.认识常用的各种信号,理解其数学表达式和波形表示。

2.掌握在计算机中生成及绘制数字信号波形的方法。

3.掌握序列的简单运算及计算机实现与作用。

4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。

二、实验设备计算机,MATLAB 语言环境。

三、实验基础理论1.序列的相关概念2.常见序列● 单位取样序列⎩⎨⎧≠==0n 0,0n 1n ,)(δ ● 单位阶跃序列⎩⎨⎧<≥=0,00,1)(n n n u ● 单位矩形序列⎩⎨⎧-≤≤=其他,010,1)(N n n R N● 实指数序列)()(n u a n x n =● 复指数序列n jw e n x )(0)(+=σ● 正弦型序列)n sin()(0ϕ+=w A n x3.序列的基本运算● 移位 y(n)=x(n-m)● 反褶 y(n)=x(-n)● 和 )()()(21n x n x n y +=● 积 )()()(21n x n x n y ∙=● 标乘 y(n)=mx(n)● 累加∑-∞==nm m x n y )()( ● 差分运算 ⎩⎨⎧--=∇-+=∆)1()()()()1()(x n x n x n x n x n x n 后相差分前向差分4.离散傅里叶变换的相关概念● 定义 ∑+∞-∞=-=n jwn jw e n x e X )()( ● 两个性质1) [])2()2()2()()(,2)(ππππ++∞-∞=+-+--===∑w j n nw j jw n w j jwn jw e X e n x e X e ew e X 故有。

由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间内是偶对称函数,相位)(arg jw e X 是奇对称函数。

5.Z 变换的相关概念● 定义 ∑+∞-∞=-=n n z n x z X )()((双边Z 变换)∑+∞=-=0)()(n n z n x z X (单边Z 变换)四、实验内容与步骤1.离散时间信号(序列)的产生利用MATLAB 语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。

1. 单位取样序列的产生函数function [x,n]=impseq(n0,n1,n2)%产生x(n)=delta(n-n0);n1<=n,n0<=n2;%[x,n]=impseq(n0,n1,n2)if ((n0<n1)|(n0>n2)|(n1>n2))error('参数必须满足n1<=n0<=n2')endn=[n1:n2];%x=[zeros(1,(n0-n1)),1,zeros(1,(n2-n0))];x=[(n-n0)==0];2. 单位阶跃序列的产生函数function [x,n]=stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<=n,n0<=n2;%[x,n]=stepseq(n0,n1,n2)if ((n0<n1)|(n0>n2)|(n1>n2))error('参数必须满足n1<=n0<=n2')endn=[n1:n2];%x=[zeros(1,(n0-n1)),ones(1,(n2-n0+1))];x=[(n-n0)>=0];Matlab产生各种常见序列的程序n=[-5:5];x1=impseq(0,-5,5);subplot(2,2,1);stem(n,x1);title('单位取样序列');xlabel('n');ylabel('x(n)');n=[-3:10];x2=stepseq(0,-3,10);subplot(2,2,2);stem(n,x2);title('单位阶跃序列');xlabel('n');ylabel('x(n)');n=[-10:10];x3=(0.5).^n;subplot(2,2,3);stem(n,x3);title('实指数序列');xlabel('n');ylabel('x(n)');n=[0:20];x4=sin(0.3*n);subplot(2,2,4);stem(n,x4);title('正弦序列');xlabel('n');ylabel('x(n)');Matlab产生复指数序列的程序n=[0:1:20];alpha=-0.1+0.5j;x=exp(alpha*n);subplot(2,2,1);stem(real(x));title('实部');xlabel('n');subplot(2,2,2);stem(imag(x));title('虚部');xlabel('n');subplot(2,2,3);stem(abs(x));title('振幅');xlabel('n');subplot(2,2,4);stem(n,(180/pi)*angle(x));title('相位');xlabel('n');Matlab产生随机离散信号的程序n=[1:10];x=rand(1,10);figure;stem(n,x);xlabel('n');ylabel('x(n)');title('随机序列');grid2.序列的运算(1)利用MATLAB语言编程实现信号平滑运算。

程序r=65;d=0.8*(rand(r,1)-0.5);m=0:r-1;s=2*m.*(0.9.^m);x=s+d';subplot(2,1,1);plot(m,d','r-',m,s,'g--',m,x,'b-.');xlabel(' n');ylabel('振幅');legend('d[n]','s[n]','x[n]');x1=[0 0 x];x2=[0 x 0];x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:r+1),'r-',m,s,'g--');legend('y[n]','s[n]');xlabel(' n');ylabel('振幅');(2)利用MATLAB语言编程实现信号的调制。

程序Fm=10;Fc=100;Fs=500;k=0:199;t=k/Fs;x=sin(2*pi*Fm*t);y=x.*cos(2*pi*Fc*t);X=fft(x,256);Y=fft(y,256);subplot(2,2,1);plot(x);xlabel('t(s)');ylabel('x');title('原信号');subplot(2,2,2);plot(X);plot([-128:127],fftshift(abs(X)));xlabel('w');ylabel('X(jw)') ;title('原信号频谱');subplot(2,2,3);plot(y);xlabel('t(s)');ylabel('y');title('调制信号');subplot(2,2,4);plot(Y);plot([-128:127],fftshift(abs(Y)));xlabel('w');ylabel('Y(jw)') ;title('已调信号频谱');(3)利用MATLAB语言编程实现信号卷积运算。

序列卷积的产生函数function[y,ny]=conv_m(x,nx,h,nh)%信号处理的卷积程序%[y,ny]=conv_m(x,nx,h,nh)%y=卷积结果%ny=y的基底(support)%x=基底nx上的第一个信号%nx=x的基底%h=基底nh上的第二个信号%nh=h的基底nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);Matlab实现线性卷积的程序x=[0 0.5 1 1.5 0];nx=0:4;h=[1 1 1 0 0];nh=0:4;[y,ny]=conv_m(x,nx,h,nh);subplot(2,2,1);stem(nx,x);title('序列x');xlabel('n');ylabel('x(n)'); subplot(2,2,2);stem(nh,h);title('序列h');xlabel('n');ylabel('h(n)'); subplot(2,2,3);stem(ny,y);title('两序列卷积');xlabel('n');ylabel('y(n)');(4)利用MATLAB语言编程实现信号离散傅立叶的正反变换。

离散傅立叶正变换的产生函数function[Xk]=dft(xn,N)n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;离散傅立叶反变换的产生函数function[Xk]=idft(xn,N)n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^(-nk);Xk=xn*WNnk/N;(5)利用MATLAB语言编程实现信号的圆周移位,圆周卷积,验证DFT 的圆周时移、圆周卷积性质和圆周卷积与线性卷积的关系。

function m=sigmod(n,N);m=rem(n,N);m=m+N;m=rem(m,N);function y=cirshift(x,m,N);if length(x)>Nerror('N must be greater then length(x)');endx=[x zeros(1,N-length(x))];n=[0:N-1];n=sigmod(n-m,N);y=x(n+1);Matlab实现圆周移位的程序n=[0:10];M=6;N=11;x=15*0.4.^n;y=cirshift(x,M,N);subplot(2,1,1);stem(n,x);xlabel('n');ylabel('x(n)');title('原序列波'); subplot(2,1,2);stem(n,y);xlabel('n');ylabel('y(n)');title('圆周移位序波形')圆周卷积function y=circonvt(x1,x2,N)if length(x1)>Nerror('length(x1)is not great than N')endif length(x2)>Nerror('length(x2)is not greater than N')endx1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];m=[0:N-1];x2=x2(mod(-m,N)+1);H=zeros(N,N);for n=1:N;H(n,:)=cirshift(x2,n-1,N);endy=x1*H';Matlab实现圆周卷积的程序x1=[2,4,3];x2=[4 3 5 1];disp('N=7')N=7;y=circonvt(x1,x2,N)subplot(3,1,1);stem(x1);xlabel('n');ylabel('x1(n)');subplot(3,1,2);stem(x2);xlabel('n');ylabel('x2(n)');subplot(3,1,3);stem(y);xlabel('n');ylabel('y(n)');title('圆周卷积');(6)验证一个周期实序列奇偶部分的DFT与此序列本身的DFT之间的关系。

相关文档
最新文档