信号与系统课程设计报告---MATLAB在信号与系统中的使用

轻烟薄雾 范文 报告范文
精选回答

matlab

7.0、信号与系统

MATLAB简介

MATLAB是matrix和laboratory前三个字母的缩写,意思是:“矩阵实验室”,是Mathwork公司推出的数学类科技应用软件。用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。具有以下基本功能:(1)数值计算功能;(2)符号计算功能;(3)可视化建模及动态仿真功能。

MATLAB部分常用函数:

eps:浮点相对精度

exp:自然对数的底数e

i

j:基本虚数单位

inf

Inf:无限大,

例如1/0

nan或NaN:非数值(Not

a

number),例如0/0

pi:圆周率

p(=

3.1415926.)

realmax:系统所能表示的最大数值

realmin:系统所能表示的最小数值

nargin:

函数的输入引数个数

nargout:

函数的输出引数个数

lasterr:存放最新的错误信息

lastwarn:存放最新的警告信息

sqrt(x):开平方

real(z):复数z的实部

imag(z):复数z的虚部

round(x):四舍五入至最近整数

fix(x):无论正负,舍去小数至最近整数

sign(x):符号函数

(Signum

function)。

rem(x,y):求x除以y的余数

gcd(x,y):整数x和y的最大公因数

lcm(x,y):整数x和y的最小公倍数

exp(x)

:自然指数

pow2(x):2的指数

log(x):以e为底的对数,即自然对数或

log2(x):以2为底的对数

log10(x):以10为底的对数

sin(x):正弦函数

cos(x):余弦函数

tan(x):正切函数

asin(x):反正弦函数

acos(x):反余弦函数

atan(x):反正切函数

min(x):

向量x的元素的最小值

max(x):

向量x的元素的最大值

MATLAB基本绘图函数:

plot:

x轴和y轴均为线性刻度(Linear

scale)

loglog:

x轴和y轴均为对数刻度(Logarithmic

scale)

fplot

较精确的函数图形

stem

针状图

fill

实心图

第一章

MATLAB应用功能简介

1、MATLAB

的数值计算功能

1.1

基本概念

变量

和其它高级语言一样,MATLAB

也是使用变量来保存信息。变量由变量名表示,变量

的命名应遵循如下规则:

(1)变量名必须以字母开头;

(2)变量名可以由字母、数字和下划线混合组成;

(3)变量名区分字母大小写;

(4)变量名的字符长度不应超过

31

个。

函数

(1)表达式

(2)变量=表达式

表达式由变量名、常数、函数和运算符构成。

语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存的

同时,还将运算结果显示出来

矩阵

(1)直接输入法;

(2)利用

MATLAB

内部函数创建;

(3)从外部数据文件(*.mat)装载并创建矩阵。

向量

(1)利用冒号

“:”

运算生成向量

(2)利用函数

linspace

()生

成向量

①linspace(m,n)

②linspace(m,n,s)

命令

Clear

清除当前工作空间全部变量

Clear

a

b

c

清除当前工作空间变量a、b、c

who

whos

了解已赋值变量的有关信息

clc

擦除工作窗中所显示的全部内容

clf

擦除当前工作窗中的图像

1.2

基本运算

矩阵加减与数组加减

(1)若参与运算的两矩阵(数组)的维数相同,则加减运算的结果是将两矩阵的对应元

素进行加减

(2)若参与运算的两矩阵的之一为标量(1×1

的矩阵),则加减运算的结果是将矩阵(数

组)的每一元素与该标量逐一相加减

矩阵乘与数组乘

矩阵乘与数组乘有着较大差别,运算结果也完全不同。矩阵乘的运算符为“*”,运算是按矩阵的乘法规则进行的,即参与乘运算的两矩阵的内维必须相同。设

A、

B

为参与乘

运算的两矩阵,C

A

B

矩阵乘的结果,则它们必须满足关系

Cm×n=Am×k

Bk×n。因此,参与运算的两矩阵的顺序不能任意调换,因为

A*B

B*A

计算结果很可能是完全不一样

的。数组乘的运算符为“.*”,运算符中的点号千万不能遗漏,也不能随意加空格符。参与

数组乘运算的两数组的大小必须相等(即为同维数组)。

数组乘的结果是将两同维数组(矩

阵)的对应元素逐一相乘,因此,A.*B

B.*A

计算结果是完全相同的.由于,矩阵运算和数组运算的差异,能进行数组乘运算的两矩阵,不一定能进行矩阵乘运算。

矩阵除与数组除

矩阵除与数组除也有着较大差别,运算结果也完全不同。

矩阵除分为矩阵右除和矩阵左除两种情况。矩阵右除的运算符为“/”,设

A、B

为两矩阵,则“A/B”是指方程

X

B

=

A

的解矩阵

X。显然,矩阵右除运算对参与运算的两矩阵的维数是有一定要求的,即矩阵

A

B

的列数必须相等。矩阵右除允许参与右除运算的矩阵

