离散信号及离散系统的MATLAB编程实现

合集下载

离散系统频域分析及matlab实现

离散系统频域分析及matlab实现

《数字信号处理》课程设计报告离散系统的频域分析及matlab实现专业:通信工程班级:通信11级组次:姓名及学号:姓名及学号:离散系统的频域分析及matlab 实现一、设计目的1.熟悉并掌握matlab 软件的使用;2.掌握离散系统的频域特性;3.学会分析离散系统的频域特性的方法;二、设计任务1.设计一个系统函数系统的频率响应进行分析;2.分析系统的频域响应;3.分析系统的因果稳定性;4.分析系统的单位脉冲响应;三、设计原理1. 系统函数对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。

在本文中利用系统函数H(z)进行描述。

若已知一个差分方程为∑∑==---=Mi Ni i i i n y a i n x b n 01)()()(y ,则可以利用双边取Z 变换,最终可以得到系统函数的一般式H(z),∑∑=-=-==Ni iiMi iiza zb z X z z H 00)()(Y )(。

若已知系统的单位脉冲响应,则直接将其进行Z变换就可以得到系统函数H(z)。

系统函数表征系统的复频域特性。

2.系统的频率响应:利用Z 变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。

对h(n)进行傅里叶变换,得到:∑∞∞∞-==-)(jw nj |)(|)(e H w j n n j e e H e n h ϕω)( 其中|)(|jwn e H 称为系统的幅频特性函数,)(ωϕ称为系统的相位特性函数。

)(jw e H 表示的是系统对特征序列jwn e 的响应特性。

对于一个系统输入信号为n )(ωj e n x =,则系统的输出信号为jwn e )(jw e H 。

由上可以知道单频复指数信号jwn e 通过频率响应函数为)(jw e H 后,输出仍为单频复指数信号,其幅度放大了|)(|jw e H ,相移为)(ωϕ。

对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆|z|=1,则有jw e z jw z H e H ==|)()(,在MATLAB 中可以利用freqz 函数计算系统的频率响应。

典型离散信号及其MATLAB实现

典型离散信号及其MATLAB实现

实验二 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。

2. 熟悉连续信号经过采样前后的频谱变化,加深对采样定理的理解。

3. 掌握MATLAB 产生常用离散时间信号的编程方法。

二、实验原理1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n k n2.单位阶跃序列:⎩⎨⎧01)(n u 00<≥n n在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:n a n x =)(在MATLAB 中:na x N n .^1:0=-= 6.y=fliplr(x)——信号的翻转;x=square(t)——产生方波信号y=sawtooth(t)——产生锯齿波信号;y=sinc(x)——产生sinc 函数信号。

三、实验内容(一) 离散信号的产生离散信号的图形显示使用stem 指令。

1. 编写MATLAB 程序,产生下列典型脉冲序列。

(1) 单位脉冲序列:起点n0,终点nf ,在ns 处有一单位脉冲。

(2) 单位阶跃序列:起点n0,终点nf ,在ns 前为0,在ns 处及以后均为1(n0<=ns<=nf)。

(3) 实指数序列:n x )75.0(3=(4) 复指数序列:n j e x )7.02.0(4+-=其MATLAB 程序如下:n0=0;nf=10;ns=3;n1=n0:nf;x1=[(n1-ns)==0]; %单位脉冲序列n2=n0:nf;x2=[(n2-ns)>=0]; %单位阶跃序列n3=n0:nf;x3=(0.75).^n3; %实指数序列n4=n0:nf;x4=exp((-0.2+0.7j)*n4); %复指数冲序列subplot(2,2,1),stem(n1,x1);subplot(2,2,2),stem(n2,x2);subplot(2,2,3),stem(n3,x3);figuresubplot(2,2,1),stem(n4,real(x4)); %注意subplot 的变化 subplot(2,2,2),stem(n4,imag(x4));subplot(2,2,3),stem(n4,abs(x4));subplot(2,2,4),stem(n4,angle(x4));(二)离散时间信号的卷积在MATLAB中,利用函数conv(x,h)可以实现两个有限长度序列的卷积,要注意conv 函数是假定两个序列都从n=0开始的。

MATLAB 第2章 离散时间信号与系统

MATLAB 第2章 离散时间信号与系统

(2)移位:将 h(-m)移位 n,即得h(n-m).当 n为正整数时, 右移n位,当n为负整数时,左移n位.
(3) 相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘. (4)相加:把以上所有对应点的乘积叠加起来,即得y(n)值. 依上法,取n=…, -2, -1, 0, 1, 2, …各值,即可得全部y(n)值.
y( 1 ) 0
1 1 y(1 ) 1 2 2
数字信号处理
图1-8 x(n)和h(n)的卷积和图解
第2章离散时间信号与系统
利用图1-8,求任意一个y(n)时,只需将两序 列对应位置上的点相乘再求和即可。
数字信号处理
第2章离散时间信号与系统
二. 常用的典型序列
1.单位采样序列(单位冲激序列,单位脉冲序列) ( n )
x(2n)
3
2 x(2 n)
2
4 2
1 1
0
1
n
0
1
2
3
n
数字信号处理
第2章离散时间信号与系统
2.2 离散时间系统
定义:一个离散时间系统是将输入序列变换成输出
序列的一种运算。
若以T[· ]来表示这种运算,则一个离散时间系统 可表示为:
y ( n ) T [ x ( n )]
离散时间系统中最重要、 最常用的是“线性移
例如 s i n n 4
N 8
/ 0 PQ / (2)当 2 / 0 不是整数,是一个有理数时,设 2
P和Q是互为素数的整数,取k=Q,则N=P; 例如 s i n 数字信号处理
4 5
时, 2 / 0
2 5 4 / 5 2
N 5
第2章离散时间信号与系统

使用matlab来实现 时域离散信号的产生实验心得

使用matlab来实现 时域离散信号的产生实验心得

使用matlab来实现时域离散信号的产生实验心得【标题】使用Matlab实现时域离散信号的产生实验心得【导语】在信号与系统课程的学习中,时域离散信号的产生是一个重要的实验内容。

本文将结合个人实验经验,探讨如何使用Matlab来实现时域离散信号的产生,以及实验心得体会。

【主体内容】一、时域离散信号的概念时域离散信号是指信号在时域上是离散的,其取样时间是离散的。

与连续信号相对应,离散信号具有一些独特的特性和处理方法。

在实际应用中,我们经常需要生成各种形式的时域离散信号,用于系统模拟、滤波器设计等方面。

二、Matlab在时域离散信号产生中的应用1. 生成简单的离散信号在Matlab中,可以利用基本的数学函数和操作符来生成简单的离散信号。

可以利用sin、cos等函数来生成正弦信号、余弦信号,利用随机数函数来生成随机信号等。

Matlab还提供了丰富的绘图函数,可以直观地展示生成的离散信号。

2. 生成复杂的离散信号除了基本的数学函数外,Matlab还提供了丰富的信号处理工具箱,可以用于生成各种复杂的离散信号。

可以利用波形合成函数生成有限长序列、周期序列等特殊形式的信号;还可以利用滤波器设计函数生成特定频率特性的信号等。

三、实验心得与体会在实验中,我深切体会到Matlab在时域离散信号生成方面的强大功能和便捷性。

通过Matlab,我能够快速生成各种形式的离散信号,并对其进行分析、处理和展示。

Matlab的直观、交互式界面也使得实验过程更加高效和愉悦。

在实践中,我也发现了一些问题和经验总结。

在生成复杂离散信号时,需要深入理解各种信号处理工具箱的使用方法,以及不同函数的参数设置;在展示离散信号时,需要注意选择合适的绘图方式,清晰地展现信号的特点和规律。

【总结与回顾】本文通过介绍时域离散信号的概念和Matlab在信号生成中的应用,共享了个人的实验心得和体会。

希望能够对读者有所启发,开拓视野,加深对时域离散信号的理解和掌握。

离散信号的产生、显示及离散序列的卷积和matlab实现

离散信号的产生、显示及离散序列的卷积和matlab实现

离散信号的产生、显示及离散序列的卷积和matlab实现离散信号的产生可以通过一个生成离散序列的函数来实现。

Matlab提供了一些内置的函数来生成常见的离散信号,例如单位阶跃函数(heaviside)、单周期方波(square)、正弦信号(sin)、脉冲(impulse)等。

离散信号的显示可以使用Matlab的plot函数来实现。

将离散序列作为函数的输入参数,然后使用plot函数绘制出序列的图像。

离散序列的卷积可以使用conv函数来实现。

conv函数接受两个输入信号,并返回它们的离散卷积结果。

下面是一个示例代码演示离散信号的产生、显示和离散序列的卷积:```matlab% 产生离散信号n = 0:1:9; % 定义离散点的范围x1 = heaviside(n-2); % 单位阶跃函数x2 = square(n); % 单周期方波x3 = sin(n); % 正弦信号% 显示离散信号figure;subplot(3,1,1);stem(n, x1);title('单位阶跃函数');subplot(3,1,2);stem(n, x2);title('单周期方波');subplot(3,1,3);stem(n, x3);title('正弦信号');% 离散序列的卷积h = [1, 2, 1]; % 卷积核y = conv(x3, h); % 卷积运算figure;subplot(2,1,1);stem(x3);title('输入信号');subplot(2,1,2);stem(y);title('卷积结果');```在上面的代码中,首先定义了离散序列的范围n,然后使用内置函数生成了三个不同的离散信号x1、x2和x3。

接下来,使用subplot函数将三个离散信号的图像显示在一个图形窗口中。

最后,定义了一个卷积核h,并使用conv函数对x3进行卷积运算,得到卷积结果y。

MATLAB编程基础及基本离散信号的表示

MATLAB编程基础及基本离散信号的表示

MATLA ‎B 编程基础‎及基本离散‎信号的表示‎一、实验目的:掌握MAT ‎L AB 程序‎设计语言及‎其函数定义‎方法,利用MAT ‎L AB 产生‎基本的离散‎时间序列。

二、实验内容1、掌握Mat ‎l ab 选择‎语句、循环语句、函数的定义‎。

2、综合应用上‎述命令,完成下列任‎务:(1) 生成一个冲‎击响应⎩⎨⎧≠==0,00,1)(n n n δ,并计算)1()3(2)(--+=n n n x δδ 要求:1.以M 文件形‎式,n 在[-10,10]之间,用函数的形‎式实现)(n δ;2.调用自定义‎的冲击响应‎函数计算表‎示)(n x ;3.用stem ‎函数画出和‎)(n δ)(n x 的图像。

1.funct ‎i on[x,n]=impse ‎q (0,-10,10);n=[-10:10];x=[(n)==0];n=-10:10;x=impse ‎q (0,-10,10);stem(n,x);xlabe ‎l ('n');ylabe ‎l ('δ(n)');title ‎('冲击响应');2.n=-10:10;x=2*impse ‎q (-3,-10,10)-impse ‎q (1,-10,10);stem(n,x);xlabe ‎l ('n');ylabe ‎l ('x(n)');title ‎('x(n)=2δ(n+3)-δ(n-1)');(2) 生成一个阶‎跃响应:⎩⎨⎧<≥=0,00,1)(n n n U ,并计算)1()2(3)(+--=n n U n x δ要求:1.以M 文件形‎式,n 在[-10,10]之间,用函数的形‎式实现)(n U ;2.调用自定义‎的阶跃响应‎函数计算)(n x ;3.用stem ‎函数画出和‎)(n U )(n x 的图像 1.n=-10:10;x=steps ‎e q(0,-10,10);stem(n,x);xlabe ‎l ('n');ylabe ‎l ('u(n)');title ‎('阶跃响应');2.n=-10:10;x=3*steps ‎e q(2,-10,10)-impse ‎q (-1,-10,10);stem(n,x);xlabe ‎l ('n');ylabe ‎l ('x(n)');title ‎('x(n)=3u(n+3)-δ(n+1)');(3) 生成一个指‎数响应:n n x 8.0)(=,然后计算)2(*)()(-=n U n x n y要求:以M 文件形‎式,n 在[-10,10]之间,用stem ‎函数分别画‎出)(n x 和)(n y n=-10:10;x=(0.8).^n;y=x.*steps ‎e q(2,-10,10);subpl ‎o t(2,1,1);stem(n,x);xlabe ‎l ('n');ylabe ‎l ('x(n)');title ‎('指数响应');subpl ‎o t(2,1,2);stem(n,y);xlabe ‎l ('n');ylabe ‎l ('y(n)');title ‎('y(n)=x(n)*u(n-2)');(4) 画出)5.0sin(2)3/1.0cos(3πππn n x ++=,要求:以M文件形‎式,n在[-20,20]之间。

离散时间信号处理与matlab仿真 概述及解释说明

离散时间信号处理与matlab仿真 概述及解释说明

离散时间信号处理与matlab仿真概述及解释说明1. 引言1.1 概述离散时间信号处理是指对离散时间信号进行分析、处理和转换的过程。

离散时间信号处理在许多领域中都起着重要作用,例如通信系统、音频处理、图像处理等。

通过对离散时间信号进行采样和量化,我们可以将连续时间信号转换为离散时间信号,并对其进行数字化处理。

随着计算机技术的发展,MATLAB成为了一种强大的工具,被广泛应用于离散时间信号处理。

MATLAB提供了丰富的函数和工具箱以及易于使用的界面,使离散时间信号处理变得更加简单和高效。

1.2 文章结构本文将按以下结构来介绍离散时间信号处理与MATLAB仿真:- 第2部分: 离散时间信号处理概述。

在这一部分中,我们将介绍信号和系统的基础知识,并比较离散时间信号与连续时间信号之间的差异。

此外,我们还将探讨离散时间信号处理在各个应用领域中的应用案例。

- 第3部分: MATLAB在离散时间信号处理中的应用。

这一部分将重点介绍MATLAB工具箱的使用方法,并提供离散时间信号处理算法在MATLAB中的实现方式。

同时,我们将通过一些具体案例来演示MATLAB在离散时间信号处理中的应用。

- 第4部分: 离散时间信号处理的常见问题和挑战。

在这部分中,我们将探讨采样频率选择与混叠效应、数字滤波器设计与优化原理以及非线性失真和量化误差分析等离散时间信号处理中常见的问题和挑战。

- 最后,我们将在第5部分总结本文,并对离散时间信号处理与MATLAB仿真的重要性进行回顾和总结,同时展望未来离散时间信号处理方法研究的发展方向。

1.3 目的本文目的是为读者提供一个全面且详细的概述,使其了解离散时间信号处理以及MATLAB仿真在该领域中的应用。

希望通过阅读本文,读者能够加深对离散时间信号处理基础知识的理解,并掌握使用MATLAB进行仿真和实现离散时间信号处理算法的方法。

此外,本文还旨在引起读者对离散时间信号处理领域中常见问题和挑战的关注,并对相关研究方向进行思考。

离散信号的MATLAB产生和图形显示

离散信号的MATLAB产生和图形显示

1.单位抽样响应:n=-5:5;x=[zeros(1,5),1,zeros(1,5)];subplot(2,1,1);stem(n,x);title('单位抽样序列');xlabel('n');ylabel('δ(n)');延迟2个单位:n=-5:5;x=[zeros(1,3),1,zeros(1,7)];subplot(2,1,1);stem(n,x);title('单位抽样序列');xlabel('n');ylabel('δ(n)');2.单位阶跃序列:n=-5:5;x=[zeros(1,5),1,ones(1,5)];subplot(2,1,1);stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('u(n)');左移2个单位:n=-5:5;x=[zeros(1,3),1,ones(1,7)];subplot(2,1,1);stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('u(n)');3.正弦序列:A=3;fai=pi/2;Fs=2;f=3;n=0:0.001:4;x=A*sin(2*pi*n/Fs+fai); subplot(2,1,1);plot(n,x);title('sin(n)');xlabel('n');ylabel('x(n)');4.复数序列:(取实部显示)n=0:0.0001:20;w=3;x=exp(j*w*n);subplot(2,1,1);plot(n,real(x));title('复数序列(实部显示)'); xlabel('时间');ylabel(振幅);(取虚部显示)n=0:0.0001:20;w=3;x=exp(j*w*n);subplot(2,1,1);plot(n,imag(x));title('复数序列(虚部显示)'); xlabel('时间');ylabel('振幅');复数序列(取模)n=0:0.0001:20;w=3;x=exp(j*w*n+n/10);subplot(2,1,1);r=real(x).^2;k=imag(x).^2;m=(r+k).^0.5;plot(n,m);title('复数序列(模)');xlabel('时间');ylabel('振幅');5.指数序列:n=0:0.2:10;a=2;x=a.^n;subplot(2,1,1);plot(n,x);xlabel('n');ylabel('x(n)');title('指数序列')注释:1.“plot”是绘制曲线图,“stem”是绘制火柴梗图。

实验一 离散信号的MATLAB实现

实验一  离散信号的MATLAB实现

实验一离散信号的MATLAB实现一、目的要求1)学习典型的离散时间信号的MATLAB实现方法;2)学习离散时间序列的基本运算:相加、相乘、移位等;3)学习噪声的产生;4)掌握两个序列的卷积和相关运算5)掌握离散系统单位脉冲响应的求解。

