matlab系统仿真 (1)

matlab系统仿真 (1)
matlab系统仿真 (1)

《MATLAB仿真技术》课程论文

题目移位寄存器电路设计与仿真

姓名

班级0934131

学号

指导教师

2016年5月23日

目录

摘要 (1)

1 Matlab简介 (1)

2移位寄存器的设计 (1)

2.1 D触发器功能介绍 (2)

2.2移位寄存器仿真 (2)

3双向移位寄存器的设计 (4)

3.1带清零端的RS触发器设计 (5)

3.2 四位双向移位寄存器子系统的设计和封装 (5)

3.3双向移位寄存器仿真 (7)

4设计心得 (9)

5参考文献 (10)

摘要

MATLAB具有强大的图形处理功能、符号运算功能和数值计算功能。MATLAB 工具几乎涵盖了整个科学技术运算领域。其中系统的仿真(Simulink)工具箱是从底层开发的一个完整的仿真环境和图形界面。在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。此次,以数字电路中的时序逻辑电路为线索来学习Simulink,了解了许多数字电路中常用模块的使用方法.时序电路中除具有逻辑运算功能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟单元主要由本次设计所用到的触发器来实现。D触发器、RS触发器、JK触发器等这些时序逻辑电路中常用的器件在Simulink中都有相应的仿真模块,除此之外,用户还可以自行设计封装模块来一步一步完成更大的电路系统,实现更强大的逻辑功能。

关键词:MATLAB、Simulink、时序电路

1 Matlab内容简介

MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。在国际学术界,MATLAB被确认为最准确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到MATLAB在各个领域里的应用。

2移位寄存器的设计

所谓移位寄存器,就是只能接收一个输入源的寄存器,它将这个输入依次通过寄存器堆进行缓存,就像是数据在沿寄存器平移一样。

在移位寄存器中,前一个触发器的输出端接到下一个触发器的输入端,由第一个触发器的输入端接收输入信号,每个触发器都采用同一个时钟源。那么信号每经过一个触发器,就被缓存一次。由于在实际中,信号通过每个触发器是需要一定时间的,所以当时钟源的第一次上升沿到来时,信号就被第一个触发器读入并送到输出端,但第二个触发器并不能将这个信号读入,因为等这个信号到达第

一个触发器的输出端时,时钟的上升沿已经过去了。只有等到下一个上升沿到来的时候,第二个触发器才能读入这个信号,同时第一个触发器从输入端又读入了一个新信号。这样,每个信号都在每个触发器的输出端保持一个时钟周期,而且每个触发器的输出端信号依次延时一个周期,就像信号在进行移位一样。

值得注意的是,在simulink中仿真时,由于这些模块都是理想的,所以信号通过任何一个模块都是没有所谓的“延时”的。而设计移位寄存器的关键就是利用了触发器的延时特性,所以在这里不能按照逻辑电路直接设计这个寄存器。必须在两级触发器之间插入一个延时单元,人为地实现触发器的延时功能。

2.1 D触发器功能介绍

!CLR CLK D Q

0 * * 0

1 上升沿0 0

1 上升沿 1 1

表2 D触发器真值表

其逻辑表达式为

1

Q n D

+=

通过以上介绍可知,D触发器的输入输出是完全一样的,但它并不是简单的传输门,要注意到D触发器只有在输入时钟源的上升沿时才将输入端读到输出端,在其他时间里,输出值一直保持不变。D触发器有3个输入端,2个输出端。它的真值表如表所示。

2.2移位寄存器仿真

第一步:添加模块

这个电路用到了6种模块,它们分别是:D触发器(D Flop Flops);时钟源(Clock);单位延时单元(Unit Delay);常数源(Constant);离散脉冲源(Discrete Pulse Generator);示波器(Scope)。

第二步:设置模块参数

延时单元的延迟时间都设为0.1秒;

脉冲源的参数设置如下:幅度为1,周期为3,脉宽为1,相位延迟为0,采样时间为0.3。然后将这个脉冲源命名为INPUT。

常数源的值设置为1。

最后将示波器的输入端设置为6个。

第三步:连线及仿真

将各模块摆放整齐,按图4连线。将仿真时间设为20秒,单击工具栏上的“运行”图标,开始仿真。然后双击示波器观察输出波形,如图4所示。

图3 4位移位寄存器仿真电路图

图4 移位寄存器输出波形