B

为标量,这时矩阵右除运算的结果是将矩阵

A

的,每一元素逐一与该标量进行除法运算矩阵左除的运算符为“\”,设

A、B

为两矩阵,则“A\

B”是指方程

B

X

=

A

的解矩阵

X。显然,矩阵左除运算对参与运算的两矩阵的维数是也有一定的要求,即矩阵

A

B的行数必须相等。

数组右除的运算符为“.

/”,左除的运算符为“.

\”。数组右除和左除的运算结果是完全

等效的。设

A、B

为两同维矩阵

,则“A.

/B”的运算结果是将矩阵

A

的每一个元素与矩阵

B

的对应元素相除。需要就意的是,参与数组运算的两矩阵(数组)的大小必须相等。

1.3可视化功能

1.3.1

绘制二维图形

1、绘制简单的二维曲线

MATLAB

中最常用的绘图函数为

plot。根据

plot

函数参数的不同,可以在平面上绘制

不同的曲线。plot

函数是将各个数据点通过连折线的方式来绘制二维图形的,若对曲线细

分的话,曲线可以看成是由直线连接而成的。plot

命令的格式有以下几种:

(1)

plot(y)

y

为一向量时,以

y

的序号作为

X

轴,按向量

y

的值绘制曲线。

(2)

plot(x,y)

x,y

均为向量时,以

x

向量作为

X

轴,向量

y

作为

Y

轴绘制曲线。

(3)

plot(x,y1,‘option’,x,y2,‘option’,…)

(4)

plot(x1,y1,‘option’,x2,y2,‘option‘,…)

2、离散序列图的绘制

(1)stem(y)

(2)stem(x,y,‘option’)

(3)stem(x,y,‘filled’)

3、标识坐标轴名称

通过

xlable(‘string’)和

ylable(‘string’)命令给

X

轴和

Y

轴加上标注。title(‘string’)命令给图形加上标题。使用

grid

on

grid

off

命令在所画出的图形中添加或去掉网络线。使用坐标轴确定文字位置的

text

命令;使用鼠标确定文字位置的

gtext命令。

(1)

text(x,y,‘string’,‘option’)

(2)

gtext(‘string’)

4、调整坐标轴状态

axis(‘string’)这个命令将坐标轴的状态调整为字符串‘string’的指定的状态。

1.3.2

绘制三维图形

MATLAB

提供了许多实现三维数据可视化的函数,可以在三维空间中绘制曲线或曲面。

1、三维折线及曲线的基本绘图命令

(1)plot3(x1,y1,z1,’option1‘,x2,y2,z2,‘option2’,…)

(2)axis(xmin

xmax

ymin

ymax

zmin

zmax)

2、绘制三维网格曲面

(1)

mesh(X,Y,Z)命令绘制网格曲面

参数

X,Y,Z

都是矩阵,X

矩阵的行向量相同,Y

矩阵的列向量相同。

(2)

mesh(x,y,Z)命令绘制网格曲面

参数

x

y

分别是长度为

n

m

的向量,Z

m*n

矩阵。

(3)

mesh(Z)

命令绘制网格曲面

Z

m*n

矩阵,则栅格数据点的取法是:x=1:n,y=1:m

3、图形绘制中的视角定义

view(2)

设定

[AZ

EL]=[0

90],

即观测

x-y

平面的显示效果。

view(3)

设定[AZ

,EL]=[-37.5,30],即缺省视点位置。

1.3.3

图形的控制和设置

1、创建或打开图形窗口

(1)figure

命令

每调用一次就打开一个新的图形窗口。

(2)figure(n)命令

2、图形重叠

hold

on

命令:保留当前窗口的图形;hold

off

命令:解除

hold

on

命令。

利用图形窗口分割函数

subplot(),也可以在同一个图形窗口中绘制多幅图形。

当我们调用

plot

命令绘制二维曲线时,MATLAB

的执行过程大致如下:

(1)

‘使用

figure

命令,在屏幕(root)对象上生成一个图形窗口(Figure

对象);

(2)使用

axis

命令,在图形窗口内生成一个绘图区域(Axes

对象);

(3)最后用

line

命令在

Axes

指定的区域内绘制线条(Line

对象)

3、属性

(1)获取属性PropertyValue=get(handle,’ProperName’)

(2)属性的设置set(handle,‘ProtertyName1’,ProtertyValue1,’PropertyName2’,PropertyValue2,…)

通过

set()函数设置坐标轴对象和字符对象的属性

1.4

实例简介

1.4.1

应用基础

变量

a=

happy

new

year

b=365

函数

a=rand(4)

b=rand(2,5)

运行结果为:

a

=

0.9501

0.89130.82140.9218

0.2311

0.76210.44470.7382

0.6068

0.45650.61540.1763

0.4860

0.01850.79190.4057

b=

0.3028

0.15090.3784

0.8537

0.4966

0.5417

0.69790.8600

0.5936