二、实验内容1)典型的离散信号的表示方法:用matlab产生单位抽样信号δ(n) 、单位阶跃序列u(n) 、矩形序列R N(n) 、实指数序列a n u(n)、正弦序列sin(ωn)。

编写程序、并画出图形。

n=-20:20;n0=0;n1=10;w0=pi/4;x=[(n-n0)==0];x1=[(n-n0)>=0];x2=[(n-n0)>=0& (n-n1)<=0];x3=0.9.^n.*x1;x4=sin(w0*n);subplot(511);stem(n,x);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x1);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x2);axis([ -20 20 0 2]);ylabel('B N(n)');subplot(514);stem(n,x3);axis([ -20 20 0 2]);ylabel('a n u(n)');subplot(515);stem(n,x4);axis([ -20 20 -2 2]);ylabel('sin(w0n)');xlabel('n');2)离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。

编写程序、并画出图形。

n=-10:10;k=2;N=length(n);x=zeros(size(n));x1=zeros(size(n));y=zeros(size(n));y1=zeros(size(n));y2=zeros(size(n));y3=zeros(size(n));y4=zeros(size(n));x(11:16)=[2 3 4 1 2 5];x1(11:16)=[1 2 3 4 5 6];y(1+k:N)=x(1:N-k);y1(1:N-k)=x(1+k:N);y2=x.*x1;y3=x+x1;y4=fliplr(x);y5=x(1:2:N);n1=fix(n(1:2:N)/2);subplot(421);stem(n,x);xlabel('n');ylabel('x(n)');subplot(422);stem(n,x1);xlabel('n');ylabel('x1(n)');subplot(423);stem(n,y);xlabel('n');ylabel('x(n-2)');subplot(424);stem(n,y1);xlabel('n');ylabel('x(n+2)');subplot(425);stem(n,y2);xlabel('n');ylabel('x(n)*x1(n)');subplot(426);stem(n,y3);xlabel('n');ylabel('x(n)+x1(n)');subplot(427);stem(n,y4);xlabel('n');ylabel('x(-n)');subplot(428);stem(n1,y5);xlabel('n');ylabel('x(2n)');3)噪声的产生:产生方差为1,2,0.5的白噪声。

