数字信号处理指导书matlab版

合集下载

《数字信号处理》实验指导书(完整)

《数字信号处理》实验指导书(完整)

《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应;● 学会运用MATLAB 求解离散时间系统的单位取样响应;● 学会运用MATLAB 求解离散时间系统的卷积和。

1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。

MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。

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

【实例1-1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。

解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。

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

数字信号处理指导书matlab版

数字信号处理指导书matlab版

实验1 时域离散信号的产生一、实验目的学会运用MATLAB 产生常用离散时间信号。

二、实验涉及的matlab 子函数 1、square 功能:产生矩形波 调用格式:x=square(t);类似于sin (t ),产生周期为2*pi ,幅值为+—1的方波。

x=square(t ,duty);产生制定周期的矩形波,其中duty 用于指定脉冲宽度与整个周期的比例。

2、rand功能:产生rand 随机信号。

调用格式:x=rand (n ,m );用于产生一组具有n 行m 列的随机信号。

三、实验原理在时间轴的离散点上取值的信号,称为离散时间信号。

通常,离散时间信号用x (n )表示,其幅度可以在某一范围内连续取值。

由于信号处理所用的设备主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。

我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。

在MATLAB 中,时域离散信号可以通过编写程序直接生成,也可以通过对连续信号的等间隔抽样获得。

下面介绍常用的时域离散信号及其程序。

1、单位抽样序列⎩⎨⎧≠==0001)(k k k δMATLAB 源程序为1) function [x,n] = impuls (n0,n1,n2)% Generates x(n) = delta(n-n0); n=n0 处建立一个单位抽样序列% [x,n] = impuls (n0,n1,n2)if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2') endn = [n1:n2];x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];将上述文件存为:impuls.m,在命令窗口输入n0=0,n1=-10,n2=11;[x,n]=impuls (n0,n1,n2); stem(n,x,’filled’)2)n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];stem(n,x,'filled','k');axis([n1,n2,1.1*min(x),1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');ylabel('幅度x(n)');3)n1=-5;n2=5;k=0;n=n1:n2;nt=length(n); %求n点的个数nk=abs(k-n1)+1; %确定k在n序列中的位置x=zeros(1,nt); %对所有样点置0x(nk)=1; %对抽样点置1stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');Ylabel('幅度x(n)');单位脉冲序列时间(n)幅度x (n )2、单位阶跃序列⎩⎨⎧<≥=0001)(k k k ε MATLAB 源程序为:1) n1=-2;n2=8;n0=0;n=n1:n2; %生成离散信号的时间序列 x=[n>=n0]; %生成离散信号x(n)stem(n, x,'filled','k'); %绘制脉冲杆图,且圆点处用实芯圆表示 axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); Ylabel('幅度x(n)');2) n1=-2;n2=8;k=0; n=n1:n2;nt=length(n); %求n 点的个数nk=abs(k-n1)+1; %确定k 在n 序列中的位置x=[zeros(1,nk-1),ones(1,nt-nk+1)]; %对所有样点置0 stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); ylabel('幅度x(n)');时间(n)幅度x (n )3、正弦序列x (n )=Um ()θω+n sin例、已知一时域周期性正弦信号的频率为1HZ ,振幅幅度为1V ,在窗口中显示两个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号。

《数字信号处理》实验指导书1

《数字信号处理》实验指导书1

实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。

(2)掌握对常用离散信号的理解与运算实现。

二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。

第二种格式用于生成步长为p的均匀等分的向量。

b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。

第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。

2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。

sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。

4. 二维曲线的绘制plot()函数plot()函数是将各个数据点通过连折线的方式来绘制二维图形的,其命令格式有以下几种:c . plot(y)当y 为向量时,以y 的序号作为X 轴,按向量y 的值绘制曲线。

数字信号处理课程设计指导书

数字信号处理课程设计指导书

数字信号处理课程设计指导书一、课程设计目的及要求数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。

本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。

二、课程设计任务课程设计的过程是综合运用所学知识的过程。

课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。

根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。

设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。

课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。

三、课程设计题目根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。

1. DFT在信号频谱分析中的应用2. 有噪声情况下信号幅度谱的研究3. 取样信号的混叠现象研究注:以上课程设计题目具体要求可参考本指导书附录一四、课程设计的内容及主要步骤1. 熟练掌握MATLAB语言。

2. 根据所选题目查阅专业资料,掌握设计原理,确定设计方案。

3. 编写程序并调试。

4. 撰写设计报告书。

注:课程设计详细内容和步骤可参考本指导书附录一五、课程设计的考核方法及成绩评定课程设计的考核依据学生的学习态度、方案合理性、资料完备性、创造性、报告撰写规范性和书面表达能力等为考核点,对学生进行综合考核。

成绩评定采用优秀、良好、中等、及格和不及格五级记分制。