由以上输出波形可看出,只有在时钟信号的上升沿到来时,各个触发器的输出端才会发生变化。而且四个触发器的输出依次延时一个周期,这和前面的分析是吻合的。

3双向移位寄存器的设计

以基本RS触发器为基础,一步步实现一个比较大的系统——四位双向移位寄存器Dmreg。最后实现的系统顶层图如图5所示。集成电路Dmreg就是一个寄存器芯片,它能够提供串行寄存器和移位寄存器两种功能。其内部使用的是边沿触发的RS触发器从上图可知,Dmreg有10个输入端口,4个输出端口。

在10个输入端口中,3个是控制信号(),一个是时钟信号(),还有2个串行输入端口(),4个并行输入端口()。其中3个控制信号对Dmreg工作状态的控制如下表所示。

表3 Dmreg工作状态表

Rd S1 S0 工作状态

0 * * 清零

1 0 0 保持

1 0 1 右移

1 1 0 左移

1 1 1 并行输入

图5 双向移位寄存器顶层图

3.1带清零端的RS触发器设计

Simulink提供的RS触发器是电平触发的,而且没有置位端和复位端。而Dmreg中需要的是下降沿触发,带有置位端和复位端的触发器。所以首先要对基本的RS触发器进行改造,以加强其功能。最后得到的下降沿触发的带置位复位端的RS触发器如图6所示。

图6 带置位端的下降沿触发的RS触发器

首先启动Simulink,然后将一个子系统模块(Subsystem)添加到一个新建模块中。接着双击打开这一个子系统,将基本RS触发器添加到其中。然后加入两个逻辑运算模块,将其修改为二输入的与门。如图6所示,Rd和Rs就是添加的复位端和置位端。为了将触发器变成边沿触发的,需要引入新模块Trigger。其功能是向子系统中添加触发端,在这里将其设为下降沿触发。以上就完成了对基本RS触发器的改进。

3.2 四位双向移位寄存器子系统的设计和封装

第一步:Dmreg电路设计

前面将这个模型的基本单元——下降沿触发的RS触发器做好了。下面用它来构造四位双向移位寄存器(Dmreg)子系统。最后实现的Dmreg的内部电路如图7所示。

图7 Dmreg内部电路

从图7中可以看出,在控制逻辑部分使用了大量的逻辑运算模块,实际上这4个触发器使用的逻辑电路是一模一样的。下面就以第一个RSFF0为例来分析。

触发器正下方有一个4输入的或门,这个或门提供了触发器的置位信号,送到了S端。然后将这个或门的输出经过非门反向后送到了R端,这是为了保证R、S不能同时为1,满足RS触发器的工作条件。然后这个或门有四个输入端,分别来自4个3输入的与门。其实在同一时刻仅有一个信号能够送到或门,这是由于控制端S0、S1组成了一个数据选择器,每次只让一个与门导通。这四个与门从左到右分别代表了右移信号、并行传送信号、保持信号以及左移信号,它们的导通取决于控制端S2、S0的信号。触发器的输出端首先通过一个延时器,然后分别送往三个地方,第一个地方是自己下方的4与门阵列的第三个,形成保持信号;第二个地方是右边的4与门阵列的第一个,用来提供右移信号;第三个地方是左边4与门阵列的第四个,用来提供左移信号。

在完成连线后,把整个电路圈起来,单击“Edit”菜单下的“Creat Subsystem”命令,生成一个子系统,并命名为Dmreg。

第二步:封装子系统

要封装上面刚刚建立好的Dmreg模块,先选中子系统,然后在编辑菜单下选择封装子系统(Mask Subsystem)命令,这时将会出现一个对话框:Mask Editor,将对话框中的参数设置好模块就封装好了。

3.3双向移位寄存器仿真

在完成了Dmreg模块的封装后,再来设置一下外围电路。首先要4个并行输入以及两个串行输入提供6个脉冲源(Pulse Generator),参数设置如表4所示。然后要为时钟触发端CLK提供一个时钟源(Clock)。接着还需要一个5输入的示波器(Scope),显示4个输出信号和时钟波形。

表4 Dmreg的脉冲源参数设置

D0 D1 D2 D3

Left

IN

Righ tIN

幅度 1 1 1 1 1 1 周期 3 4 5 2 5 3 脉宽 1 3 1 1 3 1 相位

延迟