离散信号及离散系统的MATLAB编程实现

离散信号及离散系统的MATLAB编程实现

数字信号处理课程实验报告实验名称离散信号及离散系统的MATLAB编程实现系别教师姓名实验地点实验日期一、实验内容1、用MATLAB仿真(编写)离散序列2、常见序列运算3、差分方程的求解4、系统零极点的求解。

(红色部分为必做项目)二、实验目的1. 复习离散时间的信号和系统,复习离散时间重要类型的信号和它们的运算的实现。

2. 熟悉MATLAB软件的集成开发环境,学会利用MATLAB编程及获得帮助的方法。

3. 学会利用MATLAB的绘图功能。

三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)matlab软件,计算机四、实验试做记录(含程序、数据记录及分析)1、 Matlab表示序列MATLAB中,可采用向量表示序列,由于MATLAB中对序列下标默认为从1开始递增,因此要表示离散信号,一般应采用两个向量分别对信号的自变量和因变量进行描述。

如, n= -3~4,在MATLAB中表示为>> n = [-3, -2, -1, 0, 1, 2, 3, 4]; %自变量取值>> x = [ 2, 1, -1, 0, 1, 4, 3, 7]; %因变量取值说明:(1)向量可用方括号[ ]表示。

(2)当向量取值连续变化时可用冒号运算符“:”简化赋值过程,如的n值,可简化为n=[-3:4]或n= -3:4 。