评定细则如下:1.遵守纪律(10%):根据设计出勤情况、遵守纪律情况及设计态度等因素评定;2.设计报告(80%):根据课程设计报告书内容要求和实际完成情况评定;3.设计效果(10%):根据设计实际完成的质量及设计中的创造性评定;对设计任务理解透彻,能够全面、正确、独立地完成设计内容所规定的任务,得出正确的设计结果,并按时提交完整、规范的设计报告,可评为优秀;按照设计任务要求能够顺利地完成任务,得出结果,按时提交较完整的、符合要求的设计报告,可评定为良好;按照设计要求完成了软件的编程与调试,基本完成了任务要求,提交符合要求的设计报告,可评为中等;基本完成设计目标,但不够完善,存在缺陷,在帮助指导下能够完成任务要求,提交设计报告,可评为及格;不能完成规定的任务和要求,未提交设计报告的,或抄袭他人设计报告的评为不及格。

第一次实验 MATLAB的数字信号处理基础

第一次实验 MATLAB的数字信号处理基础

第一次实验MAT1AB的数字信号处理基础一、实验目的1.掌握在MAT1AB中创建和编写脚本程序的步骤,熟悉在MAT1AB中进行基本的矩阵运算2.了解数字信号在计算机系统中的表示和数字信号处理的基本过程3.掌握用MAT1AB产生数字信号的方法二、实验内容1.熟悉在MAT1AB下创建脚本文件编制程序的方法在MAT1AB中,脚本文件时由一系列的命令构成并储存为.m格式的文件。

通常使用m文件来编写一个完整的仿真程序。

脚本文件的创建,可采用以下两种方式:(1)在菜单栏中选择Fi1e下拉框中New选项,可以新建多种MAT1AB文件,我们编辑仿真程序,通常选择第一项BIankM-Fi1e,即新建一个空的MAT1AB文件。

具体参见下图。

图1(2)采用菜单栏中新建按钮即可新建一个空的MAT1AB文件。

Jk MAT1AB7.9.0(R2009b)Fi1eEditDebugParaJ一一J2.MAT1AB中的数据表示MAT1AB中的基本数据单元为数组矩阵,MAT1AB中的数学运算都是基于矩阵的。

掌握了矩阵运算,就掌握了MAT1AB编程的关键。

MAT1AB中使用到的变量无需事先声明其数据类型,大小等,MAT1AB会自动根据赋值情况进行解析。

比如,可用通过以下命令产生一个矩阵:3.常用序列的MAT1AB实现(1)单位抽样序列。