0 0 0 0 0 0

抽样

时间

0.3 0.2 0.6 0.6 0.15 0.4

最后为3个控制端设置输入。由于S1、S0的四种输入确定了Dmreg的功能,所以这里引入“手动开关”模块(Mannual Switch)。从图中可看到手动开关模块有两个输入,一个输出,每次双击这个模块,就会在两个输入之间切换,将不同的信号送到输出端。这样就可以通过双击开关来方便地控制信号S1、S0的值,从而改变Dmreg的工作状态。

至此已经完成所有的设置,将仿真时间修改为0到20秒,接着通过双击开关将S1、S0置成11,然后点击工具栏上的“运行”图标,开始仿真。可以看到并行输出的波形如图8所示。然后通过双击开关S1、S0置成01,观察数据右移的波形,如图9所示。然后通过双击开关S1、S0置成10,观察数据左移的波形,如图10所示。从这些波形图中可以看到,Dmreg的各种功能都得到了实现。

图8 Dmreg并行输出波形

图9 Dmreg串行右移输出波形

图10 Dmreg串行左移输出波形

4设计心得

通过此次课程设计,学会了使用simulink实现时序逻辑电路的仿真。不仅了解了MATLAB的强大的仿真功能,而且复习巩固了之前学的数字电子电路技术的知识。

在时序逻辑电路仿真的过程中,频繁地使用到了Simulink中的触发器模块,位于模块库的Simulink Extra子模块库的flip flop组里面。数字电路在MATLAB 中仿真没有特别的技巧,只需要在模块库中找到所需要的器件,然后连电路观察仿真波形即可。其中有些需要注意的问题,例如,在simulink中仿真时,由于这些模块都是理想的,所以信号通过任何一个模块都是没有所谓的“延时”的。而设计移位寄存器的关键就是利用了触发器的延时特性,所以在这里不能按照逻辑电路直接设计这个寄存器。必须在两级触发器之间插入一个延时单元,人为地

实现触发器的延时功能。

5参考文献

[1]MATLAB及在电子信息课程中的应用,陈怀琛主编,电子工业出版社,2003.07(第二版)

[2]MATLAB与通信仿真,王立宁等编,人民邮电出版社,2000.04

[3]精通MATLAB6.5版,张志涌编,北京航空航天大学出版社,2003.03(第一版)

[4]高吉祥,数字电子技术. 北京:电子工业出版社

[5]李玲远,范绿蓉,陈小宇. 电子技术基础实验. 北京:科学出版社

matlab通信系统仿真

通信系统基于(15,11)汉明编码的matlab仿真 clear m=4; n=2^m-1; k=11; msg1=randint(1,6000*k,[0,1])%产生信息序列 code0=vec2mat(msg1,k); code1=encode(msg1,n,k,'hamming/binary');%进行汉明纠错编码 code2=reshape(code1,90,1000)'; code3=zeros(1000,90);%设置零矩阵,以便储存交织后的序列 for i=1:1000 temp=code2(i,:); temp1=reshape(temp,15,6);%按15*6交织 code3(i,:)=reshape(temp1',1,90); end [row,cloums]=size(code3); code4=code3'; [row1,cloums1]=size(code4); code5=reshape(code4,6,15000)'; %将交织后的序列转换为6行,15000列矩阵msg2=zeros(15000,6); for j=2:6, msg2(:,j)=xor(code5(:,j),code5(:,(j-1))); end msg2(:,1)=code5(:,1);%此时得到的msg2为gray映射后的信号序列 code8=msg2';%转置,便于比特符号转换 A=[32,16,8,4,2,1]; %为比特符合转换所设的序列 msg3=A*code8;%生成符号序列 msg4=qammod(msg3,64);%将符号序列进行64QAM调制 [row2,cloums2]=size(msg4); dB=0:1:20; for k=1:length(dB), snr=10.^(dB(k)./10); %信噪比 sgma=sqrt(63./(6*snr));%标准差 b1=real(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声 b2=imag(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声 rx=complex(b1,b2); %————————量化判决——————————% for m=1:row2, for n=1:cloums2, if ((b1(m,n)<-6)) b11(m,n)=-7;

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

排队系统仿真matlab实验报告

