数字信号处理实验报告一.docx

上传人:b****3 文档编号:2770238 上传时间:2022-11-14 格式:DOCX 页数:15 大小:96.80KB
下载 相关 举报
数字信号处理实验报告一.docx_第1页
第1页 / 共15页
数字信号处理实验报告一.docx_第2页
第2页 / 共15页
数字信号处理实验报告一.docx_第3页
第3页 / 共15页
数字信号处理实验报告一.docx_第4页
第4页 / 共15页
数字信号处理实验报告一.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数字信号处理实验报告一.docx

《数字信号处理实验报告一.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告一.docx(15页珍藏版)》请在冰豆网上搜索。

数字信号处理实验报告一.docx

数字信号处理实验报告一

数学与计算科学学院

《数字信号处理》实验报告

题目:

熟悉MATLAB环境及简单序列运算

专业:

信息与计算科学

学号:

1309301-11

姓名:

周露

指导教师:

胡振华教授

成绩:

二零一五年十一月二十日

 

目录

一实验目的…………………………………………………………1

二实验内容及结果…………………………………………………2

 

一、实验目的

(1)熟悉MATLAB的主要操作命令;

(2)学会简单的矩阵输入和数据读写;

(3)掌握简单的绘图命令;

(4)用MATLAB编程并学会创建函数。

二、实验内容及结果

认真阅读讲义前面的“MATLAB简介”和本实验的“实验说明及程序示例”部分,在MATLAB环境下选择简介和说明中的部分例子重做一遍,体会各条命令或指令的含义。

在熟悉了MATLAB的基本命令的基础上,完成以下实验。

1.序列(一维数组)、矩阵(多维数组)的输入和特殊序列、矩阵的产生。

(1)输入A=[1234],B=[1,2,3,4],C=[1;2;3;4],D=[123;456;789],E=[1,2,3;4,5,6;7,8,9],比较各个变量的结果及特点。

结果:

输入如题要求代码后可知:

A和B皆为一行四列的矩阵;

C为一列四行的矩阵;

D和E皆为三行三列的矩阵。

(2)采用“

”形式的指令(语句)产生一个等差序列,该序列A的初值为a、终值为b(或略小于b的一个值)、等差为x(若等差为1则可缺省该值)。

产生一个n=0,1,2,…,15的序列;改变a,x,b的值,比较各序列的结果与特点。

代码:

A=0:

15

便产生了一个n=0,1,2,…,15的序列;

改变a,x,b的值如下

代码:

A=0:

2:

15

结果:

A=

02468101214

显然当x无法整除b时,产生序列的终值会小于b

(3)利用ones,zeros,randn函数分别产生各个元素为“全1、全0、正态分布随机数”的序列和矩阵(行序列就是1×N的矩阵,而列序列就是N×1的矩阵)。

改变函数参数,比较各个结果。

代码:

A=zeros(1,4)

B=zeros(4,1)

C=ones(1,4)

D=ones(4,1)

E=randn(1,4)

F=randn(4,1)

便产生了如题要求矩阵,改变括号的参数(x,y),便会产生x行y列的“全1、全0、正态分布随机数”的矩阵。

 

2.序列的简单运算。

输入A=[1234],B=[5678],求C=A+B,D=A-B,E=A.*B,F=A./B,H=A.^3,I=A.^B,比较各个序列的结果(注意体会对应“点运算”的特点),并用stem语句画出各个序列。

代码:

A=[1234],B=[5678]

C=A+B

D=A-B

E=A.*B

F=A./B

H=A.^3

I=A.^B

结果:

A=

1234

 

B=

5678

 

C=

681012

 

D=

-4-4-4-4

 

E=

5122132

 

F=

0.20000.33330.42860.5000

 

H=

182764

 

I=

164218765536

画图代码stem(c)

Stem(D)

 

Stem(E)

Stem(F)

Stem(H)

Stem(I)

 

3.矩阵的简单运算。

输入A=[123;456;789],B=[316;792;584],求C=A+B,D=A-B,E=A*B,F=A.*B,G=A/B,H=A./B,I=A^2,J=A.^2,K=A.^B。