(3)分号“;”表示不回显表达式的值。

(4)“%”表示其后内容为注释对象。

(5)符号“>>”是MATLAB命令窗口的输入提示符,此外,为便于多次调用,也可在m文件中输入相应的命令语句。

利用MATLAB,还可对信号的波形进行描述,常采用的绘图语句有stem,plot,subplot, axis,title,xlabel,ylabel,gtext, hold on, hold off, grid 等。

其中stem 绘制离散图形;plot 绘制连续图形;subplot 用于绘制子图,应在stem 或plot 语句前调用;axis 指定x 和y轴的取值范围,用在stem或plot语句后;title 标注图形名称,xlabel, ylabel 分别标注x轴和y轴名称;gtext可将标注内容放置在鼠标点击处;hold on和 hold off 用于控制对象绘制方式,是在原图上还是在新图上绘制;grid用于绘制网格。

离散信号的MATLAB实现

离散信号的MATLAB实现

1.9离散信号和系统分析的MATLAB实现1.9.1利用MATLAB产生离散信号用MATLAB表示一离散序列x[k]时,可用两个向量来表示。

其中一个向量表示自变量k的取值范围,另一个向量表示序列x[k]的值。

例如序列x[k]={2,1,1,-1,3,0,2}可用 MATLAB表示为K=-2:4;x=[2,1,1,-1,3,0,2]可用stem(k,f)画出序列波形。

当序列是从k=0开始时,可以只用一个向量x来表示序列。

由于计算机内寸的限制,MATLAB无法表示一个无穷长的序列。