0.8998

矩阵

a=[1

2

3

;4

5

6;7

8

9]

运行结果为

a=

1

2

3

4

5

6

7

8

9

向量

a=1:10

运行结果为

a

=

1

2

3

4

5

6

7

8

9

10

矩阵加减与数组加减

A=[1

1

1

2

2

2

3

3

3];

B=A;

A+B

ans

=

2

2

2

3

4

4

6

6

6

A-B

ans

=

0

0

0

0

0

0

0

0

0

矩阵乘与数组乘

a=[1

1

1;2

2

2;3

3

3];

b=a;

a*b

ans

=

6

6

6

12

12

12

18

18

18

f=ones(1,3);

g=ones(3,1);

f*g

ans

=

g*f

ans

=

3

1

1

1

1

1

1

1

1

1

矩阵除与数组除

A=[2

2

3

3

4

4

1

1

2

2

3

3

4

4

5

5

6

6];

B=[1

1

3

3

2

2

1

1

1

1

1

1

2

2

5

5

3

3];

A./B

ans

=

2

2

1

1

2

2

1

1

2

2

3

3

2

2

1

1

2

2

B./A

ans

=

0.5000

0.5000

1.0000

1.0000

0.5000

0.5000

1.0000

1.0000

0.5000

0.5000

0.3333

0.3333

0.5000

0.5000

1.0000

1.0000

0.5000

0.5000

1.4.2

绘制二维图形

1、连续序列图的绘制

function

[f]=aa(t)

f=sym(

sin(pi/4*t)

)

ezplot(f,[-16,16])

图形如下:

n=0:15;

2、离散序列图的绘制

%

steam

plot

x=0:0.1:4;

y=sin(x.^2).*exp(-x);

stem(x,y)

图形如右:

1.4.3绘制三维图形

1、

x=-8:0.5:8;

y=x;

X,Y]=meshgrid(x,y);

R=sqrt(X.^2+Y.^2)+eps;

Z=sin(R)./R;

mesh(X,Y,Z)

grid

on

axis([-10

10

-10

10

-1

1])

2、视角变换

[X,Y]

=

meshgrid([-2:.25:2]);

Z

=

X.*exp(-X.^2

-Y.^2);

surf(X,Y,Z);

view([0

0]);

view([180

0]);

第二章

信号与系统分析及MATLAB实现

2.1

信号的时域分析

2.1.1

信号的表式及可视化

(1)连续时间信号

向量表示法:

对于连续时间信号

f

(t)

我们可以用两个行向量

f

t

来表示

其中向量

t

是形如

t=t1:p

:

t2

MATLAB

命令定义的时间范围向量,

t1

为信号起始时间,

t

2

为终止时间,p

为时间间隔。向量

f

为连续信号

f

(t)

在向量

t

所定义的时间点上的样值。例如对于连续信号

f

(t)=Sa

(t)=sin(

t)/t

符号运算表示法:

用ezplot()命令绘制出信号波形

(2)离散时间信号

一般说来,离散时间信号用

f

(k

)

表示,其中变量

k

为整数,代表离散的采样时间点。f

(k

)

可表示为:

f

(k

)=

{……f

(2

),f

(1),f

(0),f

(1),f

(2)……}

在用MATLAB表示离散序列并将其可视化时,注意:

第一,

与连续时间信号不同,离散时间信号无法用符号运算来表示;

第二,由于在MATLAB中,矩阵的元素个数是有限的,因此,MATLAB无法表示无序列;

第三,在绘制离散信号波形时,要使用专门绘制离散数据的stem命令,而不是plot命令。

2.1.2

信号的时域运算、时域变换及MATLAB实现

(1)连续信号的时域运算、时域变换

1.

相加

连续信号的相加,是指两信号的对应时刻值相加,即

f

(t

)=f1

(t)+f

2

(t

)

2.

相乘

连续信号的相乘,是指两信号的对应时刻值相乘,

即f

(t)=f1

(t

)*f2

(t)

3.

移位

连续信号的移位也称平移。对于连续信号

f

(t)

,若有常数

t0

>0

,延时信号

f

(t-t0

)是将原信号沿正

t

轴方向平移时间

t0

,而

f

(t+t0

)

是将原信号沿负

t

轴方向移动时间

t0

4.

反折

连续信号的反折,是指将信号以纵坐标为轴反折,即将信号

f

(t)

中的自变量

t

换为-t

5.

尺度变换

连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f

(t)

中的自变量

t

换为

at

,当

a>1

时,信号f

(at

)

以原点为基准,沿横轴压缩到原来的

1/

a

;当0

时,信号

f

(at)

将沿横轴展宽至原来的

1/

a

倍。

6.倒相

连续信号的倒相,是指将信号

f

(t)以横轴为对称轴对折得到f

(t)

(2)离散信号的时域运算、时域变换

对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘,

平移、反折、及倒相变换与连续信号的定义完全相同,这里就不再累述。但需要注意,与