比较各个矩阵的结果(注意体会对应“点运算”的特点)。

代码:

A=[123;456;789],B=[316;792;584]

C=A+B

D=A-B

E=A*B

F=A.*B

G=A/B

H=A./B

I=A^2

J=A.^2

K=A.^B

结果:

C=

439

11148

121613

 

D=

-21-3

-3-44

205

 

E=

324322

779758

12215194

 

F=

3218

284512

356436

 

G=

0.1574-0.45370.7407

0.5185-0.25930.8519

0.8796-0.06480.9630

 

H=

0.33332.00000.5000

0.57140.55563.0000

1.40001.00002.2500

 

I=

303642

668196

102126150

 

J=

149

162536

496481

 

K=

12729

16384195312536

16807167772166561

4.应用函数length、size求取序列和矩阵的大小。

先输入或生成一个序列和矩阵,用上述函数求序列和矩阵的大小,体会二者的作用和不同之处。

代码:

A=[123;456;789]

B=[1234]

l=length(B)

[n,m]=size(A)

结果;

l=

4

 

n=

3

 

m=

3

*5.采用rand函数分别产生两个长度不同的序列A、B。

(1)修改序列A部分元素的值:

将A的中间4~5个元素的值修改为“1”;

(2)将A、B中长度较长的序列截短,使二者长度一致;

(3)将A、B中长度较短的序列在后面补零加长,使二者长度一致;

(4)求序列C:

长度为A的一半,且各元素为A、B前一半元素的对应相加。

(1)代码:

A=rand(1,5)

B=rand(1,4)

A(2:

5)=1

结果:

A=

0.96490.15760.97060.95720.4854

 

B=

0.80030.14190.42180.9157

 

A=

0.96491.00001.00001.00001.0000

(2)代码A=rand(1,5)

B=rand(1,4)

l=length(B)

A=A(1:

l)

结果

A=

0.39220.65550.17120.70600.0318

 

B=

0.27690.04620.09710.8235

 

l=

4

 

A=

0.39220.65550.17120.7060

(3)代码:

A=rand(1,5)

B=rand(1,4)

l=length(A)

B(l)=0

结果:

A=

0.07590.05400.53080.77920.9340

 

B=

0.12990.56880.46940.0119

 

l=

5

 

B=

0.12990.56880.46940.01190

(4)代码:

A=rand(1,6)

B=rand(1,4)

l=(length(A))/2;

a=A(1:

l);

b=B(1:

l);

c=a+b

结果:

A=

0.24000.41730.04970.90270.94480.4909

 

B=

0.48930.33770.90010.3692

 

c=

0.72920.75500.9497

6.绘出下列时间函数的图形(注意:

t的取值点选取合理,使绘出的图形恰当!

),对图形的X轴Y轴以及图形上方均须加上适当的标注:

(1)

(2)

(1)代码:

t=0:

0.1:

3

y=sin(t)

plot(y)

结果

(2)代码:

t=0:

0.1:

4

y=(cos(20*pi*t)).*(sin(pi*t))

plot(y)

结果:

7.编写函数weight_add(x1,x2,w),实现两个序列x1(n)、x2(n)的加权和运算:

函数参数中,x1、x2为输入序列,w为权值。

给定两个序列x1、x2,绘出原序列和函数执行后得到的序列图形。

运行代码:

function[y]=weight_add(x1,x2,w)

y=w.*x1+(1-w).*x2;

end

x1=randn(1,5)

x2=randn(1,5)

w=randn(1,5)

C=weight_add(x1,x2,w);

stem(C)

运行结果:

*8.编写函数stepshift(n0,n1,n2),实现u(n-n0),n1

绘出该函数的图形(起点为n1,终点为n2)。

n1=input('请输入起点:

');

n2=input('请输入终点');

n0=input('请输入阶跃位置');

n=n1:

n2;

x=[n-n0>=0];

stem(n,x,'fill');xlable('时间序列n');

ylable('u(n-n0)')

运行结果:

请输入起点:

2

请输入终点8

请输入阶跃位置6

 

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1