例1-38利用MATLAB计算单位脉冲序4δ-k在-k≤]24[≤范围内各点的取值。

解:%progran 1_1 产生单位脉冲序列Ks=-4;ke=4;n=2;K=[ks:ke];X=[(k-n)==0];Stem(k,x):xlabel(‘k’);程序产生的序列波形如图1-49所示。

例1-39利用MATLAB画出信号X[k]=10sin(0.02kπ)+n[k], 1000≤≤k的波形。

其中n[k]表示为均值为0方差为1的Gauss分布随机信号。

解:MALAB提供了两个产生(伪)随机序列的函数。

Rand(1,N)产生1行N列的[0,1]均匀分布随机数。

Randn(1,N)产生1行N列均值为0方差为1的Gauss分布随机数。

%program 1_2 产生受噪声干扰的正弦信号N=100;k=0:N;X=10*sin(0.02*pi*k)+randn(1,N+1);Plot(k,x);Xlabel(‘k’);Ylabel(‘x[k]’);程序产生序列如图1-50所示。

1.9.2 离散卷积的计算离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为y=conv(x,h)其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。

MATLAB函数conv的返回值y中只有卷积的结果,没有y的取值范围。

离散信号实验报告

离散信号实验报告

一、实验目的1. 理解离散信号的概念及其特点。

2. 掌握离散信号的表示方法。

3. 掌握离散信号的基本运算方法。

4. 熟悉离散系统响应的求解方法。

5. 利用MATLAB进行离散信号分析。

二、实验原理离散信号是指时间上不连续的信号,与连续信号相比,具有以下特点:1. 采样性:离散信号是在时间上等间隔取样的信号。

2. 有限性:离散信号在时间上有限,即在有限的时间内存在。

3. 线性时不变性:离散系统具有线性时不变性,即系统对信号的时延和幅度变换保持不变。

离散信号的表示方法主要有以下几种:1. 序列表示法:用括号括起来的序列表示,如x[n]。

2. 图形表示法:用坐标轴表示,横轴为时间,纵轴为信号幅度。

3. Z变换表示法:用Z变换表示,如X(z)。

离散信号的基本运算方法包括:1. 加法运算:两个离散信号相加,结果为它们的序列对应元素相加。

2. 乘法运算:两个离散信号相乘,结果为它们的序列对应元素相乘。

3. 移位运算:将离散信号沿时间轴左移或右移。

4. 展平运算:将离散信号沿时间轴展平,即将信号序列展开成矩阵形式。

离散系统响应的求解方法主要有以下几种:1. 离散卷积法:用离散卷积运算求解离散系统响应。

2. Z变换法:用Z变换求解离散系统响应。

3. 快速傅里叶变换(FFT)法:用FFT求解离散系统响应。

三、实验内容及步骤1. 实验一:离散信号的表示方法(1)在MATLAB中,创建一个离散信号序列x[n],并绘制其图形表示。

(2)利用Z变换,将离散信号序列转换为Z变换表示。

2. 实验二:离散信号的基本运算(1)在MATLAB中,创建两个离散信号序列x[n]和y[n],并进行加法运算、乘法运算、移位运算和展平运算。

(2)绘制运算结果,并分析运算结果的特点。

3. 实验三:离散系统响应的求解(1)在MATLAB中,创建一个离散信号序列x[n],并设计一个离散系统。

(2)利用离散卷积法、Z变换法和FFT法求解离散系统响应。

离散时间信号与系统实验的matlab实现

离散时间信号与系统实验的matlab实现

离散时间信号与系统[实验目的]1.了解信号处理的基本操作2.熟悉一些常用的序列及其应用[实验原理]我们所接触的信号大多为连续信号,为使之便于处理,往往要对其进行采样,对信号抽样并保证其能完全恢复,对抽样频率有一定的限制。

基本的离散序列的定义如下:1.单位采样序列2.单位阶跃序列3.实指数序列,;a为实数4.复数指数序列,5.正余弦序列,6.周期序列,[实验内容]1.用MATLAB实现函数impseq(n0,n1,n2),使函数实现,。

函数定义:function [x,n]=impseq(n0,n1,n2)if (n1>n2||n0>n2||n0<n1)error('parameter error');end;if (n1<=n2)for n=1:n2-n1+1if (n==n0)x(1,n)=n1-1+n;x(2,n)=1;end;x(1,n)=n1-1+n;x(2,n)=0;end;x(2,n0-n1+1)=1;end;运行结果:impseq(3,1,9)ans =6 7 8 9 10 11 12 13 140 0 0 0 1 0 0 0 0注:上面一行为自变量n,下面一行为函数值,以下运行结果为两行的,都与此题同,不在表明。

2.用MATLAB实现函数stepseq(n0,n1,n2),使函数实现u(n-n0),。

函数定义:function [x,n]=stepseq(n0,n1,n2)if (n0>n2||n0<n1||n1>n2)error('parameter error');end;for n=1:n2-n1+1if (n+n1-1<n0)x(1,n)=n1+n-1;x(2,n)=0;elsex(1,n)=n1+n-1;x(2,n)=1;end;end;运行结果:Stepseq(4,2,10)ans =2 3 4 5 6 7 8 9 100 0 1 1 1 1 1 1 1 注:与上同,上面一行是自变量,下面一行是函数值。

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现实验一:离散信号的MATLAB实现一、实验目的本实验旨在通过MATLAB实现离散信号的生成、绘制和基本操作,加深对离散信号处理的理解,并为后续实验做好准备。

二、实验原理离散信号是指在时间域或幅值域上取值有限的信号。

常见的离散信号包括矩形波、三角波、正弦波等。

在MATLAB中,可以使用不同的函数和参数来生成这些离散信号。

同时,使用MATLAB的绘图功能可以将离散信号绘制出来,以便观察和分析。

三、实验步骤1.生成离散信号首先,我们需要生成一个离散信号。

在MATLAB中,可以使用以下代码生成一个长度为N的离散信号:N = 100; % 信号长度t = 0:N-1; % 时间向量x = sin(2*pi*t/N); % 离散正弦波信号这段代码将生成一个长度为100、采样频率为N Hz的正弦波信号。

其中,t是时间向量,表示信号在每个采样点上的时间;x是信号的幅值向量,表示在每个采样点上的幅值。

2.绘制离散信号生成离散信号后,我们可以使用MATLAB的绘图功能将其绘制出来。

在MATLAB 中,可以使用以下代码将离散信号绘制出来:plot(t, x); % 绘制离散正弦波信号xlabel('Time (s)'); % 设置X轴标签ylabel('Amplitude'); % 设置Y轴标签title('Discrete Sine Wave'); % 设置标题这段代码将绘制出离散正弦波信号的图形,并添加了X轴和Y轴标签以及标题。

3.基本操作除了生成和绘制离散信号外,我们还可以对离散信号进行一些基本操作,如加减、乘除、翻转等。

例如,我们可以使用以下代码将两个离散信号相加:y = x + 2; % 将离散正弦波信号加上2这段代码将生成一个新的离散信号y,它是原来信号x的基础上加上2。

同样地,我们还可以对离散信号进行其他基本操作。

四、实验结果与分析通过本实验,我们成功地生成了离散正弦波信号,并将其绘制出来。

Matlab实验报告(离散信号与系统的Z变换分析)

Matlab实验报告(离散信号与系统的Z变换分析)

一.
实验目的
1.
熟悉离散信号Z 变换的原理及性质。

2.熟悉常见信号的Z 变换。

3.了解正/反Z 变换的MATLAB 实现方法。

4.了解离散信号的Z 变换与其对应的理想抽样信号的傅氏变换和拉氏变换之间的关系。

5.了解利用MATLAB 实现离散系统的频率特性分析的方法。

二.实验内容
1.用MATLAB 的zplane (num ,den )函数,画出函数H (z )的零极点分布图、单位脉冲响应曲线、频率响应特性曲线、幅频响应和相频响应特性曲线,并判断系统的稳定性。

2.已知描述离散系统的差分方
() 1.2(1)0.35(2)()0.25(1)y k y k y k f k f k --+-=+-
请绘出系统的幅频和相频特性曲线,并说明系统的作用。

三.仿真分析
四.实验总结
1.进一步了解Z变换的原理及性质
2.进一步了解了信号的零极点分布与系统稳定性的关系。

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现引言:离散信号是连续信号在时间上离散采样得到的结果。

在实际应用中,离散信号常用于数字信号处理、通信系统、控制系统等领域。

MATLAB是一种功能强大的科学计算软件,对于离散信号的处理和分析具有良好的支持。

本实验将介绍如何使用MATLAB实现离散信号的生成、显示和处理。

实验目的:1.了解离散信号的概念和特点;2.学习使用MATLAB生成离散信号;3.学习如何在MATLAB中显示和处理离散信号。

实验步骤:步骤一:生成离散信号1.打开MATLAB软件;2.在命令窗口中输入以下代码,生成一个离散信号序列:```matlabt=0:0.1:10;x = sin(t);```上述代码中,`t`是时间序列,取值范围是0到10,步长为0.1;`x`是离散信号序列,通过将时间序列`sin(t)`采样得到。

步骤二:显示离散信号1.输入以下代码,在图形窗口中显示离散信号:```matlabstem(t, x);xlabel('Time');ylabel('Amplitude');title('Discrete Signal');```步骤三:离散信号处理1.输入以下代码,对离散信号进行平移操作:```matlabn=2;x_shifted = circshift(x, n);```上述代码中,`circshift`函数可以将离散信号序列循环移位`n`个单位。

2.输入以下代码,对平移后的离散信号进行加权平均:```matlabh=[0.5,0.5];y = conv(x_shifted, h);```上述代码中,`conv`函数可以对两个信号进行卷积操作,这里的`h`是平均权重系数。

3.输入以下代码,显示处理后的离散信号:```matlabfigure;subplot(2,1,1);stem(t, x);xlabel('Time');ylabel('Amplitude');title('Original Signal');subplot(2,1,2);stem(t, y);xlabel('Time');ylabel('Amplitude');title('Processed Signal');```上述代码中,`subplot`函数可以将多个图形显示在同一个图形窗口中,这里将原始信号和处理后的信号分别显示在上下两个子图中。

实验一 离散信号的MATLAB实现

实验一  离散信号的MATLAB实现

实验一离散信号的MATLAB实现一、目的要求1)学习典型的离散时间信号的MATLAB实现方法;2)学习离散时间序列的基本运算:相加、相乘、移位等;3)学习噪声的产生;4)掌握两个序列的卷积和相关运算5)掌握离散系统单位脉冲响应的求解。