连续信号不同的是,在MATLAB中,离散序列的时域运算和变换不能用符号运算来实现,而

必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、

相乘,因而参加运算的两序列向量必须具有相同的维数。

2.1.3

用MATLAB分析常用的时间信号特性

1、连续时间信号

正弦信号定义为:f

(t

)=A

cos(wt+φ

)

实指数信号:

f

(t)=Ce^(at)

,其中

c

a

为实常数

虚指数信号:f

(t

)=Ae^(jwt),A

常数,w

为虚指数信号的角频率。

复指数信号:f

(t

)=Ae^(st)

,其中

s=σ+jw

为复常数。

2、离散时间信号

离散时间正弦序列的表达式为:f

(k

)=

A

cos(kw+j

)

:式中

k

为无量纲的整数,

w

j

以弧度为单位,

w

称为离散正弦序列的数字角频率,j

为初相位。

离散时间实指数序列的一般形式为:f

(k)=ca

^k

,其中

c

a

为实常数。

离散时间虚指数序列的一般形式为:f

(k

)=e^(jwk)其中

w

为角频率

复指数序列的一般形式为:f

(k

)=r^(k)*e^(jwk)

2.2

连续系统的是与分析及MATLAB实现

2.2.1

离散时间序列卷积及MATLAB实现

MATLAB

conv()函数可以帮助我们快速求出两个离散序列的卷积和。conv

函数的

调用格式为:f

=

conv

(f1,f2

)其中

f1

为包含序列

f1(k

)

的非零样值点的行向量,f2

为包含序列

f

2

(k

)

的非零样值点的行向量,向量

f

则返回序列

f

(k

)=f1

(k

)*f

2

(k

)

的所有非零样值点行向量

2.2.2

连续时间信号卷积及MATLAB实现

两个与卷积相关的重要结论:

(1)f

(t

)

=

f

(t)d

(t

),即连续信号可分解为一系列幅度由f

(t

)决定的冲激信号d

(t)及其平移信号之和。

(2)线性时不变连续系统,设其输入信号为f

(t),单位响应为h(t),其零状态响应为y(t

),则有:

y

(t)

=

f

(t

)

h(t)

MATLAB

实现连续信号

f1

(t)

f

2

(t

)

卷积的过程如下:

(1)将连续信号

f1

(t)

f

2

(t

)

以时间隔Δ进行取样,得到离散序列

f1

(kΔ)

f2

(kΔ)

(2)构造与

f1

(k)

f

2

(k)

相对应的时间向量f1

(kΔ)和

f2

(kΔ)(注意,此时时间序号向量

k1、k2

的元素不再是整数,而是取样时间隔Δ的整数倍的时间间隔点);

(3)调用

conv()函数计算卷积积分

f

(t)

的近似向量

f

(n

)

(4)构造

f

(n)

对应的时间向量

k。

LTI

系统当输入为冲激信号d

(t)时产生的零状态响应称为系统的冲激响应,用h(t)表示。若输入为单位阶跃信号e

(t)时系统产生的零状态响应则称为系统的阶跃响应,记为g

(t),如图所示:对

LTI

连续系统,设其输入信号为f

(t),冲激响应为h(t),零状态响应为y(t

),则有:y

(t)

=

f

(t

)

h(t)即h(t)包含了连续系统的固有特性,与系统的输入无关。

MATLAB

为用户提供了专门用于求连续系统冲激响应及阶跃响应,并绘制其时域波形

的函数

impulse

step。在调用函数

impulse()和

step()时,我们需要用向量来对连续系统进行表示。

Impulse()函数有如下几种调

(1)impulse(

b,a

)

(2)impulse(

b,a,t

)

(3)impulse(

b,a,t1:p:t2

)

(4)impulse(

b,a,t1:p:t2

)

函数

step()将绘出由向量

a

b

表示的连续系统的阶跃响应

g

(t)

在指定时间范围内的

波形图,并能求出其数值解。和

impulse()函数一样,step()函数也有如下四种调用格式:

(1)step(b,a)

(2)step(b,a,t)

(3)step(b,a,t1:p:t2)

(4)y=step(b,a,t1:p:t2)

函数

impz(

)能绘出向量

a

b

定义的离散系统在指定时间范围内单位响应的时域波形,

并能求出系统单位响应在指定时间范围内的数值解。Impz()函数有如下几种调用格式:

(1)impz(b,a)

(2)impz(b,a,n)

(3)impz(b,a,n1:n2)

(4)impz(b,a,n1:n2)

MATLAB

的函数

lsim(

)能对上述微分方程描述的

LTI

连续系统的响应进行仿真。lsim(

)

函数能绘制连续系统在指定的任意时间范围内系统响应的时域波形图,还能求出连续系统

在指定的任意时间范围内系统响应的数值解。lsim()函数有如下两种调用格式:

(1)lsim(b,a,x,t)

(2)lsim(b,a,x,t)

MATLAB

为用户提供了求