在MAT1AB中可以用以下函数来实现单位抽样序列function[x,n]=impseq(nθ,n1z n2)%产生x(n)=de1ta(n-n0);n1<=n0<=n2if((nθ<n1)∣(nθ>∩2)∣(n1>n2))error('参数必须满足n1<=nθ<=n2,)endn=[n1:n2];x=[zeros(1,(nO-n1))4∕Zθros(1z(n2-nO))];stem(x);图3(2)单位阶跃序列。

在MAT1AB中可用〃>=0来实现〃(〃一%)。

数字信号处理实验指导书(学生版)

数字信号处理实验指导书(学生版)

“数字信号处理”实验指导书(一)一、实验课程编码:105003 二、实验课程名称:数字信号处理三、实验项目名称: 应用MATLAB 分析离散信号频谱 四、实验目的掌握应用MATLAB 分析离散信号频谱的方法,即熟悉应用MATLAB 分析离散信号的函数。

五、主要设备安装有MATLAB 软件的电脑 六、实验内容编写MATLAB 程序,实现下面题目:1. 用快速卷积法计算下面两个序列的线性卷积。

)()4.0(s )(15n R n in n x =,)(9.0)(20n R n h n =2.已知序列[]()cos 0120n n N Nx n π⎧≤≤-⎪=⎨⎪⎩其它(1)计算该序列DTFT 的表达式()j X e ω,并画出N=10时的()j X e ω曲线; (2)编写MATLAB 程序,利用FFT 函数,计算N =10时,序列x [k ]的DTFT 在2m mNπω=的抽样值。

利用hold 函数,将抽样点画在()j X e ω的曲线上。

3.理解高密度频谱和高分辨率频谱的概念。

设)52.0cos()48.0(co )(n n s n x ππ+=(1) 取0≤n ≤9,求)(1k X(2) 将(1)中的)(x n 补零加长到0≤n ≤99,求)(2k X (3) 增加取样值的个数,取0≤n ≤99,求)(3k X4. 用DFT 对连续信号做谱分析。

设)50cos()100sin()200cos()(t t t t x a πππ++=,用DFT 分析)(t x a 的频谱结构,选择不同的截取长度Tp ,观察截断效应,试用加窗的方法减少谱间干扰。

选取的参数:(1) 频率s s f T Hz f /1 ,400==(2) 采样信号序列)()()(n w nT x n x a =,)(n w 是窗函数。

选取两种窗函数:矩形窗函数)()(n R n w N =和Hamming 窗,后者在程序中调用函数Hamming 产生宽度为N 的Hamming 窗函数向量。

基于MATLAB的数字信号处理实验指导书(2008)

基于MATLAB的数字信号处理实验指导书(2008)

基于MATLAB的数字信号处理实验指导书梁华庆编机电工程学院电工与电子信息技术实验教学中心2006年10月目录第一部分MATLAB信号处理工具箱使用介绍 (1)第一章概述 (1)1.1MATLAB简介 (1)1.2MATLAB的基本操作 (1)第二章信号的生成和信号的变换 (4)2.1序列的表示及基本序列的生成 (4)2.2序列的DFT、FFT (7)2.3用FFT法求线性卷积 (8)第三章数字滤波器的结构 (10)3.1直接型——传递函数形式 (10)3.2零极点增益形式 (10)3.3级联型——二阶因子级联形式 (11)3.4并联型——部分分式展开式形式 (11)第四章IIR数字滤波器设计 (13)4.1MATLAB中模拟滤波器设计函数介绍 (13)4.2MATLAB中IIR数字滤波器设计函数 (18)第五章FIR数字滤波器设计 (22)5.1MATLAB中有关FIR DF设计的函数 (22)5.2参考程序 (23)第二部分数字信号处理上机实验 (31)实验一、用DFT进行信号的谱分析 (31)实验二、DFT和DCT的应用 (32)实验三、IIR数字滤波器的设计 (34)实验四、FIR数字滤波器的设计 (35)第一部分MATLAB信号处理工具箱使用介绍第一章概述1.1MATLAB简介在科学研究与工程应用中,往往要进行大量的数学计算,其中包括矩阵运算。

这些运算一般来说难以用手工精确和快速地进行,而要借助计算机编制相应的程序做近似计算。

目前流行用C、FORTRAN等语言编制计算程序,既需要对相关算法有深刻的了解,还需要熟练地掌握所用语言的编程技巧。

对大多数人而言,同时具备这两方面的才能有一定的困难。

即使有,编程也费时费力,影响工作效率。

为克服上述困难,美国Math work公司于1967年推出“Matrix Laboratory”(缩写为MATLAB)软件包,并不断更新和扩充。

MATLAB软件包现已成为国际公认的最优秀的科技界应用软件,是一种面向科学和工程计算的高级语言,它强大的计算功能、计算结果的可视化以及极高的编程效率,是其它语言无与伦比的。

matlab数字信号处理书籍

matlab数字信号处理书籍

标题:MATLAB数字信号处理书籍推荐随着数字信号处理技术的不断发展,MATLAB成为了许多工程师和科学家进行数字信号处理的首选工具。

在学习和应用数字信号处理时,一本优质的MATLAB数字信号处理书籍不仅能够帮助读者快速掌握基础知识,还能够引领读者深入探索更深层次的理论和应用。

本文将推荐几本在MATLAB数字信号处理领域具有代表性的书籍,希望能够为读者在学习和实践中提供一定的参考和帮助。

一、《MATLAB数字信号处理与应用》《MATLAB数字信号处理与应用》是由陈铁军、吕玉涛等人合著的一本数字信号处理教材。

该书以MATLAB为工具进行教学,涵盖了数字信号处理的基本概念、原理、算法和应用。

书中详细介绍了MATLAB数字信号处理工具箱的使用方法,包括时域分析、频域分析以及滤波器设计等内容。

该书还引入了一些实际的信号处理应用案例,如语音信号处理、图像处理等,帮助读者将理论知识融会贯通。

二、《MATLAB数字信号处理与系统设计》《MATLAB数字信号处理与系统设计》一书由Steven W. Smith编著,是一本经典的MATLAB数字信号处理教程。

该书系统地介绍了数字信号处理的基本原理和技术,并结合MATLAB软件进行了实际的案例分析和仿真实验。

书中内容涵盖了从数字信号的采样与量化、离散时间信号的表达、离散时间信号的系统分析与设计等方面,既适合初学者入门学习,也适合从业人员的技术提升和实践应用。

三、《MATLAB数字信号处理》《MATLAB数字信号处理》由Boualem Boashash编著,是一本深入浅出的MATLAB数字信号处理教材。

该书内容全面覆盖了数字信号处理的理论、算法和MATLAB实现技巧,从基本概念到高级技术都有所涉及。

与其他书籍不同的是,该书还特别强调了MATLAB在数字信号处理中的应用实践,为读者提供了大量的MATLAB代码实例和实际案例。

通过学习该书,读者不仅能够掌握数字信号处理的基本概念和技术,还能够熟练地运用MATLAB进行数字信号处理的实际工作。

数字信号处理指导书matlab版

数字信号处理指导书matlab版

数字信号处理指导书matlab版实验1 时域离散信号的产⽣⼀、实验⽬的学会运⽤MATLAB 产⽣常⽤离散时间信号。

⼆、实验涉及的matlab ⼦函数 1、square 功能:产⽣矩形波调⽤格式:x=square(t);类似于sin (t ),产⽣周期为2*pi ,幅值为+—1的⽅波。

x=square(t ,duty);产⽣制定周期的矩形波,其中duty ⽤于指定脉冲宽度与整个周期的⽐例。

2、rand功能:产⽣rand 随机信号。

调⽤格式:x=rand (n ,m );⽤于产⽣⼀组具有n ⾏m 列的随机信号。

三、实验原理在时间轴的离散点上取值的信号,称为离散时间信号。

通常,离散时间信号⽤x (n )表⽰,其幅度可以在某⼀范围内连续取值。

由于信号处理所⽤的设备主要是计算机或专⽤的信号处理芯⽚,均以有限的位数来表⽰信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。

我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。

在MATLAB 中,时域离散信号可以通过编写程序直接⽣成,也可以通过对连续信号的等间隔抽样获得。

下⾯介绍常⽤的时域离散信号及其程序。

1、单位抽样序列≠==0001)(k k k δMATLAB 源程序为1) function [x,n] = impuls (n0,n1,n2)% Generates x(n) = delta(n-n0); n=n0 处建⽴⼀个单位抽样序列% [x,n] = impuls (n0,n1,n2)if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2') endn = [n1:n2];x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];将上述⽂件存为:impuls.m,在命令窗⼝输⼊n0=0,n1=-10,n2=11;[x,n]=impuls (n0,n1,n2); stem(n,x,’filled’)2)n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];stem(n,x,'filled','k');axis([n1,n2,1.1*min(x),1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');ylabel('幅度x(n)');3)n1=-5;n2=5;k=0;n=n1:n2;nt=length(n); %求n点的个数nk=abs(k-n1)+1; %确定k在n序列中的位置x=zeros(1,nt); %对所有样点置0x(nk)=1; %对抽样点置1stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');Ylabel('幅度x(n)');单位脉冲序列时间(n)幅度x (n )2、单位阶跃序列<≥=0001)(k k k ε MATLAB 源程序为:1) n1=-2;n2=8;n0=0;n=n1:n2; %⽣成离散信号的时间序列 x=[n>=n0]; %⽣成离散信号x(n)stem(n, x,'filled','k'); %绘制脉冲杆图,且圆点处⽤实芯圆表⽰ axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)');Ylabel('幅度x(n)');2) n1=-2;n2=8;k=0; n=n1:n2;nt=length(n); %求n 点的个数nk=abs(k-n1)+1; %确定k 在n 序列中的位置x=[zeros(1,nk-1),ones(1,nt-nk+1)]; %对所有样点置0 stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); ylabel('幅度x(n)');单位阶跃序列时间(n)幅度x (n )3、正弦序列x (n )=Um ()θω+n sin例、已知⼀时域周期性正弦信号的频率为1HZ ,振幅幅度为1V ,在窗⼝中显⽰两个周期的信号波形,并对该信号的⼀个周期进⾏32点采样获得离散信号。