二、实验内容1)典型的离散信号的表示方法:用matlab产生单位抽样信号δ(n) 、单位阶跃序列u(n) 、矩形序列R N(n) 、实指数序列a n u(n)、正弦序列sin(ωn)。

编写程序、并画出图形。

n=-20:20;n0=0;n1=10;w0=pi/4;x=[(n-n0)==0];x1=[(n-n0)>=0];x2=[(n-n0)>=0& (n-n1)<=0];x3=0.9.^n.*x1;x4=sin(w0*n);subplot(511);stem(n,x);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x1);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x2);axis([ -20 20 0 2]);ylabel('B N(n)');subplot(514);stem(n,x3);axis([ -20 20 0 2]);ylabel('a n u(n)');subplot(515);stem(n,x4);axis([ -20 20 -2 2]);ylabel('sin(w0n)');xlabel('n');2)离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。

编写程序、并画出图形。

n=-10:10;k=2;N=length(n);x=zeros(size(n));x1=zeros(size(n));y=zeros(size(n));y1=zeros(size(n));y2=zeros(size(n));y3=zeros(size(n));y4=zeros(size(n));x(11:16)=[2 3 4 1 2 5];x1(11:16)=[1 2 3 4 5 6];y(1+k:N)=x(1:N-k);y1(1:N-k)=x(1+k:N);y2=x.*x1;y3=x+x1;y4=fliplr(x);y5=x(1:2:N);n1=fix(n(1:2:N)/2);subplot(421);stem(n,x);xlabel('n');ylabel('x(n)');subplot(422);stem(n,x1);xlabel('n');ylabel('x1(n)');subplot(423);stem(n,y);xlabel('n');ylabel('x(n-2)');subplot(424);stem(n,y1);xlabel('n');ylabel('x(n+2)');subplot(425);stem(n,y2);xlabel('n');ylabel('x(n)*x1(n)');subplot(426);stem(n,y3);xlabel('n');ylabel('x(n)+x1(n)');subplot(427);stem(n,y4);xlabel('n');ylabel('x(-n)');subplot(428);stem(n1,y5);xlabel('n');ylabel('x(2n)');3)噪声的产生:产生方差为1,2,0.5的白噪声。

实验一离散信号与系统时域分析的Matlab实现

实验一离散信号与系统时域分析的Matlab实现

实验1 离散信号与系统时域分析的Matlab实现一、实验目的1.掌握用Matlab表示常用离散信号的方法;2.掌握用Matlab求解离散系统的单位取样响应与零状态响应;3.掌握用Matlab实现离散信号卷积的方法;二、实验原理与内容1. Matlab基本操作打开Matlab 6.5,只保留命令窗口(Command Window),点击文本编辑窗口(M-file)创建、编辑M程序。

图1命令窗口在文本编辑窗口输入指令程序。

当输入完整程序后,点击DEBUG→RUN运行程序,或用键盘F5键直接运行。

另外,也可点击窗口快捷运行程序键。

图2文本编辑窗口编辑完成一个程序后,第一次运行或另存为时,需要保存M程序,保存的路径为命令窗口所示的当前目录路径(Current Directory),该路径可自行设置。

图3当前目录路径注意:M 文件在命名时有一定规则,错误命名时会使M 文件不能正常运行。

(1)M 文件名首字符不能是数字或下划线。

(2)M 文件名不能与Matlab 的内部函数名相同(3)M 文件名中不能有空格,不能含有中文。

一般应采用英文或拼音对M 文件命名。