LTI

离散系统响应的专用函数

filter()。该函数能求出由差分

方程描述的离散系统在指定时间范围内的输入序列时所产生的响应序列的数值解。

filter()函数的调用格式:filter(b,a,x)

2.3

实例简介

2.3.1

信号的时域分析及MATLAB实现

例1:设信号

f(t)

=(1+t/2)*[ε(t+2)-ε(t-2)],用MATLAB求f(t+2),f(t-2),f(-t),f(2t),-

f(t)并绘出其时域波形。

解:根据前面的介绍,我们可用符号运算来实现上述过程,MATLAB命令如下:

syms

t

f=sym(

(t/2+1)*(heaviside(t+2)-heaviside(t-2))

)

subplot(2,3,1),ezplot(f,[-3,3])

y1=subs(f,t,t+2)

subplot(2,3,2),ezplot(y1,[-5,1])

y2=subs(f,t,t-2)

subplot(2,3,3),ezplot(y2,[-1,5])

y3=subs(f,t,-t)

subplot(2,3,4),ezplot(y3,[-3,3])

y4=subs(f,t,2*t)

subplot(2,3,5),ezplot(y4,[-2,2])

y5=-f

subplot(2,3,6),ezplot(y5,[-3,3])

命令执行后得到f,y1,y2,y3,y4,y5的符号表达式如下:

f

=

(t/2+1)*(heaviside(t+2)-heaviside(t-2));

y1

=

(1/2*t+2)*(heaviside(t+4)-heaviside(t));

y2

=

1/2*t*(heaviside(t)-heaviside(t-4))

;

y3

=

(-1/2*t+1)*(heaviside(-t+2)-heaviside(-t-2))

;

y4

=

(t+1)*(heaviside(2*t+2)-heaviside(2*t-2))

;

y5

=

-(1/2*t+1)*(heaviside(t+2)-heaviside(t-2));

图形如下:

2:已知如图所示信号

f1(t)及信号f2(t)=sin(2兀t

)

MATLAB绘出满足下列要求的信号波形。

(1)f3(t)=f1(-t)+f1(t)

(2)

f4(t)=-[f1(-t)+

f1(t)]

(3)f5(t)=f2(t)*

f3(t)

(4)

f6(t)=f1(t)*

f2(t)

解:信号f1(t)可表示为f1(t)=(-t+4)[ε(t)-ε(t-4)],这样我们即可用MATLAB

的符号运算功能来实现题目要求的时域运算:

syms

t

f1=sym(

(-1*t+4)*(heaviside(t)-heaviside(t-4))

)

subplot(2,3,1),ezplot(f1)

f2=sym(

sin(2*pi*t)

)

subplot(2,3,4),ezplot(f2,[-4,4])

y1=subs(f1,t,-t)

f3=f1+y1

subplot(2,3,2),ezplot(f3)

f4=-f3

subplot(2,3,3),ezplot(f4)

f5=f2*f3

subplot(2,3,5),ezplot(f5)

f6=f1*f2

subplot(2,3,6),ezplot(f6)

命令执行后得到f1(t),f2(t),f3(t),f4(t),f5(t),f6(t)的符号表达式如下:f1

=(-1*t+4)*(heaviside(t)-heaviside(t-4))

f2

=sin(2*pi*t)

y1

=(t+4)*(heaviside(-t)-heaviside(-t-4))

f3=(-t+4)*(heaviside(t)-heaviside(t-4))+(t+4)*(heaviside(-t)-heaviside(-t-4))

f4

=

-(-t+4)*(heaviside(t)-heaviside(t-4))-(t+4)*(heaviside(-t)-heaviside(-t-4))

f5

=

sin(2*pi*t)*((-t+4)*(heaviside(t)-heaviside(t-4))+(t+4)*(heaviside(-t)-heaviside(-t-4)))

f6

=

(-t+4)*(heaviside(t)-heaviside(t-4))*sin(2*pi*t);图形如下:

例3:有两离散序列,f

1

(k)