M/M/1排队系统实验报告 一、实验目的 本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。 二、实验原理 根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。 1、 顾客到达模式 设到达过程是一个参数为λ的Poisson 过程,则长度为t 的时间内到达k 个呼叫的概 率 服从Poisson 分布,即e t k k k t t p λλ-=!)()(,?????????=,2,1,0k ,其中λ>0为一常数,表示了 平均到达率或Poisson 呼叫流的强度。 2、 服务模式 设每个呼叫的持续时间为i τ,服从参数为μ的负指数分布,即其分布函数为{}1,0t P X t e t μ-<=-≥ 3、 服务规则 先进先服务的规则(FIFO ) 4、 理论分析结果 在该M/M/1系统中,设 λρμ=,则稳态时的平均等待队长为1Q ρλρ=-,顾客的平均等待时间为T ρ μλ=-。 三、实验内容 M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO (先入先出队列)方式服务。 四、采用的语言 MatLab 语言 源代码: clear; clc;

%M/M/1排队系统仿真 SimTotal=input('请输入仿真顾客总数SimTotal='); %仿真顾客总数;Lambda=0.4; %到达率Lambda; Mu=0.9; %服务率Mu; t_Arrive=zeros(1,SimTotal); t_Leave=zeros(1,SimTotal); ArriveNum=zeros(1,SimTotal); LeaveNum=zeros(1,SimTotal); Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间 t_Arrive(1)=Interval_Arrive(1);%顾客到达时间 ArriveNum(1)=1; for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i); ArriveNum(i)=i; end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1; for i=2:SimTotal if t_Leave(i-1)

信号与系统的MATLAB仿真

信号与系统的MATLAB 仿真 一、信号生成与运算的实现 1.1 实现)3(sin )()(π±== =t t t t S t f a )(sin )sin()sin(sin )()(t c t t t t t t t S t f a '=' '== ==πππ π ππ m11.m t=-3*pi:0.01*pi:3*pi; % 定义时间范围向量t f=sinc(t/pi); % 计算Sa(t)函数 plot(t,f); % 绘制Sa(t)的波形 运行结果: 1.2 实现)10() sin()(sin )(±== =t t t t c t f ππ m12.m t=-10:0.01:10; % 定义时间范围向量t f=sinc(t); % 计算sinc(t)函数 plot(t,f); % 绘制sinc(t)的波形 运行结果: 1.3 信号相加:t t t f ππ20cos 18cos )(+= m13.m syms t; % 定义符号变量t f=cos(18*pi*t)+cos(20*pi*t); % 计算符号函数f(t)=cos(18*pi*t)+cos(20*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果:

1.4 信号的调制:t t t f ππ50cos )4sin 22()(+= m14.m syms t; % 定义符号变量t f=(2+2*sin(4*pi*t))*cos(50*pi*t) % 计算符号函数f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果: 1.5 信号相乘:)20cos()(sin )(t t c t f π?= m15.m t=-5:0.01:5; % 定义时间范围向量 f=sinc(t).*cos(20*pi*t); % 计算函数f(t)=sinc(t)*cos(20*pi*t) plot(t,f); % 绘制f(t)的波形 title('sinc(t)*cos(20*pi*t)'); % 加注波形标题 运行结果:

MATLAB与系统仿真

学习中心/函授站_ 成都学习中心 姓名赵洪学号7020140122093 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1? ×25=25?) 1、Matlab的全称为矩阵实验室。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:菜单栏、 工具栏、当前工作目录窗口、工作空间管理窗口和命令窗口。 4、在Matlab中inf表示:无穷大;clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlad内存变量名;whos表示:列出当前工作空间所有变量。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:没有指定输出变量名;eps表示:系统精度 ;nargin表示:函数输入参数的个数。 8、Matlab提供了两种方法进行程序分析和优化,分别为:通过Profiler工具优化和通过tic和toc函数进行优化。 9、建立结构数组或转换结构数组的函数为:struct ; 实现Fourier变换在Matlab中的对应函数为:fourier() ;Laplace变换的函数:Laplace() 。

queuing modeling排队论的matlab仿真(包括仿真代码)