《数字信号处理实验》指导书

《数字信号处理实验》指导书

《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。

实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。

实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。

4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。

5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。

(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。

数字信号处理matlab pdf

数字信号处理matlab pdf

数字信号处理matlab数字信号处理(Digital Signal Processing,DSP)是一种处理离散时间信号的方法,这些信号通常通过模拟信号进行数字化获得。

MATLAB是一个广泛使用的科学计算软件,可用于数字信号处理。

在MATLAB中进行数字信号处理的基本步骤通常包括:1.数据导入和预处理:MATLAB中可以方便地导入数字信号,包括音频、图像等。

然后可以对信号进行一些预处理操作,例如滤波、降噪等。

2.信号分析和特征提取:在信号预处理之后,可以进行更深入的分析,如频率分析、功率谱分析、相关性分析等。

此外,还可以提取信号的特征,例如频率、幅值、相位等。

3.信号处理算法实现:在MATLAB中,可以使用各种内置函数和工具箱来实现各种数字信号处理算法,如滤波器设计、频域变换、调制解调等。

4.结果可视化:MATLAB提供了强大的绘图和可视化工具,可以方便地显示信号处理的结果。

以下是一个简单的MATLAB代码示例,展示了如何读取一个音频文件并计算其功率谱:```matlab%读取音频文件[signal,fs]=audioread('filename.wav');%转换为单通道(如果需要)if size(signal,2)==2signal=sum(signal,2);end%计算功率谱[Pxx,F]=periodogram(signal,[],length(signal),fs);%绘制功率谱图figure;plot(F,10log10(Pxx/max(Pxx)));xlabel('Frequency(Hz)');ylabel('Power/Frequency(dB/Hz)');title('Power Spectrum');```请注意,这只是一个非常基础的示例。

实际应用中,数字信号处理可能涉及更复杂的算法和数据处理。

《数字信号处理》实验指导书

《数字信号处理》实验指导书

的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。

2. 掌握典型离散信号的Matlab 产生和显示。

二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。

数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。

三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。

(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。

2. 序列信号的实现方法。

3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。

实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。

2. 用MATLAB 实现离散信号的各种运算。

数字信号处理指导书

数字信号处理指导书

实验一 信号、系统及系统响应一、 实验目的:1、 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。

2、 熟悉时域离散系统的时域特性。

3、 利用卷积方法观察分析系统的时域特性。

4、 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。

二、实验内容及步骤:1、 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有内容,阅读本实验原理与方法。

2、 了解要使用到的MA TLAB 命令:1)基于DTFT 离散时间信号分析函数:freqz ,real ,imag ,abs ,angle ,unwrap 。

函数freqz 可以用来计算一个以ωj e的有理分式形式给出的序列的DTFT 值。

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

freqz 函数的其他形式参见帮助。

在求出DTFT 值后,可以使用函数real, imag, abs 和angle 分别求出并绘出其实部,虚部,幅度和相位谱。

如果需要,还可以用unwrap 函数消除相位中的跳变。

2)函数fft(x)可以计算R 点序列的R 点DFT 值;而fft(x,N)则计算R 点序列的N 点DFT ,若R>N ,则直接截取R 点DFT 的前N 点,若R<N ,则x 先进行补零扩展为N 点序列再求N 点DFT 。