={

2,1,0,1,2,f

2

},f2((k

)

={

1,1,1

}用MATLAB绘出它们的波形及f

1

(k

)+f

2

(k)

的波形。

解:

MATLAB命令为:

f1=-2:2;

k1=-2:2;

f2=[1

1

1];

k2=-1:1;

stem(k1,f1),axis(-3,3,-2.5,2.5)

stem(k2,f2),axis(-3,3,-2.5,2.5)

[f,k]=lsxj

(f1,f2,k1,k2)

程序运行结果如下,绘制的波形如图所示:

f=

-2

0

1

2

2

k=

-2

–1

0

1

2

例4:画出复指数信号f

(t)=

e^(-t)*

e^(10it)的实部、虚部、模及相角随时间变化的曲线,

并观察其时域特性。

解:对应的MATLAB程序如下:

t=0:0.01:3

a=-1;b=10;

z=exp((a+i*b)*t);

subplot(2,2,1),plot(t,real(z)),title(

实部

);

subplot(2,2,3),plot(t,imag(z)),title(

虚部

);

subplot(2,2,2),plot(t,abs(z)),title(

);

subplot(2,2,4),plot(t,angle(z)),title(

相角

);

例5:画出复指数信号f

(t)=

r^(k)*

e^(jwk)的实部、虚部、模及相角随时间变化的曲线,

并观察其时域特性

解:创建M文件:

function

dfzsu(n1,n2,r,w)

%n1:绘制波形的虚指数序列的起始时间序号

%n2:绘制波形的虚指数序列的终止时间序号

%w:虚指数序列的角频率

%r:

指数序列的底数

k=n1:n2;

f=(r*exp(i*w)).^k;

Xr=real(f);

Xi=imag(f);

Xa=abs(f);

Xn=angle(f);

subplot(2,2,1),stem(k,Xr,filled

),title(

实部

);

subplot(2,2,3),stem(k,Xi,filled

),title(

虚部

);

subplot(2,2,2),stem(k,Xa,filled

),title(

);

subplot(2,2,4),stem(k,Xn,filled

),title(’相角’);

输入dfzsu(0,20,0.9,pi/4)

,结果如图:

2.3.2

离散时间序列卷积及MATLAB实现

例6:已知某LTI

离散系统,其单位响应h(k)

=

e(k)

-e(k

-

4),求该系统在激励为f

(k)

=

e(k)

-e(k

-3)时的零状态响应y(k),并绘出其时域波形图。

解:由LTI

变离散系统的分析可得

y(k)

=

h(k)

f

(k)

因此,我们可调用dconv()函数来解决此问题,相应的MATLAB

命令为:

f1=ones(1,4);

k1=0:3;

f2=ones(1,3);

k2=0:2;

[f,k]=dconv(f1,f2,k1,k2)

运行结果为:

f

=

1

2

3

3

2

1

k

=

0

1

2

3

4

5

时域波形图

例7:已知两连续时间信号如下图所示,试用MATLAB

求f(t)=

f1(t)

f2(

t),并绘出f

(t)的时域波形图。

解:

我们可以调用前述的函数sconv(

)来解决此问题,即首先设定取样时间间隔p,并对连续信号f1(t)和f2(t)的非零值区间以时间间隔p

进行抽样,产生离散序列f1和f2,然后构造离散序列f1

和f2

所对应的时间向量k1

和k2,最后再调用sconv

函数即可求出f1(t)

f2(

t)的数值近似,并绘出其时域波形图。实现上述过程的

MATLAB

命令如下:

p=0.01;

k1=0:p:2;

f1=0.5*k1;

k2=k1;

f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p)

上述命令绘制的波形如图所示。图中分别给出了取样时间间隔p=0.5

和p=0.01时的处理效果。可见,当取样时间p

足够小时,函数sconv(

)的计算结果就是连续时间卷积f(t)=f1(t)*f2(

t)

的较好的数值近似

例8:已知描述某连续系统的微分方程为:2

y¢¢(t

)

+

y¢(t)

+

8

y(t)

=

f

(t

)

试用

MATLAB

绘出该系统的冲激响应和阶跃响应的波形。

解:直接调用函数impulse()和step()即可解决此问题,对应的MATLAB

命令如下:

b=[1];

a=[2

1

8];

subplot(1,2,1)

impulse(b,a)

subplot(1,2,2)

step(b,a)

上述命令绘制的系统冲激响应和阶跃响应的波形如图所示。

例9:已知描述某离散系统的差分方程如下:

2

y(k)

-

2y(k

-

1)

+

y(k

-

2)

=

f

(k

)

+

3

f

(k

-1)

+

2

f

(k

-

2)

试用

MATLAB

绘出该系统0~50

时间范围内单位响应的波形。

解:首先用向量a

和b

表示出该离散系统,然后再调用impz()函数即可解决此问题。实现上述过程的MATLAB

命令如下:

a=[2

-2

1]

b=[1

3

2];

impz(b,a)

绘制的系统单位响应波形图如图所示

例10:已知描述离散系统的差分方程为:

y(k

)

-

0.25

y(k

-1)

+

0.5

y(k

-

2)

=

f

(k

)

+

f

(k

-

1)

且知该系统输入序列为f

(k)

=

(0.5)^k*ε(k)

试用

MATLAB

实现下列分析过程:

(1)

画出输入序列的时域波形;

(2)

求出系统零状态响应在0~20

区间的样值;

(3)

画出系统的零状态响应波形图。

解:我们可以调用filter()函数来解决此问题。实现这一过程的MATLAB

命令如下:

a=[1

-0.25

0.5];

b=[1

1];

t=0:20;

x=(1/2).^t;

y=filter(b,a,x);

subplot(2,1,1);

stem(t,x);

title(‘输入序列’);

subplot(2,1,2);

stem(t,y);

title(‘响应序列’)

小露一手:

