南邮matlab软件设计告报告.docx

上传人:b****6 文档编号:7270333 上传时间:2023-01-22 格式:DOCX 页数:29 大小:387.54KB
下载 相关 举报
南邮matlab软件设计告报告.docx_第1页
第1页 / 共29页
南邮matlab软件设计告报告.docx_第2页
第2页 / 共29页
南邮matlab软件设计告报告.docx_第3页
第3页 / 共29页
南邮matlab软件设计告报告.docx_第4页
第4页 / 共29页
南邮matlab软件设计告报告.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

南邮matlab软件设计告报告.docx

《南邮matlab软件设计告报告.docx》由会员分享,可在线阅读,更多相关《南邮matlab软件设计告报告.docx(29页珍藏版)》请在冰豆网上搜索。

南邮matlab软件设计告报告.docx

南邮matlab软件设计告报告

 

软件设计报告

(2011/2012学年第二学期)

 

课程名称

MATLAB通信仿真

实习时间

2011/2012学年第二学期

指导单位

***学院

指导教师

***

 

学生姓名

***

班级学号

***

学院(系)

***

专业

***

一、实验时间:

4月16日-4月27日32学时

二、实验设备与仪器:

1、硬件:

PC机一台

2、软件:

MatlabR2009b软件

三、实验基本要求:

了解MATLAB软件包,掌握相关的计算、设计方法,对设计的系统在Simulink环境中进行仿真。

通过完成所有的练习题,初步熟悉Matlab命令窗的使用,M文件的编写,Simulink环境中仿真系统的搭建、运行、调试和验证。

在此基础上,完成通信系统设计题,并调试验证通过。

四、实验内容:

Matlab练习题

1、在时间区间[0,10]中,绘出

曲线。

1)M文件代码[No1code.m]

clc;

clear;

t=0:

0.1:

10;

y=1-exp((-0.5)*t).*cos(2*t);

plot(t,y,'r-');

gridon;

title('y=1-exp((-0.5)*t).*cos(2*t)的图形曲线');

xlabel('x轴');

ylabel('y轴');

2)绘制曲线[No1pic.bmp]

2、写出生成如图E2-1所示波形的MATLAB脚本M文件。

图中虚线为正弦波,要求它的负半波被置零,且在

处被削顶。

1)M文件代码[No2code.m]

clc;

clear;

t=linspace(0,3*pi,500);

y=sin(t);

a=sin(pi/3);

z=(y>=0).*y;

z=(y>=a).*a+(y

plot(t,y,':

r');

holdon;

plot(t,z,'b-')

xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数')

legend('y=sin(t)','z=f(t)',4),holdoff

2)绘制曲线[No2pic.bmp]

3、令

,运行[U,S,V]=svd(A);tol=S(1,1)*3*eps;然后回答以下问题:

(1)sum(diag(S)>tol)-rank(A)是多少?

(2)S(1,1)-norm(A)=0是多少?

(3)sqrt(sum(diag(S*S)))-norm(A,'fro')的结果是什么?

(4)S(1,1)/S(3,3)-cond(A)的结果是什么?

(5)S(1,1)*S(2,2)*S(3,3)-det(A)

(6)V(:

1)'*null(A)得到什么结果?

(7)abs(A*null(A))

(8)U(:

1:

2)==orth(A)的运行结果是什么?

1)M文件代码[No3code.m]

clear;

clc;

disp('设A=[1,2,3;4,5,6;7,8,9],得')

A=[1,2,3;4,5,6;7,8,9]%一个3*3矩阵

disp('设[U,S,V]=svd(A),得')

[U,S,V]=svd(A)%奇异值分解(SVD)USV:

Um*m酉矩阵Vn*n酉矩阵S对角阵

disp('设tol=S(1,1)*3*eps,得')

tol=S(1,1)*3*eps

disp('设a=sum(diag(S)>tol)-rank(A),求a')

a=sum(diag(S)>tol)-rank(A)

disp('设b=S(1,1)-norm(A),求b')

b=S(1,1)-norm(A)

disp('设c=sqrt(sum(diag(S*S)))-norm(A,fro),求c')

c=sqrt(sum(diag(S*S)))-norm(A,'fro')

disp('设d=S(1,1)/S(3,3)-cond(A),求d')

d=S(1,1)/S(3,3)-cond(A)