Wireless Network Experiment Three: Queuing Theory ABSTRACT This experiment is designed to learn the fundamentals of the queuing theory. Mainly about the M/M/S and M/M/n/n queuing MODELS. KEY WORDS: queuing theory, M/M/s, M/M/n/n, Erlang B, Erlang C. INTRODUCTION A queue is a waiting line and queueing theory is the mathematical theory ofwaiting lines.More generally, queueing theory is concerned with the mathematical modeling and analysisof systems that provide service to random demands. Incommunication networks, queues are encountered everywhere. For example, theincoming data packets are randomly arrived and buffered, waiting for the routerto deliver. Such situation is considered as a queue. A queueing model is an abstract description of such a system. Typically, a queueing model represents (1) thesystem's physical configuration, by specifying the number and arrangement of theservers, and (2) the stochastic nature of the demands, by specifying the variabilityin the arrival process and in the service process. The essence of queueing theory is that it takes into account the randomness ofthe arrival process and the randomness of the service process. The most commonassumption about the arrival process is that the customer arrivals follow a Poisson process, where the times between arrivals are exponentially distributed. Theprobability of the exponential distribution function

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

matlab单服务台排队系统实验报告

matlab 单服务台排队系统实验报告 一、实验目的 本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。 二、实验原理 根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。 1、 顾客到达模式 设到达过程是一个参数为λ的Poisson 过程,则长度为t 的时间内到达k 个呼 叫的概率 服从Poisson 分布,即 e t k k k t t p λλ-= !)()(,?????????=,2,1,0k ,其中λ>0为一 常数,表示了平均到达率或Poisson 呼叫流的强度。 2、 服务模式 设每个呼叫的持续时间为i τ,服从参数为μ的负指数分布,即其分布函数为 {}1,0t P X t e t μ-<=-≥ 3、 服务规则 先进先服务的规则(FIFO ) 4、 理论分析结果 在该M/M/1系统中,设λρμ= ,则稳态时的平均等待队长为1Q ρλ ρ= -,顾客 的平均等待时间为 T ρμλ= -。 三、实验内容 M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服 从负指数分布,单服务台系统,单队排队,按FIFO 方式服务。 四、采用的语言 MatLab 语言 源代码: clear; clc; %M/M/1排队系统仿真

SimTotal=input('请输入仿真顾客总数SimTotal='); %仿真顾客总数;Lambda=0.4; %到达率Lambda; Mu=0.9; %服务率Mu; t_Arrive=zeros(1,SimTotal); t_Leave=zeros(1,SimTotal); ArriveNum=zeros(1,SimTotal); LeaveNum=zeros(1,SimTotal); Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间 t_Arrive(1)=Interval_Arrive(1);%顾客到达时间 ArriveNum(1)=1; for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i); ArriveNum(i)=i; end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1; for i=2:SimTotal if t_Leave(i-1)

自控-二阶系统Matlab仿真

自动控制原理 二阶系统性能分析Matlab 仿真大作业附题目+ 完整报告内容

设二阶控制系统如图1所示,其中开环传递函数 ) 1(10 )2()(2+=+=s s s s s G n n ξωω 图1 图2 图3 要求: 1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则和 分别取多少? 解: 由)1(10 )2()(2 += +=s s s s s G n n ξωω得10 21,10,102===ξωωn t K d T

对于测速反馈控制,其开环传递函数为:) 2()s (2 2n t n n K s s G ωξωω++=; 闭环传递函数为:2 2 2)2 (2)(n n n t n s K s s ωωωξωφ+++= ; 所以当n t K ωξ2 1+=0.707时,347.02)707.0(t =÷?-=n K ωξ; 对于比例微分控制,其开环传递函数为:)2()1()(2 n n d s s s T s G ξωω++=; 闭环传递函数为:) )2 1(2)1()(2 22 n n n d n d s T s s T s ωωωξωφ++++=; 所以当n d T ωξ2 1 +=0.707时,347.02)707.0(=÷?-=n d T ωξ; 2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解: ①图一的闭环传递函数为: 2 22 2)(n n n s s s ωξωωφ++=,10 21 ,10n ==ξω Matlab 代码如下: clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12; Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)

系统仿真的MATLAB实现.

第七章系统仿真的MATLAB实现 由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。 MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。 MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。 下面介绍在MATLAB上实现几类基本仿真。 7.1 计算机仿真的步骤 在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。 计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:

(1)列举并列项目 每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。 (2)设置目标及完整的项目计划 目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。 (3)建立模型和收集数据 模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。 (4)编制程序和验证 利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。 (5)确认 确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。 (6)实验设计 确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重复次数。 (7)生产性运行和分析 通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。 (8)文件清单和报表结果 (9)实现

09级系统仿真与MATLAB语言实验