函数ifft(X)可以计算R 点的谱序列的R 点IDFT 值;而ifft(X,N)同fft(x,N)的情况。

卷积函数2)conv 用求于两个有限长度序列的卷积。

3、 实验准备工作:1)产生实验中要用到的下列信号序列: a .采样信号序列:对下面连续信号:)()s i n ()(0t u t Aet x ata Ω=- 进行采样,可得到采样序列)()sin()()(0n u nT AenT x n x anta a Ω==-,500<≤n其中A 为幅度因子,a 为衰减因子,0Ω是模拟角频幸,T 为采样间隔。

数字信号处理实验指导书 正文

数字信号处理实验指导书 正文

目录实验一熟悉MATLAB环境(2学时) (2)实验二求线性时不变系统的输出(2学时) (3)实验三时域及频域采样定理(2学时) (8)实验四零极点分布对系统频率响应的影响(2学时) ..... 错误!未定义书签。

实验五用DFT(FFT)对信号进行频谱分析(2学时) .. (13)实验六IIR滤波器的设计(2学时) (14)实验七FIR滤波器的设计(2学时) ................... 错误!未定义书签。

实验八数字音频信号的分析与处理(4学时) (22)附录: MATLAB基本操作及常用命令 (30)实验一 熟悉MATLAB 环境(2学时)一、 实验目的1.熟悉MATLAB 的主要操作命令。

2.学会用MATLAB 创建时域离散信号。

3.学会创建MATLAB 函数。

二、 实验原理参阅附录MATLAB 基本操作及常用命令。

三、 实验内容完成以下操作。

1.数组的加、减、乘、除运算。

输入A=[1 2 3 4];B=[3 4 5 6];计算:C=A+B ;D=A-B ;E=A.*B ;F=A./B ;G=A.^B ;并用stem 语句画出A 、B 、C 、D 、E 、F 、G 。

2.用MATLAB 实现以下序列(1)单位抽样序列(2)单位阶跃序列⎩⎨⎧<≥=000,0,1)n -(n n n n n u(3)矩形序列⎩⎨⎧≥<-≤≤=),0(,0)10(,1)(N n n N n n R N(4)正弦序列x (n )=5sin(0.5πn + π/4) (5)指数序列x (n )=exp(-0.5n )⎩⎨⎧≠==00,0,1)n -(n n n n n δ3.用MA TLAB 生成以下两个序列:)4(5)3(4)2(3)1(2)()(-+-+-+-+=n n n n n n x δδδδδ )3(2)2()1(2)()(-+-+-+=n n n n n h δδδδ并作以下运算,并绘制运算后序列的波形。

数字信号处理指导书matlab版(适用通信专业2017新编)

数字信号处理指导书matlab版(适用通信专业2017新编)

实验2离散序列的基本运算(4学时)一、实验目的学会运用MATLAB进行离散序列的基本运算,并掌握程序的编写方法。

二、实验涉及的MATLAB函数说明1、onesones(m,n):功能:产生m行×n列的全1矩阵,当m=1,可用于产生二维长度为n的幅值为1的离散时间信号。

2、zeroszeros(m,n):功能:产生m行×n列的全零矩阵,当m=1,可用于产生二维长度为n的全零离散时间信号。

1、find功能:寻找非零元素的索引号。

调用格式:find((n>=min(n1))&(n<=max(n1)));在符合关系运算条件的范围内寻找非零元素的索引号。

2、fliplr功能:对矩阵行元素进行左右翻转。

调用格式:x1=fliplr(x);将x的行元素左右翻转,赋给变量x1。

三、实验原理离散时间信号的时间域基本运算包含序列的相加、相乘;离散时间信号的时间域变换包括序列的幅度变换(幅值的放大,缩小),移位、反转等。

离散时间信号的相加、相乘等运算是两个向量之间的运算,因此参加运算的两个离散时间信号向量必须具有相同的维数,如果维数不一致,应在运算中进行相应的处理。

四、实验内容1.序列的相加运算1.1具有相同维数的两个离散时间信号(序列)的相加运算任务要求:已知两离散时间信号,长度均为n=10(n 值可以自行修改),其中()3-n )(1σ=n x ,()2n )(2-=σn x ,)(2)(1)(n x n x n x +=,请显示)(n x 离散信号波形。

参考程序例程见example1.1,仿真参考示例如图1.1。

#example1.1#n1=0;n2=9;m1=3;m2=2;n=n1:n2;x1=[(n-m1)==0];%当n=m1时,x1=1x2=[(n-m2)==0];x3=x1+x2;subplot(3,1,1);stem(n,x1);axis([n1,n2,1.2*min(x1),1.2*max(x1)]);ylabel('δ(n-3)');subplot(3,1,2);stem(n,x2);axis([n1,n2,1.2*min(x2),1.2*max(x2)]);ylabel('δ(n-2)');subplot(3,1,3);stem(n,x3);axis([n1,n2,1.2*min(x3),1.2*max(x3)]);ylabel('δ(n-3)+δ(n-2)');δ(n -3)δ(n -2)δ(n -3)+δ(n -2)图1.1相同维数序列的相加1.2具有不同维数的两个离散时间信号(序列)的相加运算任务要求:已知两离散时间信号,长度分别为n=10(n值可以自行修改),其中()6u)4(2≤n=nx,其中:,n5--≤x,其中:;()8 un24(1≤)≤n+=n-nxn x+=,请显示)(n x离散信号波形,请修改两个离散时间信号的长度x)(n)(2)(1(具有不同维数),修改m1和k1的值,观察)x的波形。

数字信号处理实验指导书--Matlab版

数字信号处理实验指导书--Matlab版

四、实验报告要求
1、简述实验目的和实验原理。 2、对于 8 点 DFT 的报表显示,讨论其特点。 3、总结实验中的主要结论,你的收获和体会。
实验三 快速傅立叶变换(FFT)及其应用
一、实验目的
1、了解计算 DFT 算法存在的问题及改进途径。 2、掌握几种 DFT 算法(时间抽取算法,频率抽取算法等)。 3、学习并掌握 FFT 的应用。
FFT 的应用
凡是利用付里叶变换来进行分析、综合、变换的地方,都可以利用 FFT 算法来减少其计 算量。
FFT 主要应用在 1、快速卷积 2、快速相关 3、频谱分析
快速卷积
实际工作中常常利用 FFT 来计算两个序列 x(n)(长为 N)和 h(n)(长为 M)的线性卷积 (即实验五中的“离散卷积”)。我们知道,两个有限长序列的线性卷积可以用循环卷积来代 替,但必须用补零的方法使 x(n)和 h(n)都延长至 L 点,L=N+M-1。由于循环卷积可以用 FFT 来计算,这比直接卷积(线性卷积)的计算速度要快得多,因而循环卷积称为快速卷积,而 线性卷积称为慢卷积。 用 FFT 计算线性卷积的步骤如下: 1、用补零的方法将 x(n)和 h(n)都延长至 L 点,L=N+M-1,得到新序列; 2、计算 X(k)=DFT[x(n)]、H(k)=DFT[h(n)]; 3、计算 Y(k)=X(k)H(k); 4、计算 Y(k)的 IDFT,即 y(n)=IDFT[Y(k)]。
n=0
=N −1 iX就得到有限长序列的傅里叶变换(DFT)。我们把: (1)时域周期序列看作是有限长序列 x(n)的周期延拓; (2)把频域周期序列看作是有限长序列 X(k)的周期延拓.
∑N −1
− j 2π nk
X (k) = DFT[x(n)] = x(n)e N

MATLAB 数字信号处理 实验指导.1

MATLAB 数字信号处理 实验指导.1

武昌理工学院信息工程学院《数字信号处理》实验指导书————MATLAB实验二零一六年九月二十八日目录目录 ............................................................................................................................................. - 2 - MATLAB简介................................................................................................................................. - 3 -一、MATLAB初步 ........................................................................................................... - 3 -1. MATLAB的主要功能 ........................................................................................... - 3 -2.启动MATLAB及界面简介 ................................................................................ - 3 -3. MATLAB的常用命令 ........................................................................................... - 4 -4.基本运算................................................................................................................ - 5 -5.退出........................................................................................................................ - 6 -二、变量与函数、语句、矩阵及其运算.......................................................................... - 6 -1.变量与函数............................................................................................................ - 6 -2.语句与M文件...................................................................................................... - 6 -3.矩阵及其运算........................................................................................................ - 7 -三、MATLAB 支持的数据结构 ...................................................................................... - 8 -四、MATLAB绘图 ........................................................................................................... - 9 -1、绘制二维图形........................................................................................................ - 9 -2、绘制三维图形...................................................................................................... - 10 -五、MATLAB编程 ......................................................................................................... - 11 -1、关系运算和逻辑运算.......................................................................................... - 11 -2、控制语句.............................................................................................................. - 11 -3、函数编写方法与应用.......................................................................................... - 13 - 《数字信号处理》的MATLAB实验.......................................................................................... - 14 - 实验一MATLAB基础入门练习 ................................................................................. - 14 - 实验二离散时间信号分析............................................................................................ - 16 - 实验三离散时间系统及响应........................................................................................ - 18 - 实验四离散傅立叶变换及性质.................................................................................... - 20 - 实验五用FFT和CZT对信号进行频谱分析............................................................ - 21 - 实验六IIR数字滤波器设计与信号滤波..................................................................... - 24 - 实验七用窗函数法设计FIR滤波器........................................................................... - 27 - 实验报告格式............................................................................................................................ - 30 -MATLAB简介MATLAB是MATrix LABoratory的缩写。

数字信号处理 MATLAB参考资料

数字信号处理 MATLAB参考资料

数字信号处理 MATLAB参考资料————————————————————————————————作者:————————————————————————————————日期:MATLAB相关内容一信号与系统一、目的1、熟悉连续信号理想采样前后的频谱变化,加深对时域采样定理的理解.2、熟悉时域二、内容1、理想采样信号序列(1)首先产生信号x(n),0<=n〈=50n=0:50; % 定义序列的长度是50A=444。

128; %设置信号有关的参数a=50*sqrt (2.0)*pi;T=0.001; % T为采样率w0=50*sqrt(2.0)*pi;%ω符号在MatLab 中不能输入,用w 代替x=A*exp(—a*n*T)。

*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“。

* "close all %清除已经绘制的x(n)图形subplot(3,1,1);stem(x);% 绘制x(n) 的图形title('理想采样信号序列');(2)绘制信号x(n)的幅度谱和相位谱k=-25:25;X=x*(exp(-j*pi/12.5)).^(n’*k);magX=abs(X);% 绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(’理想采样信号序列的幅度谱’);angX=angle(X);% 绘制x(n)的相位谱subplot(3,1,3);stem(angX);title ('理想采样信号序列的相位谱’) ;(3)改变参数为:A=1 , a=0。

4, w0=2.0734, T=1A=1; a=0.4; w0=2.0734;T=1;%设置信号有关的参数和采样率Tx=A*exp(-a*n*T).*sin(w0*n*T);%pi 是MATLAB 定义的π,信号乘可采用“。

* "close all % 清除已经绘制的x(n) 图形subplot(3,1,1);stem(x); % 绘制x(n) 的图形title('理想采样信号序列’);k=-25:25;X=x*(exp(—j*pi/12。

matlab数字信号处理书籍

matlab数字信号处理书籍

matlab数字信号处理书籍摘要:一、MATLAB基础知识二、数字信号处理基本理论和方法三、MATLAB在通信信号处理、语音信号处理、图像信号处理等领域的应用四、上机习题解答正文:一、MATLAB基础知识MATLAB是一种功能强大、效率高、易于使用的交互式软件包,它在科学研究和工程应用中被广泛使用。

其中,它在对数字信号处理的支持方面表现得尤为出色。

本文将介绍MATLAB在数字信号处理中的应用,以及如何利用MATLAB进行数字信号处理的基本方法和实践。

二、数字信号处理基本理论和方法数字信号处理是信号处理的一种重要方式,它主要包括信号的采样、量化、编码、调制、解调等过程。

在MATLAB中,这些过程可以通过它的内置函数和工具箱轻松实现。

例如,采样可以使用`sampling`函数,量化可以使用`quantization`函数,编码和解码可以使用`coding`和`decoding`函数,调制和解调可以使用`modulation`和`demodulation`函数。

三、MATLAB在通信信号处理、语音信号处理、图像信号处理等领域的应用MATLAB在通信信号处理、语音信号处理、图像信号处理等领域的应用十分广泛。

在通信信号处理中,MATLAB可以用于模拟通信系统、分析信号特性、设计滤波器等。

在语音信号处理中,MATLAB可以用于语音信号的分析、合成和识别。

在图像信号处理中,MATLAB可以用于图像的变换、滤波、分割和识别等。

四、上机习题解答为了帮助读者深入理解MATLAB在数字信号处理中的应用,本书每章都配有上机习题。

这些习题涵盖了MATLAB的基本操作和数字信号处理的基本方法。

通过解答这些习题,读者可以巩固所学知识,提高实际操作能力。

总的来说,MATLAB在数字信号处理中的应用既实用又广泛。

无论你是学生、教师还是工程师,掌握MATLAB的基本知识和技能,都能帮助你更好地理解和应用数字信号处理的基本理论和方法。

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

实验1 时域离散信号的产生一、实验目的学会运用MATLAB 产生常用离散时间信号。

二、实验涉及的matlab 子函数 1、square 功能:产生矩形波 调用格式:x=square(t);类似于sin (t ),产生周期为2*pi ,幅值为+—1的方波。

x=square(t ,duty);产生制定周期的矩形波,其中duty 用于指定脉冲宽度与整个周期的比例。

2、rand功能:产生rand 随机信号。

调用格式:x=rand (n ,m );用于产生一组具有n 行m 列的随机信号。

三、实验原理在时间轴的离散点上取值的信号,称为离散时间信号。

通常,离散时间信号用x (n )表示,其幅度可以在某一范围内连续取值。

由于信号处理所用的设备主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。

我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。

在MATLAB 中,时域离散信号可以通过编写程序直接生成,也可以通过对连续信号的等间隔抽样获得。

下面介绍常用的时域离散信号及其程序。

1、单位抽样序列⎩⎨⎧≠==0001)(k k k δMATLAB 源程序为1) function [x,n] = impuls (n0,n1,n2)% Generates x(n) = delta(n-n0); n=n0 处建立一个单位抽样序列% [x,n] = impuls (n0,n1,n2)if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2') endn = [n1:n2];x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];将上述文件存为:impuls.m,在命令窗口输入n0=0,n1=-10,n2=11;[x,n]=impuls (n0,n1,n2); stem(n,x,’filled’)2)n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];stem(n,x,'filled','k');axis([n1,n2,1.1*min(x),1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');ylabel('幅度x(n)');3)n1=-5;n2=5;k=0;n=n1:n2;nt=length(n); %求n点的个数nk=abs(k-n1)+1; %确定k在n序列中的位置x=zeros(1,nt); %对所有样点置0x(nk)=1; %对抽样点置1stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');Ylabel('幅度x(n)');单位脉冲序列时间(n)幅度x (n )2、单位阶跃序列⎩⎨⎧<≥=0001)(k k k ε MATLAB 源程序为:1) n1=-2;n2=8;n0=0;n=n1:n2; %生成离散信号的时间序列 x=[n>=n0]; %生成离散信号x(n)stem(n, x,'filled','k'); %绘制脉冲杆图,且圆点处用实芯圆表示 axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); Ylabel('幅度x(n)');2) n1=-2;n2=8;k=0; n=n1:n2;nt=length(n); %求n 点的个数nk=abs(k-n1)+1; %确定k 在n 序列中的位置x=[zeros(1,nk-1),ones(1,nt-nk+1)]; %对所有样点置0 stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); ylabel('幅度x(n)');单位阶跃序列时间(n)幅度x (n )3、正弦序列x (n )=Um ()θω+n sin例、已知一时域周期性正弦信号的频率为1HZ ,振幅幅度为1V ,在窗口中显示两个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号。