2.离散信号的Matlab 表示表示离散时间信号x(n)需要两个行向量,一个是表示序号n=[ ],一个是表示相应函数值x=[ ],画图指令是stem 。

(1)正、余弦序列正、余弦序列为MATLAB 内部函数,可直接调用,文件名为sin 和cos 。

例1-1 画出()sin()4x n n π=的波形。

打开文本编辑窗口,输入波形程序:n=0:40;xn=sin(pi*n/4);stem(n,xn,'.')title('sin(pi*n/4)')运行,输出波形如下图4。

图4 ()x n 的波形图对于0cos()n ωϕ+或0sin()n ωϕ+,当2/πω是整数或有理数时,才是周期信号。

练习:(1)把上述程序中第三行分别改为stem(n,xn)、stem(n,xn,'*') 、stem(n,xn,' filled ') 后依次运行,看输出波形有何变化。

离散系统频域分析及matlab实现

离散系统频域分析及matlab实现

离散系统频域分析及matlab实现
离散系统频域分析是对离散系统在频域上的特性进行研究的一种方法,主要包括幅频
特性和相频特性。

频域分析可以通过傅里叶变换、z变换等数学工具进行处理,并通过MATLAB等工具进行模拟实现。

幅频特性是指系统在不同频率下输出信号的幅度随输入信号幅度变化的特性。

幅频特
性通常用幅度响应函数来描述,它表示了系统对输入信号不同频率分量的增益或衰减程度。

以传递函数为基础的离散系统可以通过对其传递函数进行离散化得到差分方程和单位抽样
响应,然后通过对单位抽样响应进行傅里叶变换得到离散系统的频率响应函数。

在MATLAB 中,可以使用freqz函数计算离散系统的频率响应函数,并进一步计算幅度响应函数。

对于复杂的离散系统,可以通过级联、并联和反馈等方法进行分析和设计。

在MATLAB 中,可以使用series、parallel和feedback等函数进行组合模拟。

实验一离散时间信号在MATLAB中的表示

实验一离散时间信号在MATLAB中的表示

实验一离散时间信号的表示及运算一、实验目的1、学会运用MATLAB 表示的常用离散时间信号;2、学会运用MATLAB 实现离散时间信号的基本运算。

二、实验原理及实例分析2.1 离散时间信号在MATLAB中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。

离散序列通常用x(n)来表示,自变量n 必须是整数。

离散时间信号的波形绘制在MA TLAB 中一般用stem( )函数(注释:stem中文意思是茎、干、柄)。

stem( )函数的基本用法和plot( )函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。

如果要实心,需使用参数“ fill ”、“ filled ”,或者参数“ .”。

由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。

类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。

0、判断n 是否为整数function y = isInt(n)y = (n==fix(n)); % fix(n) 为取整运算end1、单位取样序列单位取样序列(n) ,也称为单位冲激序列,定义为1 (n 0)1)0 (n 0)要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0 处是取确定的值1。

在MA TLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即function y=impDT(n)y=(n==0); %当参数n 为0 时冲激为1,否则为0end调用该函数时n 必须为整数或整数向量。

【实例1】利用MA TLAB 的impDT 函数绘出单位冲激序列的波形图。