系统仿真与MATLAB语言 实验指导书

对参加实验学生的总要求 1、认真复习有关理论知识,明确每次实验目的,了解实验相关软件操作,熟悉实验内容和方法。 2、实验过程中注意仔细观察,认真记录有关数据和图像,并经由指导教师查验后方可结束实验。 3、应严格遵守实验室规章制度,服从实验室教师的安排和管理。 4、对实验仪器的操作使用严格按照实验室要求进行。

实验总要求 1、封面:注明实验名称、实验人员班级、学号(全号)和姓名等。 2、内容方面:注明实验所用设备、仪器及实验步骤方法;记录清楚实验所得的原始数据和图像,并按实验要求绘制相关图表、曲线或计算相关数据;认真分析所得实验结果,得出明确实验结论。并注明该结论所依据的原理和理论;对实验进行反馈回顾,总结出实验方法要领和注意事项,对实验失败的原因进行分析剖解,总结出实验的经验和教训。 3、文字方面,撰写规范,杜绝错别字。 4、杜绝抄袭,杜绝提供不真实的实验内容。

实验一 MATLAB 语言工作环境和基本操作 1 实验目的 1).熟悉MATLAB 的开发环境; 2).掌握MATLAB 的一些常用命令; 3).掌握矩阵、变量、表达式的输入方法及各种基本运算。 2 实验器材 计算机WinXP 、Matlab7.0软件 3 实验内容 (1). 输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2;3 3 3], 在命令窗口中执行下列表达式,掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A (2).输入 C=1:2:20,则 C (i )表示什么?其中 i=1,2,3,…,10; (3)掌握MA TLAB 常用命令 >> who %列出工作空间中变量 >> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量 >>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称 如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。 (4) 在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ (5). 试用 help 命令理解下面程序各指令的含义: clear t =0:0.001:2*pi; subplot(2,2,1); polar(t, 1+cos(t)) subplot(2,2,2); plot(cos(t).^3,sin(t).^3) subplot(2,2,3); polar(t,abs(sin(t).*cos(t))) subplot(2,2,4); polar(t,(cos(2*t)).^0.5) (6)(选做)设计M 文件计算: x=0:0.1:10 当sum>1000时停止运算,并显示求和结果及计算次数。 i i i x x sum 2100 2 -= ∑ =

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为: ) ()()()(1 )(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,(); ,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

MATLABsimulink系统仿真分析仿真报告

仿真报告 课程名称:自动化技术导论 报告题目:MATLAB/simulink系统仿真分析 班级 姓名 学号 xxxxxx自动化学院 2016年4月 软件版本:MATLAB R2010b MATLAB强处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 MATLAB图形处理 MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。MATLAB程序接口

二阶系统matlab仿真

simulink仿真 -1<ξ<0 >> step(tf(4^2,[1,2*(-0.5)*4,4^2])) ξ<-1 >> step(tf(4^2,[1,2*(-1.5)*4,4^2])) ξ=0 >> step(tf(4^2,[1,2*0*4,4^2])) 0<ξ<1 >> figure >> step(tf(4^2,[1,2*0.1*4,4^2])) >> step(tf(4^2,[1,2*0.2*4,4^2])) >> step(tf(4^2,[1,2*0.3*4,4^2])) >> step(tf(4^2,[1,2*0.4*4,4^2])) >> step(tf(4^2,[1,2*0.5*4,4^2])) >> step(tf(4^2,[1,2*0.6*4,4^2])) >> step(tf(4^2,[1,2*0.7*4,4^2])) >> step(tf(4^2,[1,2*0.8*4,4^2])) >> step(tf(4^2,[1,2*0.9*4,4^2])) ωn不变,ζ减小

ξ=1 >> figure >> step(tf(4^2,[1,2*1*4,4^2])) ξ>1 >> hold on >> step(tf(4^2,[1,2*2.0*4,4^2])) >> step(tf(4^2,[1,2*4.0*4,4^2])) >> step(tf(4^2,[1,2*8.0*4,4^2])) ωn不变,ζ减小 ξ=0.5,改变ωn时的情况: >> figure >> step(tf(1^2,[1,2*0.5*1,1^2])) (ωn=1)

>> hold on >> step(tf(2^2,[1,2*0.5*2,2^2])) (ωn=2)>> step(tf(4^2,[1,2*0.5*4,4^2])) (ωn=4)>> step(tf(8^2,[1,2*0.5*8,8^2])) (ωn=8) ζ不变,ωn增大 曲线拟合程序 >> figure >> x=[0,0.2,0.4,0.6,0.8,1.0,1.2]; >> y=[1.135,1.135,1.216,1.351,1.534,1.737,2.0,]; >> plot(x,y,'.') >> hold on >> x1=[0:0.1:1.2]; >> y1=1+0.6*x1+0.2*x1.^2; >> plot(x1,y1) >> y1=1+0.7*x1; >> plot(x1,y1)

一阶、二阶系统时域和频域仿真

西安交通大学 基于MATLAB/Simulink 的一阶、二阶系统的时域和频 域仿真 ——以单位阶跃信号为输入信号 日期:2013年4月 一阶系统时域和频域仿真 1、建立一阶系统典型数学模型 ()1 1 G s Ts =+ 2、建立simulink 仿真方框图

1T.s+1 Transfer Fcn Step Scope ① 时间常数T=1时,一阶系统时域响应为 12345678 910 00.5 1 一阶系统时域相应(T=1) Matlab 程序: %一阶系统仿真编程 num=[1]; den=[1 1]; bode(num,den); grid on ; gtext('低频段频率-20dB/dec'); 运行程序,有时间常数T=1时,一阶系统的频域响应为

10 -210 -1 10 10 1 10 2 -90-45 一阶系统频域响应 P h a s e (d e g ) Bode Di a gram Frequency (rad/s) -40-30-20-100 低频段斜率-20dB/dec System: sys Frequency (rad/s): 1.01Magni t ude (dB): -3.07 M a g n i t u d e (d B ) ② 时间常数T=3时,一阶系统单位阶跃时域响应 12345678910 00.5 1 一阶系统单位阶跃响应(T=3) Matlab 程序: %一阶系统仿真编程 num=[1]; den=[3 1]; bode(num,den);

grid on ; gtext('低频段频率-20dB/dec'); 运行程序,有时间常数T=3时,一阶系统的频域响应为 10 -210 -1 10 10 1 -90-45 P h a s e (d e g ) Bode Di a gram Frequency (rad/s) -30-20-100 低频段频率-20dB/dec System: sys Frequency (rad/s): 0.334Magni t ude (dB): -3.03 M a g n i t u d e (d B ) 3、分析以上一阶系统在不同时间常数下的单位阶跃响应,可以看出时间常数越小,系统响应越快;而且一阶系统的转角频率为1/T ,在转角频率以上时,幅频特性曲线以-20dB/dec 下降,而相频特性以0°和90°为渐近线。

基于matlab的通信系统仿真

创新实践报告 报告题目: 基于matlab的通信系统仿真学院名称: 信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究与产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术与工具才能实现。在这种迫切的需求之下,MA TLAB应运而生。它使得通信系统仿真的设计与分析过程变得相对直观与便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性与极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示: 二、仿真分析与测试 (1)随机信号的生成 利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p

p=0、5; source=randsrc(1,N,[1,0;p,1-p]); (2)信道编译码 1、卷积码的原理 卷积码(convolutional code)就是由伊利亚斯(p 、Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。 卷积码在编码时将k 比特的信息段编成n 个比特的码组,监督码元不仅与当前的k 比特信息段有关,而且还同前面m=(N-1)个信息段有关。 通常将N 称为编码约束长度,将nN 称为编码约束长度。一般来说,卷积码中k 与n 的值就是比较小的整数。将卷积码记作(n,k,N)。卷积码的编码流程如下所示。 可以瞧出:输出的数据位V1,V2与寄存器D0,D1,D2,D3之间的关系。根据模2加运算特点可以得知奇数个1模2运算后结果仍就是1,偶数个1模2运算后结果就是0。 2、译码原理 卷积码译码方法主要有两类:代数译码与概率译码。代数译码主要根据码本身的代数特性进行译码,而信道的统计特性并没有考虑在内。目前,代数译码的主要代表就是大数逻辑解码。该译码方法对于约束长度较短的卷积码有较好的效果,并且设备较简单。概率译码,又称最大似然译码,就是基于信道的统计特性与卷积 码的特点进行计算。在现代通信系统中,维特比译码就是目前使用最广泛的概率 译码方法。 02 1V D D =⊕01232V D D D D =⊕⊕⊕

相关文档
最新文档