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