x=cos(5/16*pi*n);

X_16=fft(x,16);

X_32=fft(x,32);

subplot(211);

hold

on;

plot(n/16,abs(X_16),r

);

plot(L/32,abs(X_32));

hold

off;

w=linspace(0,pi,512);

h=freqz(x,1,w);

subplot(212);

plot(w/pi,abs(h));

课程设计体会

在短短两周的课程设计里,我学到了MATLAB的基础应用知识,和简单的信号与系统分析及MATLAB实现。

在以前的课程中,对信号总觉得非常抽象。尤其是卷积和在傅里叶变换、拉普拉斯变换,S域模型等,都只是通过一系列的数学推导和运算来说明其性质和规律,但自己并不能很好的理解,由于没有其他物理规律只是那么直观,所以只能靠记忆来学习。往往还会混淆,这非常不利于知识的延伸和升华。

通过这次课程设计,在对MATLAB的应用基础熟悉之后,按照书本上的例题,自己动手实际操作,通过计算机的模拟实践,我们能清楚直观地看到以前觉得抽象的数学符号运算变为具体的图形,使知识变得简单易懂。特别有助于我们学习和记忆。

但是,由于时间较短,我们不可能学会相关的编程,只是在一步一步验证以前学过的理论。虽然这些看起来很简单,但是对于我们来说,MATLAB是一个全新的东西,正如大一时的VisualBasic,一时间我们很难去把握它。所以在这些验证过程中,往往还是出错,很多时候就是因为一个标点符号。这在一定程度上告诉我们,做学问一定要严谨,不能有丝毫的差错。

在看到有关书籍和网络上介绍有关MATLAB的更加强大的功能之后,更觉得我们学到的真是微乎其微。在惊叹这个软件强大之余,也萌生了要找时间好好学习使用这个非常实用的软件。

指导教师评语及设计成绩

课程设计成绩:

指导教师:

日期:*年*月*日

参考文献

[1]

吴大正,杨林耀,张永瑞.

信号与线性系统分析(第三版).

高等教育出版社.

北京.1999

[2]

郑君里,应启珩,杨为理.

信号与系统.

高等教育出版社.

北京.

2000

[3]

吴新余,周井泉,沈元隆.

信号与系统——时域、频域分析及MATLAB

软件的应用.

电子工业出版社.

北京.

1999

[4]

阎鸿森,王新凤,田惠生.

信号与线性系统.

西安交通大学出版社.

西安.

1999[5]

程卫国,冯峰,姚东等.

MATLAB5.3

应用指南.

人民邮电出版社.

北京.

1999

[6]

楼顺天,李博菡.

基于MATLAB

的系统分析与设计——信号处理.

西安电子科技大学出版社.

西安.

1999

[7]

陈怀琛,王朝英,高西全等译.

数字信号处理及其MATLAB

实现.

电子工业出版社.

北京.

1998

[8]

刘树棠译.

信号与系统计算机练习——利用MATLAB.

西安交通大学出版社.

西安.1999

[9]

高俊斌.

MATLAB

语言与程序设计.

华中理工大学出版社.

武汉.

1998

[10]

张志涌等.

精通MATLAB5.3

版本.

北京航空航天大学出版.

北京.

2000

28

唯一的信仰 2022-07-05 11:47:45

相关推荐

得意洋洋,反义词(得意洋洋的反义词)

1、得意洋洋的反义词有郁郁寡欢的,有空虚进取的书,有哭天抢地的,有郁郁寡欢的,有失意的,有垂头丧气的,有谦虚谨慎的,有黯然销魂的,有抑郁的。2、“得意”是中国成语,读作:dyyngyng,解释为:得意:明白意图...
展开详情

蚍蜉撼树是什么意思蚍(蚍蜉撼树是什么意思)

1、蜉蝣树(拼音pfhnsh)是中国成语,蜉蝣树(蜉蝣:一种大蚂蚁;Shake:摇动)比喻力量本来就很弱,但是你想摇动一个很强大的东西,就不能随心所欲了。这个成语一般用作主语、谓语、宾语,属于主谓式,含有贬义。...
展开详情

宁一海(宁一)

1、宁一[nngy]又称“伊宁”。安定团结。2、055-79000:“萧何为法,若画一画;相反,曹参,保持它,不要失去它。很清楚,人民更好。”055-79000:“今天的决定已经做出。四面太平,清人独在穷城。你...
展开详情

党的基本路线是国家的生命线人民的幸福线对不对

1、党的基本路线的核心内容是“领导和团结全国各族人民,以经济建设为中心,坚持四项基本原则,坚持改革开放,自力更生,艰苦奋斗,为把我国建设成为富强民主文明的社会主义现代化国家而奋斗。”这条路线的核心内容概括起来就...
展开详情

潇字组词有哪些(潇字组词)

