48MATLAB语言在DSP设计中的应用Word文档格式.docx

上传人:b****4 文档编号:7026978 上传时间:2023-05-07 格式:DOCX 页数:40 大小:244.92KB
下载 相关 举报
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第1页
第1页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第2页
第2页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第3页
第3页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第4页
第4页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第5页
第5页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第6页
第6页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第7页
第7页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第8页
第8页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第9页
第9页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第10页
第10页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第11页
第11页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第12页
第12页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第13页
第13页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第14页
第14页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第15页
第15页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第16页
第16页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第17页
第17页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第18页
第18页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第19页
第19页 / 共40页
48MATLAB语言在DSP设计中的应用Word文档格式.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

48MATLAB语言在DSP设计中的应用Word文档格式.docx

《48MATLAB语言在DSP设计中的应用Word文档格式.docx》由会员分享,可在线阅读,更多相关《48MATLAB语言在DSP设计中的应用Word文档格式.docx(40页珍藏版)》请在冰点文库上搜索。

48MATLAB语言在DSP设计中的应用Word文档格式.docx

如键入X=[-3.5sin(6*pi)8/5*(3+4)sqrt

(2)]则将显示:

X=

-3.5000-0.000011.20001.4142

数组放置在[]中;

数组元素用空格或逗号“,”分隔;

数组行用分号“;

”或“回车”隔离。

(二)复数

MATLAB中的每一个元素都可以是复数,实数是复数的特例。

复数的虚部用i或j表示。

复数的赋值形式有两种:

z=[1+1i,2+2i;

3+3i,4+4i]

z=[1,2;

3,4]+[1,2;

3,4]*i

得z=1.000+1.000i2.000+2.000i

3.000+3.000i4.000+4.000i

以上两式结果相同。

注意,在第二式中“*”不能省略。

在复数运算中,有几个运算符是常用的。

运算符“′”表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。

函数conj表示只把各元素的虚部反号,即只取共轭。

若想求转置而不要共轭,就把conj和“′”结合起来完成。

例如键入

w=z′,u=conj(z),v=conj(z)′

可得w=1.000-1.000i3.000-3.000i

2.000-2.000i4.000-4.000i

u=1.000-1.000i2.000-2.000i

3.000-3.000i4.000-4.000i

v=1.000+1.000i3.000+3.000i

2.000+2.000i4.000+4.000i

(三)数组寻访和赋值的格式

表M-1常用子数组的寻访、赋值格式

子数组的寻访

和赋值

使用说明

a(r,c)

由a的“r指定行”和“c指定列”上的元素组成的子数组