显示连续信号和采样获得离散信号波形。

MATLAB 源程序为:f=1;Um=1;nt=2;; %输入信号频率、振幅和显示周期数N=32; T=1/f; %N 为采样点数,T 为窗口显示时间 dt=T/N; %采样时间间隔n=0:nt*N-1; %离散信号的时间序列tn=n*dt; %时间序列样点在时间轴上的位置 x=Um*sin(2*f*pi*tn);subplot(2,1,1);plot(tn,x); %显示原信号axis([0,nt*T,1.1*min(x) 1.1*max(x)]); ylabel('x(t)');subplot(2,1,2);stem(tn,x); %显示经采样的信号 axis([0,nt*T,1.1*min(x),1.1*max(x)]); ylabel('x(n)');x (t )x (n )4、矩形序列将square 表示式中的t 换成n ,且n 取整数,则可以获得矩形序列。

例、一个连续的周期性矩形信号频率为5kHZ ,信号幅度为0-2V 之间,脉冲宽度与周期的比例为1:4,且要求在窗口上显示其2个周期的信号波形,并对信号的一个周期进行16点采样来获得离散信号,显示原连续信号与采样获得的离散信号。

MATLAB 源程序为: f=5000;nt=2;N=16;T=1/f; dt=T/N; n=0:nt*N-1; tn=n*dt;x=square(2*f*pi*tn,25)+1; %产生时域信号,且幅度在0~2V 之间 subplot(2,1,1);stairs(tn,x,'k'); axis([0 nt*T 1.1*min(x) 1.1*max(x)]); ylabel('x(t)');subplot(2,1,2);stem(tn,x,'filled','k'); axis([0 nt*T 1.1*min(x) 1.1*max(x)]); ylabel('x(n)');x 10-4x (t )x 10-4x (n )注意:直接用square 子函数产生的信号波形,其幅度为-1~1之间。