解:MATLAB 源程序为>>n=-3:3; % n=[-3,-2,-1,0,1,2,3]>>x=impDT(n);>>stem(n,x,'fill'), xlabel('n'), grid on>>title(' 单位冲激序列')>>axis([-3 3 -0.1 1.1])程序运行结果如图 1 所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为使用方便,也可将上式描述成MATLAB函数,即
function [x , n ] = impseq (n0, n1, n2)
n = [ n1: n2]; x = [ (n - n0) = =0 ];
Stem(n,x)
(2)单位阶跃序列
在 区间的值,MATLAB中可用下列表达式描述:
n = [ n1: n2]; x = [ (n - n0) > =0 ];
y(n)= x(-n)对应的代码为:y=fliplr (x); n= -fliplr (n);
注意:翻转后向量n的取值为负值。
(5)样本和与积
该运算是将序列中各样本值求和或求积,可分别采用函数sum(x)和prod (x)实现。具体应用时还可指定序列x参加运算的元素范围,即sum (x (n1:n2))和prod ( x (n1:n2))。
函数length (n)可取得向量n的长度。
函数find((n>a)&(n<b))可获取向量n在范围a<n<b内的取值。
(2)信号的乘除
MATLAB中两序列对应值的乘、除可分别采用点乘“.*”和点除“. /”运算符,运算时两序列的长度需相等,具体处理方法和序列求和差时的一致。
例.序列x1(n)、x2 (n),长度分别为n1和n2,其求积的MATLAB代码为:
(3)系统稳定性
LTI离散系统稳定性的判别可采用两种方法:
法1:对冲激响应序列h(n)绝对值求和,判别其是否为有限值,若有限,为稳定系统。对应语句为:sum ( abs (h)),其中函数abs是取序列h(n)的绝对值。
法2:利用系统函数H(z)的极点分布进行判断,若极点均在单位圆内,则为稳定系统。系统函数H(z)的极点也即为差分方程中y项对应的各系数[a0, a1, …, aN]构成的多项式的极点,而极点可采用求根函数roots获取。
>> h = filter ( b, a, x );
>> stem (n, h); %绘制冲激响应序列
>>axis ( [-20, 120, -1.1, 1.1 ]); %设定坐标轴取值范围
>>title ( ‘冲激响应’ ); xlabel (‘n’); ylabel ( ‘h(n)’ ); %对图形名称和x轴,、y轴进行标注
(3)移位
序列x (n)的移位操作不影响向量x,只需对向量n的每个元素加或减去一个移位值。如移位序列 等价为 ,对应的MATLAB语句为:
n=n+n0; y = x;
(4)折叠
在这个运算中,序列x (n)的每个样本都对n =0翻转,得到一个折叠后的序列y(n),MATLAB中可由函数fliplr (x)实现。
(6)信号能量
MATLAB中,计算序列x (n)能量的可采用下列两种办法:
法1:Ex = sum (x . * conj (x) ); %函数conj (x)是取复数x的共轭复数
法2:Ex = sum (abs (x) .^ 2 );
4、离散系统
一个离散时间系统,可将一个序列x (n)变换为另一个序列y (n),即将输入信号处理成输出信号。常用离散系统为线性时不变系统(LTI)。
axis([0, 20, 0, 10]);
title (‘例2序列’);
xlabel (‘n’); ylabel (‘x2(n)’);
图1-1-1序列波形图
2、常用信号的表示方法
(1)单位采样序列
在 区间的值,MATLAB中可用下列表达式描述
n = [ n1: n2]; x = [ (n - n0) = =0 ];
(3)实数指数序列
例如要实现序列 ,MATLAB中可用下列表达式描述:
n = [ 0 : 10 ]; x =(0.9 ).^ n ;
(4)复数指数序列
例如要实现序列 ,MATLAB中可用下列表达式描述:
n = [ 0 : 10 ]; x = exp( (2+3j)*n ) ;
(5)正余弦序列
例如要实现序列 ,MATLAB中对应的语句为:
%[ x, nx] =第一个信号
%[ h, nh] =第二个信号
nyb = nx (1) + nh (1); %两向量起点之和
nye = nx ( length (x))+nh ( length (h)); %两向量长度之和
ny = [nyb : nye];
y = conv (x, h);
(2)差分方程
数字信号处理课程实验报告
实验名称
离散信号及离散系统的MATLAB编程实现
系别
教师姓名
实验地点
实验日期
一、实验内容
1、用MATLAB仿真(编写)离散序列
2、常见序列运算
3、差分方程的求解
4、系统零极点的求解。
(红色部分为必做项目)
二、实验目的
1.复习离散时间的信号和系统,复习离散时间重要类型的信号和它们的运算的实现。
LTI离散系统也可用线性常系数差分方程描述:
y(n)的解在MATLAB中可通过调用滤波器函数filter(a, b, x)完成,其中a = [a0, a1, …, aN ] ( a0≠0 ),b = [b0, b1, …, bM ]分别对应差分方程中y和x的各项系数,x为输入信号序列,即将差分方程看成一个滤波器,x作为滤波器的输入信号,y为滤波器的输出值。
例,差分方程 ,计算并画出其冲激响应h(n), n = -20, … , 100。
在MATLAB命令窗口中,对应程序为:
>> b = [ 1 ]; a = [ 1, -1, 0.9 ];%注意确定a值时,需先将y项移至等式左侧
>> n = [-20: 120]; x = zeros (1, length (n) ); x (21) = 0; %描述冲激序列
3、序列运算
(1)信号的加减
MATLAB中可用算术运算符“+”和“-”分别实现序列的加法和减法运算,此时两序列的长度必须相等,否则需通过补零法改变信号的长度。
例.序列x1(n)、x2 (n),长度分别为n1和n2,其求和的MATLAB代码为:
说明:
函数min (n)可获取向量n的最小值,函数max (n)则获取向量n的最大值。
(1)卷积
线性时不变系统(LTI)的输入和输出关系可通过冲激响应h (n)表示
y(n)
即y(n)为x(n)与h(n)的线性卷积。MATLAB提供卷积函数conv来计算两个有限长度序列的线性卷积,并假定两个序列都从n=0开始。调用方式为:y=conv (x, h)。
例,x(n)=[1, 2, 3], h(n)=[2, 2, 3], n=[0, 1, 2], x(n)与h(n)的线性卷积代码为:
例,系统差分方程为: ,判断其稳定性。
MATLAB代码为:>> a = [1, -1, -0.9 ]; z=roots (a);
>> magz = abs (z)
magz= 0.9487
0.9487显然极点均在单 Nhomakorabea圆内,系统稳定。
五、实验总结
法1:
法2:
%产生P列x;x是一个行向量
%长的列向量
%长的行向量
说明:
运算符“’”为向量的转置操作符,实现行向量与列向量的相互转化;
函数ones(1,P)用以产生1行×P列的1矩阵,与此对应函数zeros(n,m)产生n行×m列的0矩阵;
矩阵 的冒号运算即 将矩阵所有列向量依次连接在一起,构成一列向量。
>> n = [-3, -2, -1, 0, 1, 2, 3, 4]; %自变量取值
>> x = [ 2, 1, -1, 0, 1, 4, 3, 7]; %因变量取值
说明:
(1)向量可用方括号[ ]表示。
(2)当向量取值连续变化时可用冒号运算符“:”简化赋值过程,如 的n值,可简化为
n=[-3:4]或n= -3:4。
2.熟悉MATLAB软件的集成开发环境,学会利用MATLAB编程及获得帮助的方法。
3.学会利用MATLAB的绘图功能。
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)
四、实验试做记录(含程序、数据记录及分析)
1、Matlab表示序列
MATLAB中,可采用向量表示序列,由于MATLAB中对序列下标默认为从1开始递增,因此要表示离散信号 ,一般应采用两个向量分别对信号的自变量和因变量进行描述。如 , n= -3~4,在MATLAB中表示为
(3)分号“;”表示不回显表达式的值。
(4)“%”表示其后内容为注释对象。
(5)符号“>>”是MATLAB命令窗口的输入提示符,此外,为便于多次调用,也可在m文件中输入相应的命令语句。
利用MATLAB,还可对信号的波形进行描述,常采用的绘图语句有stem,plot,subplot, axis,title,xlabel,ylabel,gtext, hold on, hold off, grid等。其中stem绘制离散图形;plot绘制连续图形;subplot用于绘制子图,应在stem或plot语句前调用;axis指定x和y轴的取值范围,用在stem或plot语句后;title标注图形名称,xlabel, ylabel分别标注x轴和y轴名称;gtext可将标注内容放置在鼠标点击处;hold on和hold off用于控制对象绘制方式,是在原图上还是在新图上绘制;grid用于绘制网格。以上函数具体使用方法可通过在命令窗口中输入help加函数名进行查阅,如“help stem”语句。部分绘图语句的应用见下面语句,对应的波形图为图1-1-1。
>> x=[1, 2, 3]; h=[2, 2, 3]; y=conv (x, h)
相关文档
最新文档