disp('设e=S(1,1)*S(2,2)*S(3,3)-det(A)

e=S(1,1)*S(2,2)*S(3,3)-det(A)

disp('设f=V(:

1)*null(A),求f')

f=V(:

1)'*null(A)

disp('设g=abs(A*null(A))

g=abs(A*null(A))

disp('设h=U(:

1:

2)==orth(A),求h')

h=U(:

1:

2)==orth(A)

2)实验结果[No3result.txt]

设A=[1,2,3;4,5,6;7,8,9],得

A=

123

456

789

设[U,S,V]=svd(A),得

U=

-0.21480.88720.4082

-0.52060.2496-0.8165

-0.8263-0.38790.4082

 

S=

16.848100

01.06840

000.0000

 

V=

-0.4797-0.7767-0.4082

-0.5724-0.07570.8165

-0.66510.6253-0.4082

设tol=S(1,1)*3*eps,得

tol=

1.1223e-014

设a=sum(diag(S)>tol)-rank(A),求a

a=

0

设b=S(1,1)-norm(A),求b

b=

0

设c=sqrt(sum(diag(S*S)))-norm(A,fro),求c

c=

0

设d=S(1,1)/S(3,3)-cond(A),求d

d=

0

设e=S(1,1)*S(2,2)*S(3,3)-det(A)

e=

1

设f=V(:

1)*null(A),求f

f=

-5.5511e-017

设g=abs(A*null(A))

g=

1

1

1

设h=U(:

1:

2)==orth(A),求h

h=

11

11

11

>>

 

4、求积分

提示:

abs,sin,cos,cumsum,disp,plot,grid

1)M文件代码[No4code.m]

%画出积分曲线

clear;

clc;

t=0:

pi/100:

2*pi;

f=abs(sin(cos(t)));

F=cumsum(f)*pi/100;

plot(t,F);

xlabel('x轴');

ylabel('y轴');

title('描绘y=abs(sin(cos(t)))在(0,x)间积分曲线[x∈(0,2π)]')

gridon;

2)实验结果[No4result.txt]

t从0到2π积分得到的值

y=

3.5726

>>

 

3)绘制曲线[No4pic.bmp]

5、求方程

的解。

提示:

solve

1)M文件代码[No5code.m]

clear;

clc;

disp('计算方程组x^2+y^2=1x*y=2的根xy')

[x,y]=solve('x^2+y^2=1','x*y=2')

2)实验结果[No5result.txt]

计算方程组x^2+y^2=1x*y=2的根xy

x=

((15^(1/2)*i)/2+1/2)^(1/2)/2-((15^(1/2)*i)/2+1/2)^(3/2)/2

((15^(1/2)*i)/2+1/2)^(3/2)/2-((15^(1/2)*i)/2+1/2)^(1/2)/2

(1/2-(15^(1/2)*i)/2)^(1/2)/2-(1/2-(15^(1/2)*i)/2)^(3/2)/2

(1/2-(15^(1/2)*i)/2)^(3/2)/2-(1/2-(15^(1/2)*i)/2)^(1/2)/2

y=

((15^(1/2)*i)/2+1/2)^(1/2)

-(1/2*15^(1/2)*i+1/2)^(1/2)

(1/2-(15^(1/2)*i)/2)^(1/2)

-(1/2-1/2*15^(1/2)*i)^(1/2)

6、构建一个简单的全波整流模型,并用示波器分两路同时观察原信号和整流后的信号波形。

要求:

信源模块被重新命名为“输入正弦波”;信宿模块被重新命名为“示波器”;连接到信宿的信号线上分别标注“原信号”和“整流信号”;在模型窗中添加注释文本。

1)仿真文件[No6simu.mdl]

各模块参量设置:

方式一:

[Scope1]

Parameters

Numberofaxes:

2

其他默认

[其余模块]

默认选项

方式二:

[Gain]

Gain:

-1

其他默认

[Scope1]

Parameters

Numberofaxes:

2

其他默认

[其余模块]

默认选项

 

备注:

由于此版本Mtlab不支持模块中文名称,故全部使用英文名称。

2)仿真截图[No6pic3.bmp]

2)仿真结果[No6pic1.bmp]

3)仿真结果[No6pic2.bmp]

7、利用SIMULINK及其标准模块设计一个低通滤波器,从受噪声干扰的多频率混合信号

中获取10Hz的信号。

在此

,而

1)仿真文件[No7simu.mdl]

各模块参量设置:

[SineWave]

Frequency(rad/sec):

10

其他默认

[SineWave1]

Frequency(rad/sec):

100

Phase(rad):

pi/2

其他默认

[RandomNumber]

Variance:

0.2