5、rand 函数在实际系统的研究和处理中,常常需要产生随机信号,MATLAB 提供的rand 函数可以为我们生成随机信号。

例、生成一组41点构成的连续随机信号和与之相应的随机序列。

MATLAB 源程序为: tn=0:40;N=length(tn); x=rand(1,N);subplot(1,2,1),plot(tn,x,'k');subplot(1,2,2),stem(tn,x,'filled','k');四、实验任务1、产生离散序列:σ(显示-3<n<4)(1)f(n)=()1-n(2)f(n)=u(n-1)(显示-5<n<5)2、一个连续的周期性正弦信号频率为50HZ,信号幅度在0~2V之间,在窗口上显示2个周期的信号波形,对信号的一个周期进行16点采样来获得离散信号,显示原连续信号和采样获得的离散信号波形。

3、一个连续的周期性方波信号频率为200HZ,信号幅度在0~2V之间,在窗口上显示两个周期的信号波形,用4Khz的频率对连续信号进行采样,显示原连续信号和采样获得的离散信号波形。

实验2 离散序列的基本运算一、实验目的学会运用MATLAB进行离散序列的运算,并掌握程序的编写方法。

二、实验涉及的matlab子函数1、find功能:寻找非零元素的索引号。

调用格式:find((n>=min(n1))&(n<=max(n1)));在符合关系运算条件的范围内寻找非零元素的索引号。