1、潇洒,萧叔,潇湘虞姬,潇洒,刮风下雨,萧,刮风下雨,萧?2、浪漫,南极潇湘,夜雨潇湘,三笑,那里潇湘,帅气,小森。3、下雨了,下雨了,下雨了,下雨了,下雨了。4、xio,汉字,拼音为Xio.意为自然大方,不...
展开详情

精选推荐更多>

K9教育是指什么阶段

K9教育是指从小学一年级到初中三年级。K12,教育类专用名词(kindergarten through twelfth grade),是学前教育至高中教育的缩写,现在普遍被用来代指基础教育。
k9和k12教育模式的差别并不是很大,其主要差距在于k12指的是从幼儿园到高中,学生们要接受12年的教育,而k9只有九年。
但是k9和k12都更加重视学生综合能力的提升,学生们不论是参加k9教育还是k12教育,学生们都可以获得优质的教学资源,老师们也会一心一意的为学生服务,学生在不仅可以参加正常的课程,还能够参加很多艺术培训。
在语文和英语的课堂上,老师除了讲课之外,还会帮助学生提高口语表达的能力和写作的能力,这两项技能对学生来说是极其重要的,而在数学,物理课堂上,老师会帮助学生锻炼学习思维,提高思维能够让学生尽快走上正确的学习轨迹。
除此之外,学生们还能够参加绘画,音乐,科学等课程,可这可能能够帮助学生提高艺术修养,对学生来说也是有很多好处的。

虔的含义是什么

“虔”的含义是恭敬。本义:虎行走的样子。引申为勇武、强固。诚敬;诚心。江西省赣州市的简称,古代赣州先称为虔州,宋朝时,虔州更名赣州,赣州的简称由此而来。
出处:
1、东汉·许慎《说文》:“虔,虎行皃。”
2、《诗·商颂·长发》:“有虔秉钺。”
3、《左传·庄公二十四年》:“以告虔也。”
4、《左传·成公十二年》:“虔卜于先君也。”
5、《国语·鲁语》:“纠虔天刑。”
造句:
1、她俩都是虔诚的基督徒。
2、人们喜欢外表的虔诚,可是里面却罪大恶极。
3、虽然祭拜神明有许多繁文縟节,但是虔诚的信徒们丝毫不以为苦。

张良,字子房,其先韩人也翻译

“张良,字子房,其先韩人也。”意思是张良字子房,他的祖先是韩人。出自《汉书·张良传》。
原文节选:张良,字子房,其先韩人也。良少,未宦事韩。韩破,良家僮三百人,弟死不葬,悉以家财求客刺秦王,为韩报仇,以五世相韩故。良尝学礼淮阳,东见仓海君,得力士,为铁椎重百二十斤。
译文:张良字子房,他的祖先是韩人。张良当时年轻,没有在韩国做官。韩国灭亡后,张良家有三百家奴,弟弟死了都没有发丧,而以全部的财产寻求刺客刺杀秦王,替韩报仇,因为他的父祖做过五代韩相。张良曾学礼于淮阳,在东面见到仓海君,发现一个大力士,做了重一百二十斤的铁锤。
在叙事上《汉书》的特点是注重史事的系统、完备,凡事力求有始有终,记述明白。这为我们了解、研究西汉历史,提供了很大的方便。至今,凡是研究西汉历史,无不以《汉书》作为基本史料。
在体裁方面《汉书》与《史记》同为纪传体史书。不同的是,《史记》起于传说“五帝”,止于汉武帝时代,是一部通史;而《汉书》却是专一记述西汉一朝史事的断代史。这种纪传体的断代史体裁,是班固的创造。以后历代的“正史”都采用了这种体裁。这是班固对于我国历史学的重大贡献。

《采莲曲》整首诗的意思

《采莲曲》整首诗的意思:采莲少女的绿罗裙融入到田田荷叶中,仿佛融为一色,少女的脸庞掩映在盛开的荷花间,相互映照。混入莲池中不见了踪影,听到歌声四起才觉察到有人前来。出自唐代王昌龄《采莲曲》。
原文:
荷叶罗裙一色裁,芙蓉向脸两边开。乱入池中看不见,闻歌始觉有人来。
赏析:
这首诗写的是采莲少女,但诗中并不正面描写,而是用荷叶与罗裙一样绿、荷花与脸庞一样红、不见人影闻歌声等手法加以衬托描写,巧妙地将采莲少女的美丽与大自然融为一体。全诗生动活泼,富于诗情画意,饶有生活情趣。
王昌龄(698年——757年),字少伯,唐朝时期大臣,著名边塞诗人。开元十五年(727年),进士及第,授校书郎,迁龙标县尉。参加博学宏辞科考试,授汜水县尉,坐事流放岭南。开元末年,返回长安,授江宁县丞。安史之乱时,惨遭亳州刺史闾丘晓杀害。王昌龄与李白、高适、王维、王之涣、岑参等人交往深厚。其诗以七绝见长,尤以边塞诗最为著名,有“诗家夫子”、“七绝圣手”之称。著有《王江宁集》六卷。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200