Sampletime:

100

其他默认

[Sum]

Listofsigns:

|+++

其他默认

[AnalogFilterDesign]

Passbandedgefrequency(rad/s):

10

其他默认

[其余模块]

默认选项

2)仿真截图[No7pic2.bmp]

2)仿真结果[No7pic1.bmp]

8、CD74HC00仿真(数字电路)

1)仿真文件[No8simu.mdl]

[所有模块]

默认选项

2)仿真截图[No8pic1.bmp]

3)仿真截图[No8pic2.bmp]

9、创建一个简单的离散多速率系统:

单位阶跃信号经过具有不同速率的采样后分别用作两个离散传递函数的输入。

这两个离散传递函数有相同的有理分式

,但采样时间和时间偏置二元对分别设为[1,0.1]和[0.7,0]。

要求:

观察这两个离散传递函数的输出有什么不同;用不同的颜色标帜不同采样速率系统。

(通信系统)

1)仿真文件[No9simu.mdl]

各模块参量设置:

[Step]

Steptime:

0

其他默认

[TransportDelay]

Timedelay:

0.1

其他默认

[DiscreteFilter]

Numeratorcoefficients:

[10.1]

Denominatorcoefficients:

[1-0.2]

Sampletime(-1forinherited):

1

其他默认

[Step1]

Steptime:

0

其他默认

[DiscreteFilter1]

Numeratorcoefficients:

[10.1]

Denominatorcoefficients:

[1-0.2]

Sampletime(-1forinherited):

0.7

其他默认

[其余模块]

默认选项

2)仿真截图[No9pic1.bmp]

2)仿真结果[No9pic1.bmp]

五、实验内容:

Matlab设计题

1、信道编码与译码——卷积码

要求:

采用不同的卷积方式,在不同信噪比环境下,分析硬判决维特比译码的性能。

提示:

1)数据源采用贝努利二进制序列产生器,生成随机的二进制序列;

2)对信源分别采用1/2编码效率和1/3编码效率的卷积编码(各选择一种约束长度);

3)采用二进制相位调制,输出基带信号;

4)经过加性高斯白噪声信道

5)采用二进制相位解调

6)解调后的信号进入维特比译码器,采用硬判决译码

7)编写M文件,仿真不同信噪比条件下的误码率

8)给出仿真结果并做分析

编码效率r=1/2的编码表

约束长度

生成多项式

(8进制)

自由最小距离

3

5

7

5

4

15

17

6

5

23

35

7

6

53

75

8

7

133

171

10

8

247

371

10

9

561

753

12

10

1167

1545

12

编码效率r=1/3的编码表

约束长度

生成多项式

(8进制)

自由最小距离

3

5

7

7

5

4

13

15

17

6

5

25

33

37

7

6

47

53

75

8

7

133

145

175

10

8

225

331

367

10

9

577

663

711

12

10

1117

1365

1633

12

※设计思路:

参考文献[1]P87-92

1)仿真文件[Project1simu.mdl]

[BernoulliBinaryGenerator]

Initialseed:

61

Sampletime:

0.02/268

Frame-basedoutputs:

Samplesperframe:

268

其他默认

[ConvolutionalEncoder]

Trellisstructure:

STRUCTURE

其他默认

[AWGNChannel]

Initialseed:

61

Mode:

Signaltonoiseratio(SNR)

SNR(dB):

SNR

其他默认

[ViterbiDecoder]

Trellisstructure:

STRUCTURE

Decisiontype:

Harddecision

Tracebackdepth:

34

Operationmode:

Truncated

其他默认

[ErrorRateCalculation]

Outputdata:

Port

其他默认

[ToWorkspace]

Variablename:

BitErrorRate

Saveformat:

Array

其他默认

[其他模块]

默认选项

 

2)仿真截图[Project1pic2.bmp]

3)M文件代码[Project1code.m]

%x表示信噪比

x=-10:

10;

%y表示信号的误比特率

y=x;

%准备一个空白图形

holdoff;

%--编码效率1/2,约束长度为5

STRUCTURE=poly2trellis(5,[2335]);

%重复运行convh.mdl,检验不同条件下硬判决译码的性能

fori=1:

length(x)

%信道的信噪比依次取x中的元素

SNR=x(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

sim('Project1simu');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(BitErrorRate);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y,'r','LineWidth',2);%红色实线

%保持已经绘制的图形

holdon;

%--编码效率1/3,约束长度为5

STRUCTURE=poly2trellis(5,[253337]);