2、fliplr功能:对矩阵行元素进行左右翻转。

调用格式:x1= fliplr(x);将x的行元素左右翻转,赋给变量x1。

三、实验原理离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、尺度变换等。

在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理。

下面介绍各种离散序列的时域运算和时域变换的性质。

1、序列的移位x1(n)=x(n-m)=u(n),(显示-10<n<10)例、xx=u(n+6)(显示-10<n<10),1= u(n-4)(显示-10<n<10)x2MATLAB源程序为:n1=-10;n2=10;k0=0;k1=-6;k2=4;n=n1:n2; %生成离散信号的时间序列x0=[n>=k0]; %生成离散信号x0(n)x1=[(n-k1)>=0]; %生成离散信号x1(n)x2=[(n-k2)>=0]; %生成离散信号x2(n)subplot(3,1,1),stem(n, x0,'filled','k');axis([n1,n2,1.1*min(x0),1.1*max(x0)]);ylabel('u(n)');subplot(3,1,2),stem(n, x1,'filled','k'); axis([n1,n2,1.1*min(x1),1.1*max(x1)]); ylabel('u(n+6)');subplot(3,1,3),stem(n, x2,'filled','k'); axis([n1,n2,1.1*min(x2),1.1*max(x2)]); ylabel('u(n-4)');u (n )u (n +6)u (n -4)例、已知x (n )=10n2sin2 ,求x (n-2)和x (n+2)在-2~10区间的波形。

相关文档
最新文档