MATLAB实验报告.docx
《MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
MATLAB实验报告
实验1静态系统MATLAB仿真实验
一、实验目的
熟悉MATLAB开发环境,理解用MATLAB分析静态系统
二、实验内容
静态系统MATLAB仿真,在一类物理系统中,所需要研究的系统响应只与系统当前时刻的输入有关系,而与系统的状态以及过去或为来的输入信号无关,这样的系统称为静态系统,也称无记忆系统。
现代通信系统中,通常以时间变化的物理量电压或者电流来表示信号。
动态电系统的状态是指系统中的储能情况,也以电容、电感等储能元件上的电压或者电流来表示。
系统中的独立状态数称为系统的阶数。
系统状态、输入输出信号在数学上都是时间函数,工程上也把电信号称为电波形。
三、实验仪器
硬件:
PC机(主频500以上)10G以上硬盘
四、实验步骤
实验题目:
试仿真得出一个幅度调制系统的输入输出波形。
设输入被调制信号是一个幅度为2v,频率为1000Hz的余弦波,调制载波为0.5v,频率为10kHz的余弦波,
1)数学模型
2)编程实现
连续函数必须进行离散化才能存储于计算机内,只要时间离散化过程满足取样定律,就不会引起失真。
在这个系统中的信号最高工作频率为11kHz,根据取样定理,只要离散取样率高于该频率的2倍即可无失真。
在计算量和数据存储量许可的条件下,取样率可以设置更高,以使仿真计算的结果波形显示光滑。
本例取样率设置为100000Hz,即在一个载波周期上取样10次。
%ch2example2prg1.m
dt=1e-5;%仿真采样间隔
R=1e3;%电阻值
C=1e-6;%电容量
T=5*1e-3;%仿真区间从-T到+T
t=-T:
dt:
T;%计算的离散时刻序列
y
(1)=0;%电容电压初始值,在时间小于零区间将保持不变
%如果要仿真零输入响应,可设置y
(1)=1等非零值.
%----输入信号设定:
可选择:
零输入,阶跃输入,正弦输入,方波输入等----
x=zeros(size(t));%初始化输入信号存储矩阵
x=1*(t>=0);%在0时刻的输入信号跃变为1,即输入为阶跃信号.
%如果要仿真零输入响应,这里可设x=0即可
%x=sin(2*pi*1000*t).*(t>=0);%这是从0时刻开始的1000Hz的正弦信号
%x=square(2*pi*500*t).*(t>=0);%这是从0时刻开始的500Hz的方波信号
%仿真开始,注意:
设零时刻之前电路不工作,系统状态保持不变
fork=1:
length(t)
time=-T+k*dt;
iftime>=0
y(k+1)=y(k)+1./(R*C)*(x(k)-y(k))*dt;%递推求解下一个仿真时刻的状态值
else
y(k+1)=y(k);%在时间小于零时设电路断开,系统不工作
end
end
subplot(2,1,1);plot(t,x(1:
length(t)));axis([-TT-1.11.1]);
xlabel('t');ylabel('input');
subplot(2,1,2);plot(t,y(1:
length(t)));axis([-TT-1.11.1]);
xlabel('t');ylabel('output');
仿真图形如下:
六、实验结果及分析
从图中可以看出,载波的包络随着被调信号的变化而变化,这样被调信号的变化信息就携带在了载波的振幅上面。
实验2动态系统MATLAB仿真实验
一、实验目的
熟悉MATLAB开发环境,理解动态系统MATLAB仿真
二、实验内容
物理系统的输出响应不仅与当前的输入有关,而且还是系统状态的函数,这类系统称为动态系统或有记忆系统。
在通信系统中,以电容、电感等储能元件上的电压或者电流表示。
三、实验仪器
硬件:
PC机(主频500以上)10G以上硬盘
四、实验步骤
实例:
一个电压源通过电阻与电容串联的网络对电容充电。
设t=0为初始时刻(初始时刻之前电路断开,不工作),电压源输出电压x(t)为单位阶跃函数,电容两端的电压为y(t),回路电流为i(t),并将电压源视为系统输入,电容上的电压视为系统输出。
电路的初始状态为y(0)。
1)数学分析
2)数值求值
当已知当前时刻t上的输入信号x(t)和状态y(t),通过公式计算出下一个时刻
上新的系统状态来。
%ch2example2prg1.m
dt=1e-5;%仿真采样间隔
R=1e3;%电阻值
C=1e-6;%电容量
T=5*1e-3;%仿真区间从-T到+T
t=-T:
dt:
T;%计算的离散时刻序列
y
(1)=0;%电容电压初始值,在时间小于零区间将保持不变
%如果要仿真零输入响应,可设置y
(1)=1等非零值.
%----输入信号设定:
可选择:
零输入,阶跃输入,正弦输入,方波输入等----
x=zeros(size(t));%初始化输入信号存储矩阵
x=1*(t>=0);%在0时刻的输入信号跃变为1,即输入为阶跃信号.
%如果要仿真零输入响应,这里可设x=0即可
%x=sin(2*pi*1000*t).*(t>=0);%这是从0时刻开始的1000Hz的正弦信号
%x=square(2*pi*500*t).*(t>=0);%这是从0时刻开始的500Hz的方波信号
%仿真开始,注意:
设零时刻之前电路不工作,系统状态保持不变
fork=1:
length(t)
time=-T+k*dt;
iftime>=0
y(k+1)=y(k)+1./(R*C)*(x(k)-y(k))*dt;%递推求解下一个仿真时刻的状态值
else
y(k+1)=y(k);%在时间小于零时设电路断开,系统不工作
end
end
subplot(2,1,1);plot(t,x(1:
length(t)));axis([-TT-1.11.1]);
xlabel('t');ylabel('input');
subplot(2,1,2);plot(t,y(1:
length(t)));axis([-TT-1.11.1]);
xlabel('t');ylabel('output');
仿真图形如下:
六、实验结果及分析
对于线性系统,全响应是零输入响应和零状态响应的叠加。
实验3MATLAB电子线路仿真实验
一、实验目的
1、熟悉SIMULINK环境。
2、学习基于SIMULINK构建系统的结构图及系统仿真。
3、基于SIMULINK的电子线路性能分析。
二、实验设备
PC机,MATLAB仿真软件。
三、实验原理
正弦信号和锯齿信号通过两个交替打开的门控电路,在信号合并模块Merge中合成为一路信号,并在示波器中显示。
方波信号发生器的输出作为门控信号。
使能子系统作为门控模块。
使能子系统:
当门控信号的值为正时,子系统开始执行。
合并模块可以将多个输入进行合并。
四、实验步骤
(1)启动simulink环境,建立simulink工作平台
(2)寻找sinewave模块、PulseGenerator模块、RepeatingSequence模块这些源模块,分别形成其对应的正弦波、矩形波、锯齿波
(3)设置相应的参数数值(这里不一定需要画图,但要写清楚数值名称)
(4)连接电路的各个功能模块,注意信号控制的方向
(5)对示波器参数进行设置,包括仿真时间、采样时间等
五、实验过程原始记录(数据、图表、计算等)
正弦波
锯齿波
叠加信号
控制信号(矩形)
频率,幅度
pi,1
Pi,1
自己写实验结果
正
频率,幅度
2pi,1
2pi,1
自己写
正
频率,幅度
pi/2,2
2pi,1
自己写
正
六、实验结果及分析
由图可知:
正弦信号和锯齿波信号发生器产生的信号通过交替打开的门控信号,在信号合并模块中合成一路信号。
实验4MATLAB通信系统仿真实验
一、实验目的
1、熟悉SIMULINK环境。
2、学习基于SIMULINK构建系统的结构图及系统仿真。
3、基于SIMULINK的通信系统性能分析。
二、实验设备
PC机,MATLAB仿真软件。
三、实验原理
基带信号的采样定理是指,对于一个频谱宽度为BHz的基带信号,可惟一地被均匀间隔不大于1/(2B)秒的样值序列所确定。
采样定理表明,如果以不小于1/(2B)次/秒的速率对基带模拟信号均匀采样,那么所得到样值序列就包含了基带信号的全部信息,这时对该序列可以无失真地重建对应的基带模拟信号。
例如,电话话音信号的最高频率为3400Hz,为了保证无失真采样,对其进行采样的最低速率必须大于等于6800次/秒,考虑到实际低通滤波器的非理想特性,数字电话通信系统中规定采样率为8000次/秒。
为了保证在足够大的动态范围内数字电话话音具有足够高的信噪比,提出了非均匀量化:
在小信号时采用较小的量化间距,而在大信号时用大的量化间距。
在数学上,非均匀量化等价于对输入信号进行动态范围压缩后再进行均匀量化。
小信号通过压缩器时增益大,大信号通过压缩器时增益小。
这样就使小信号在均匀量化之前得到较大的放大,等价于以较小间距直接对小信号进行量化,而以较大间距对大信号进行量化。
在接收端要进行相应的反变换,即扩张处理,以补偿压缩过程引起的信号非线性失真。
中国和欧洲的PCM数字电话系统采用A律压扩方式,即:
压缩系数A=87.6。
A律压缩扩张曲线可用折线来近似,16段折线点是:
其中靠近原点的4根折线斜率相等,可视为一段,因此总折线数为13段,称为13段折线近似。
用Simulink中的Look-UpTable查表模块可以实现对13折线近似的压缩扩张计算的建模,压缩模块的输入向量设置为:
输出量向量设置为:
。
扩张模块的设置与压缩模块的设置相反。
任务一:
PCM编码,设计一个13折线近似的PCM编码器模型,使它能够对取舍在[-1,1]内归一化信号样值进行编码。
四、实验步骤
(1)建立simulink工作平台
(2)其中信号源用一个常数表示。
(3)以Saturation作为限幅器,Relay模块的门限设置为0,其输出即可作为PCM编码输出的最高位,即确定极性码。
(4)样值取绝对值后,以Look-UpTable(查表)模块进行13折线压缩,并用增益模块将样值范围放大到0~127,然后用间距为1的Quantizer模块进行四舍五入取整量化,并用IntegertoBitConverter将整数转换成长度为8个比特的二进制数据。
(5)最后用Display模块显示编码结果。
将PCM编码器封装成一个子系统,整个文件模型保存。
五、实验过程原始记录(数据、图表、计算等)
增益
127
120
100
50
结果
11110011
自己实验结果
自己写
自己写
六、实验结果及分析
PCM编码的二进制序列中,每个样值用8位二进制码表示,其中最高比特位表示样值的正负极性,规定负值用0表示,正值用1表示。
接下来的3位比特表示样值的绝对值所在的8段折线的段落号,最后4位是样值处于段落内16个均匀间隔上的间隔序号。
在数学上,PCM编码较低的7位相当于对样值的绝对值进行13折线近似压缩后的7位均匀量化编码输出。
实验5MATLAB自动控制系统仿真实验
一、实验目的
1、熟悉SIMULINK环境。
2、学习基于SIMULINK构建系统的结构图及系统仿真。
3、基于SIMULINK的自动控制系统性能分析。
二、实验设备
PC机,MATLAB仿真软件。
三、实验原理
电机是自动控制系统中较为常见的控制对象.对控制系统仿真结果的正确与否起着至关重要的作用.在此以直流电机为例介绍其在SIMULINK下仿真模型的实现。
电机的数学模型:
额定励磁下直流电枢回路电压的平衡方程式为:
式中:
为电机电枢回路的电磁时间常数,
为额定励磁下的电机的反电动势,在零初始条件下对上式进行拉氏变换得
整理后可以得传递函数
,式中
四、实验步骤
(1)建立simulink工作平台
(2)建立模型(如图)
五、实验过程原始记录(数据、图表、计算等)
转速
1500
1500
1500
1500
时间
3
4
5
6
六、实验结果及分析
电机的额定电压,当给定加上的阶跃电压,电机的转速应为1500r/min左右。
运行结果如上图所示。
可知电机的模型是正确的。
实验6MATLAB在信号处理中滤波器的设计实验
一、实验目的
1、掌握基本MATLAB的编程方法
2、理解滤波器的设计原理
3、学会基本的simulink交互式仿真,并对数字滤波器进行仿真
4、学会对所得结果分析
二、实验设备
PC机,MATLAB仿真软件。
三、实验原理
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:
无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。
根据设计得出的滤波器传递函数,就可以通过建立相应的微分方程或差分方程对其进行实现。
matlab命令filter可以实现数字滤波器。
filter函数以第2类直接形式实现数字滤波器,其中b是函数H(z)的分子多项式系数向量,a是其分母多项式系数向量,a
(1)如果不等于1,则滤波器以a
(1)对系统进行归一化,如果a
(1)为零,则返回错误。
x是输入信号序列,可以为复数的。
四、实验步骤
实验题目:
已知某数字滤波器的传递函数是
输入信号为x=[1,0,0,0,0,0,0,0],求滤波器的零状态响应输出的解析结果和数值计算结果,并加以对比。
由传递函数
可知,其分子多项目系数向量为b=[0,1],分母多项式系数向量为
a=[1,-0.8]。
(1)输入数据
(2)送入滤波器的分子、分母系数
(3)调用滤波函数filter
(4)运行
五、实验过程原始记录(数据、图表、计算等)
a=[1,-0.8]。
b=[0,1];
a=[1,-0.8];
x=[10000000];
y=filter(b,a,x)
a=0.8;
k=0:
1:
9;
hk=a.^(k-1).*(k>0)
Y1
0
1.0000
0.8000
0.6400
0.5120
0.4096
0.3277
0.2621
0.2097
0.1678
Y2
0
1.0000
0.8000
0.6400
0.5120
0.4096
0.3277
0.2621
0.2097
0.1678
六、实验结果及分析
对比filter函数的输出y序列和理论计算结果,可以验证滤波器实现的正确性。
实验7通信系统建模仿真评估
一、实验目的
1、掌握基本MATLAB的编程方法
2、理解通信系统建模仿真评估方法中直方图估计法的设计原理
3、学会基本的simulink交互式仿真,并进行仿真
4、学会对所得结果分析
二、实验设备
PC机,MATLAB仿真软件。
三、实验原理
随机分布辨识的目的是,对仿真输出的数据样本的分布特征进行分析,识别数据样本的分布属于什么样的概率分布。
参数估计的目的是通过数据样本估计出概率分布的统计参数,如方差、均值和矩等,并给出指定概率下估计结果所在的范围。
数据样本的频率直方图是一种近似求解样本概率密度函数的图解方法,也常用于随机数分布的验证中。
设仿真得出的n个样本数据为{x1,x2,x3,…,xn},样本取值范围[a,b]=[minxi,maxxi],为了得到样本分布的频率直方图,首先将区间[a,b]划分为m个等间隔的分组区间,分割点ti为:
,分割宽带为
然后统计样本数据落到区间[ti,ti+1]中的个数
(称为频数),再计算出对应的频率
,样本充分大时,
,这样可以用样本频率来估计其概率密度函数
。
当样本数
,
,样本频率直方图趋近于概率密度。
然而,仿真得出的样本宽度总是有限的,这样直方图法中如何选择分割区间的宽度很重要。
四、实验步骤
实验题目:
试产生自由度为(
)的F分布随机函数,并用直方图进行检验,设随机数样本数量为10000。
(1)使用frnd产生F分布的随机函数
(2)以hist指令进行直方图的频数统计
(3)转换频率数据
(4)做出直方图
(5)修改直方图样式
(6)用fpdf指令计算理论概率密度函数并作图比较
五、实验过程原始记录(数据、图表、计算等)
n1=5;n2=4;
n=10000;
x=frnd(n1,n2,n,1);
a=min(x);b=max(x);
m=200;
Delta=(b-a)/m;
[r,xout]=hist(x,[a:
Delta:
b]);
pdf=r./(n*Delta);
bar(xout,pdf);holdon;
h=findobj(gca,'Type','patch');
set(h,'FaceColor',[0.7,0.7,0.7],'EdgeColor','k');
X=0:
0.01:
10;
Y=fpdf(X,n1,n2);
plot(X,Y,'k-');axis([01001]);
m=200
六、实验结果及分析
通过利用F函数的分布参数,分组区间数取200,利用hist计算直方图数据,计算统计密度函数,利用bar做出频率密度直方图,通过finddobj来修改直方图样式。