%重复运行convh.mdl,检验不同条件下硬判决译码的性能

fori=1:

length(x)

%信道的信噪比依次取x中的元素

SNR=x(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

sim('Project1simu');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(BitErrorRate);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y,'LineWidth',2);%蓝色实线

%保持已经绘制的图形

holdon;

%--编码效率1/2,约束长度为10

STRUCTURE=poly2trellis(10,[11671545]);

%重复运行convh.mdl,检验不同条件下硬判决译码的性能

fori=1:

length(x)

%信道的信噪比依次取x中的元素

SNR=x(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

sim('Project1simu');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(BitErrorRate);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y,'g','LineWidth',2);%绿色实线

%保持已经绘制的图形

holdon;

%--编码效率1/3,约束长度为10

STRUCTURE=poly2trellis(10,[111713651633]);

%重复运行convh.mdl,检验不同条件下硬判决译码的性能

fori=1:

length(x)

%信道的信噪比依次取x中的元素

SNR=x(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

sim('Project1simu');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(BitErrorRate);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y,'c','LineWidth',2);%青色实线

%保持已经绘制的图形

holdon;

gridon;

legend('编码效率:

1/2约束长度:

5','编码效率:

1/3约束长度:

5','编码效率:

1/2约束长度:

10','编码效率:

1/3约束长度:

10');

title('硬判决维特比译码误码率');

xlabel('信道信噪比');

ylabel('误码率');

4)仿真结果[Project1pic1.bmp]

5)数据分析

通过Matlab编程仿真得到的曲线可以看出:

在相同编码效率、相同约束长度的条件下随着信道信噪比的增大信号的误比特率会相应的减小。

在相同信道信噪比、相同约束长度的条件下适当增加冗余码(减小编码效率)元可以提高系统稳定性从而减少误码率。

在相同信道信噪比、相同编码效率的情况下约束长度越小信号的误码率越低。

因此,适当加大冗余码元、减小约束长度、增大信道信噪比可以减小系统误码率。

 

2、信号调制——数字相位调制QPSK

要求:

基于IS-95前向链路的调制方式,设计一个QPSK仿真模型,衡量QPSK在高斯白噪声信道中的性能,观察星座图,统计在不同信噪比环境下的误码率。

提示:

1)数据源采用贝努利二进制序列产生器产生一个二进制向量,向量的长度等于2,分别代表了QPSK调制器的两个输入信号

2)采用IS-95前向链路QPSK调制的相位映射,设置QPSK调制器模块

3)经过加性高斯白噪声信道

4)进行QPSK解调,对比经过信道前后的星座图

5)编写M文件,仿真不同信噪比条件下的误码率

6)给出仿真结果并做分析

IS-95前向链路QPSK调制的相位映射

I支路数据

Q支路数据

相位

0

0

π/4

1

0

3π/4

1

1

-3π/4

0

1

-π/4

※设计思路:

参考文献[1]P126-132

1)仿真文件[Project2simu.mdl]

[BernoulliBinaryGenerator]

Initialseed:

61

Sampletime:

0.01

Frame-basedoutputs:

Samplesperframe:

100

其他默认

[QPSKModulatorBaseband]

Phaseoffset(rad):

var

Constellationordering:

Gray

Inputtype:

Bit

其他默认

[AWGNChannel]

Initialseed:

1

Mode:

Signaltonoiseratio(SNR)

SNR(dB):

SNR

其他默认

[Discrete-TimeScatterPlotScope]

Samplespersymbol:

2

Pointsdisplayed:

100

其他默认

[Discrete-TimeScatterPlotScope1]

Samplespersymbol:

2

Pointsdisplayed:

100

其他默认

[QPSKDemodulatorBaseband]

Phaseoffset(rad):

var

Constellationordering:

Gray

Inputtype:

Bit

Decisiontype:

Harddecision

[其他模块]

默认选项

2)仿真截图[Project2pic4.bmp]

 

3)M文件代码[Project2code.m]

clear;

clc;

holdoff;

var=pi/4;

x=-15:

15;

fori=1:

length(x)

SNR=x(i);

sim('Project2simu');

y(i)=ErrorVec

(1);

end

semilogy(x,y,'r','LineWidth',2);%红色线

holdon;

var=3*pi/4;

x=-15:

15;

fori=1:

length(x)

SNR=x(i);

sim('Project2simu');

y(i)=ErrorVec

(1);

end

semilogy(x,y,':

b','LineW

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

当前位置:首页 > 高等教育 > 文学

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

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