a(r,:

由a的“r指定行”和“全部列”上的元素组成的子数组

a(:

,c)

由a的“全部行”和“c指定列”上的元素组成的子数组

由a的各列按自左到右的次序,首尾相接而生成“一维长列”数组

a(s)

“单下标”寻访。

生成“s指定的”一维数组。

s若是“行数组”(或“列数组”),则a(s)就是长度相同的“行数组”(或“列数组”)

例:

a=[123;

789];

键入a(1,2)显示:

ans=

2

键入a(2,:

)显示:

456

键入a(:

3)显示:

3

6

9

其它情况读者可以自行上机观察使用,此处不再一一举例。

(四)执行数组运算的常用函数

表M-2三角函数和双曲函数

名称

含义

acos

反余弦

asinh

反双曲正弦

csch

双曲余割

acosh

反双曲余弦

atan

反正切

sec

正割

acot

反余切

atan2

四象限反正切

sech

双曲正割

acoth

反双曲余切

atanh

反双曲正切

sin

正弦

acsc

反余割

cos

余弦

sinh

双曲正弦

acsch

反双曲余割

cosh

双曲余弦

tan

正切

asec

反正割

cot

余切

tanh

双曲正切

asech

反双曲正割

coth

双曲余切

asin

反正弦

csc

余割

表M-3指数函数

含义

含义

exp

指数

log10

常用对数

pow2

2的幂

log

自然对数

log2

以2为底的对数

sqrt

平方根

说明:

表M-3、表M-4的使用形式与其它语言相似。

X=tan(60),Y=20*log(U/0.775),Z=1-exp(-1.5*t)。

表M-4复数函数

abs

模,或绝对值

conj

复数共轭

real

复数实部

angle

相角(弧度)

imag

复数虚部

例:

已知h=a+jb,a=3,b=4,求h的模。

输入:

a=3

b=4

h=a+b*j

abs(h)

将显示:

5

键入:

angle(h)

1.9273

real(h)

3

imag(h)

则显示:

4

表M-5取整函数和求余函数

ceil

向+∞舍入为整数

rem(a,b)

a整除b,求余数

fix

向0舍入为整数

round

四舍五入为整数

floor

向-∞舍入为整数

sign

符号函数

mod(x,m)

x整除m取正余数

键入ceil(1.45)

显示:

2

fix(1.45)

1

floor(-1.45)

-2

键入:

round(1.45)

round(1.62)

2

mod(-55,7)

显示:

rem(-55,7)

-6

(五)基本赋值数组

表M-6常用基本数组和数组运算

基本数组

zeros

全零数组(m×

n阶)

logspace

对数均分向量(1×

n阶数组)

ones

全么数组(m×

freqspace

频率特性的频率区间

rand

随机数数组(m×

meshgrid

画三阶曲面时的X,Y网格

randn

正态随机数数组(m×

linspace

均分向量(1×

eye(n)

单位数组(方阵)

将元素按列取出排成一列

特殊变量和函数

ans

最近的答案

Inf

Infinity(无穷大)

eps

浮点数相对精度

NaN

Not-a-Number(非数)

realmax

最大浮点实数

flops

浮点运算次数

realmin

最小浮点实数

computer

计算机类型

pi

3.14159235358579

inputname*

输入变量名

i,j

虚数单位

size

多维数组的各维长度

length

一维数组的长度

为便于大量赋值,MATLAB提供了一些基本数组。

举例说明:

A=ones(2,3),B=zeros(2,4),C=eye(3)

得A=111B=0000C=100

1110000010

001

线性分割函数linespace(a,b,n)在a和b之间均匀地产生n个点值,形成1×

n元向量。

D=linspace(0,1,5)

得D=00.25000.50000.75001.0000

(六)数组运算和矩阵运算

MATLAB中最基本的运算是矩阵运算。

但是在MATLAB的运用中,大量使用的是数组运算。

从外观形状和数据结构上看,二维数组和(数学中的)矩阵没有区别。

但是,矩阵作为一种变换或映射算子的体现,其运算有着明确而严格的数学规则。

而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然简便以及执行计算有效。

虽然数组运算尚缺乏严谨的数学推理,数组运算本身仍在完善和成熟中,但它的作用和影响正随着MATLAB的发展而扩大。

为更清晰地表述数组运算与矩阵运算的区别,我们以表M-7叙述各数组运算指令的意义。

其中假定S=2,n=3,P=1.5。

A=[123;

456;

789],

B=[234;

567;

891]。

表M-7举例说明数组运算指令的意义

指令

运算结果

s+A

标量s分别与A元素之和

345

678

91011

A-s

A分别与标量s的元素之差

-101

234

567

s.*A

标量s分别与A的元素之积

246

81012

141618

s./A或

A.\s

s分别被A的元素除

2.00001.00000.6667

0.50000.40000.3333

0.28570.25000.2222

A.^n

A的每个元素自乘n次

1827

64125216

343512729

p.^A

以p为底,分别以A的元素为指数

求幂值

1.50002.25003.3750

5.06257.593811.3906

17.085925.628938.4434

A+B

对应元素相加

357

91113

151710

A-B

对应元素相减

-1-1-1

-1-1-1

-1-18

A.*B

对应元素相乘

2612

203042

56729

A./B或B.\A

A的元素被B的对应元素除

0.50000.66670.7500

0.80000.83330.8571

0.87500.88899.0000

exp(A)

以自然数e为底,分别以A的元素为指数,求幂

1.0e+003*

0.00270.00740.0201

0.05460.14840.4034

1.09662.98108.1031

log(A)

对A的各元素求对数

00.69311.0986

1.38631.60941.7918

1.94592.07942.1972

sqrt(A)

对A的各元素求平方根

1.00001.41421.7321

2.00002.23612.4495

2.64582.82843.0000

有一函数X(t)=tsin3t,在MATLAB程序中如何表示?

解:

X=t.*sin(3*t)

有一函数X(t)=sin3t/3t,在MATLAB程序中如何表示?

X=sin(3*t)./(3*t)

二、逻辑判断与流程控制

(一)关系运算

关系运算是指两个元素之间数值的比较,一共有六种可能。

如表M-8所列。

关系运算的结果只有两种可能,即0或1。

0表示该关系式为“假”,1表示该关系式为“真”。

例1:

A=3+4==7,得A=1。

例2:

已知N=0,B=[N==0],得B=1。

若N=2,B=[N==0],得B=0。

表M-8关系运算符

<

小于

>

=

大于等于

<

小于等于

==

等于

>

大于

~=

不等于

(二)逻辑运算

逻辑量的基本运算为“与(&

)”、“或(∣)”、“非(~)”三种,另外还可以用“异或(xor)”,如表M-9所示。

表M-9逻辑运算符

运算

A=0

A=1

B=0

B=1

B=0

A&

B

0

A|B

1

~A

xor(A,B)

(三)基本的流程控制语句

⑴if条件执行语句

格式:

if表达式语句,end

if表达式1语句组A,else语句组B,end

if表达式1语句组A,elseif表达式2语句组B,else语句组C,end

执行到该语句时,计算机先检验if后的逻辑表达式,为1则执行语句A;

如为0则跳过A检验下一句程序,直到遇见end,执行end后面的一条语句。

ifn<

=2

x=2;

elseifn>

x=3;

end

若n=5,则结果

x=

3

⑵while循环语句

while表达式语句组A,end

执行到该语句时,计算机先检验while后的逻辑表达式,为1则执行语句A;

到end处,它就跳回到while的入口,再检验表达式,如仍为1则再执行语句A,直到结果为0,就跳过语句组A,直接执行end后面的一条语句。

whilek<

=1000

k=k+1;

键入k将显示

k=

1001

⑶for循环语句

fork=初值:

增量:

终值语句组A,end

将语句组A重复执行N次,但每次执行时程序中k值不同。

增量缺省值为1。

y=0;

fork=1:

20

y=y+k;

end

键入y将显示

y=

210

⑷switch多分支语句

switch表达式(标量或字符串)

case值1

语句组A

case值2

语句组B

……………

otherwise

语句组N

当表达式的值与某case语句中的值相同时,它就执行该case语句后的语句组,然后直接跳到终点的end处。

三、基本绘图方法

(一)二维图形函数

MATLAB语言支持二维和三维图形,这里我们主要介绍常用的二维图形函数。

如表M-11所示。

表M-11常用图形函数库

基本X—Y图形

plot

线性X-Y座标绘图

polar

极座标绘图

loglog

双对数X-Y座标绘图

plotyy

用左、右两种Y座标画图

semilogx

半对数X座标绘图

semilogy.

半对数Y座标绘图

stem

绘制脉冲图

stairs

绘制阶梯图

bar

绘制条形图

坐标控制

axis

控制座标轴比例和外观

subplot

按平铺位置建立子图轴系

hold

保持当前图形

图形注释

title

标出图名(适用于三维图形)

gtext

用鼠标定位文字

xlabel

X轴标注(适用于三维图形)

legend

标注图例

ylabel

Y轴标注(适用于三维图形)

grid

图上加座标网格(适用于三维)

text

在图上标文字(适用于三维)

打印

print

打印图形或把图存为文件

orient

设定打印纸方向

printopt

打印机默认选项

常用的三维曲线绘图命令

Plot3

在三维空间画点和线

mesh

三维网格图

fill3

在三维空间绘制填充多边形

surf

三维曲面图

最常用的命令使用说明:

plot(t,y)表示用线性X-Y座标绘图,X轴的变量为t,Y轴的变量为y。

subplot(2,2,1)建立2×

2子图轴系,并选定图1。

axis([01-0.11.2])表示建立一个座标,横座标的范围从0至1,纵座标的范围从-0.1至1.2。

title('

X(n)曲线'

)在子图上端标注图名

作图时,线形、点形和颜色的选择可参考表M-12。

表M-12线形、点形和颜色

标志符

b

c

g

k

m

r

w

y

颜色

绿

品红

×

-.

线、点

圆圈

+号

实线

星号

点线

点划线

虚线

(二)举例

以下举例说明二维图形函数在程序中的使用方法。

作一条曲线

,程序如下。

t=0:

0.5:

4*pi;

%将t在0到4π间每间隔0.5取一点

y=exp(-0.1*t).*sin(t);

subplot(2,2,1),plot(t,y);

%建立2×

2子图轴系,在图1处绘线性图

plot(t,y)'

);

%标注图名

subplot(2,2,2),stem(t,y);

%在2×

2子图轴系图2处绘脉冲图

stem(t,y)'

subplot(2,2,3),stairs(t,y);

2子图轴系图3处绘阶梯图

stairs(t,y)'

subplot(2,2,4),bar(t,y);

2子图轴系图2处绘条形图

bar(t,y)'

已知

在同一座标系对两条曲线作图,用不同的颜色和线型区分。

方法一:

将同时显示曲线的向量列入数组,t必须等长。

显示的线型和颜色不能任意选择。

0.01:

2;

y1=sin(2*pi*t);

y2=cos(4*pi*t);

plot(t,[y1;

y2]);

图M-1例2方法一

方法二:

显示曲线的向量t不必等长,显示的线型和颜色能任意选择。

作图时,先画第一条曲线保持住,再画第二条曲线。

图M-2例2方法二

t1=0:

1;

y1=sin(2*pi*t1);

t2=0:

y2=cos(4*pi*t2);

plot(t1,y1,'

*m'

),hold;

%让第一条曲线保持住,再画第二条曲线

plot(t2,y2,'

+b'

3 MATLAB在信号处理中常用的函数

MATLAB系统软件中具有专用的信号处理工具箱,对于我们学习信号与系统、数字信号处理等课程,进行通信、电子工程设计计算是一个非常有效的辅助手段。

这里,我们仅列写出最常用的部分,供大家参考。

一、常用的信号及信号的波形

(一)常用的信号

在MATLAB中的信号处理工具箱中,主要提供的信号是离散信号。

由于MATLAB对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x

(1)=5,x

(2)=4,X(3)=3…

因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如

n=[-3,-2,-

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2