当前位置:文档之家› 计算机仿真期末大作业Mersenne Twister随机数发生器及随机性测试

计算机仿真期末大作业Mersenne Twister随机数发生器及随机性测试

计算机仿真期末大作业Mersenne Twister随机数发生器及随机性测试
计算机仿真期末大作业Mersenne Twister随机数发生器及随机性测试

Mersenne Twister随机数发生器及随机性测试

一、实验目的

用MATLAB实现Mersenne Twister随机数发生器,并对其随机性进行测试。二、实验原理

伪随机数的产生,首先是选取种子,然后是在此种子基础上根据具体的生成算法计算得到一个伪随机数,然后利用此伪随机数再根据生成算法递归计算出下二个伪随机数,直到将所有不重复出现的伪随机数全部计算出来。这个伪随机数序列就是以后要用到的伪随机数序列。上面的计算过程可以一次性计算完毕,也可以使用一次递归计算一次,每次生成的伪随机数就是这个伪随机数序列中的一个,不过不管怎么样,只要确定了种子,确定了生成算法,这个序列就是确定的了。所谓种子,就是一个对伪随机数计算的初始值。

Mersenne Twister算法是一种随机数产生方法,它是移位寄存器法的变种。该算法的原理:Mersenne Twister算法是利用线性反馈移位寄存器(LFSR)产生随机数的,LFSR的反馈函数是寄存器中某些位的简单异或,这些位也称之为抽头序列。一个n位的LFSR能够在重复之前产生2^n-1位长的伪随机序列。只有具有一定抽头序列的LFSR才能通过所有2^n-1个内部状态,产生2^n - 1位长的伪随机序列,这个输出的序列就称之为m序列。为了使LFSR成为最大周期的LFSR,由抽头序列加上常数1形成的多项式必须是本原多项式。一个n阶本原多项式是不可约多项式,它能整除x^(2*n-1)+1而不能整除x^d+1,其中d能整除2^n-1。例如(32,7,5,3,2,1,0)是指本原多项式x^32+x^7+x^5+x^3+x^2+x+1,把它转化为最大周期LFSR就是在LFSR小邓第32,7,5,2,1位抽头。利用上述两种方法产生周期为m的伪随机序列后,只需要将产生的伪随机序列除以序列的周期,就可以得到(0,1)上均匀分布的伪随机序列了。

伪代码如下:

// 建立624位随机序列数组

int[0..623] MT

int index = 0

//初始化随机序列数组

function initializeGenerator(int seed) {

MT[0] := seed

for i from 1 to 623 {

MT[i] := last 32 bits of(1812433253 * (MT[i-1] xor(right shift by 30 bits(MT[i-1]))) + i) // 0x6c078965

}

}

//根据index的值提取数组中的某个数来生成随机数

// 每624个数调用一次generateNumbers() 函数

function extractNumber() {

if index == 0 {

generateNumbers()

}

int y := MT[index]

y := y xor (right shift by 11 bits(y))

y := y xor(left shift by 7 bits(y) and (2636928640)) // 0x9d2c5680 y := y xor(left shift by 15 bits(y) and(4022730752)) // 0xefc60000 y := y xor (right shift by 18 bits(y))

index := (index + 1) mod 624

return y

}

//产生随机数

function generateNumbers() {

for i from 0 to 623 {

int y := 32nd bit of(MT[i]) + last 31 bits of(MT[(i+1) mod624]) MT[i] := MT[(i + 397) mod 624] xor (right shift by 1 bit(y)) if (y mod 2) != 0 { // y is odd

MT[i] := MT[i] xor (2567483615) // 0x9908b0df

}

}

}

三、程序结构说明

函数的伪代码已经在实验原理中给出。

1,main.m文件:

输入随机序列的种子(默认为1);输入随机码个数(默认为100)。

调用initializeGenerator函数,初始化随机序列数组。

调用extractNumber()函数生成M个随机序列,存储到result中。

进行随机性测试,画出随机数分布图。

2,initializeGenerator.m文件:

initializeGenerator函数:初始化随机序列数组的长度和值

3,extractNumber.m文件:

extractNumber()函数:根据index的值提取数组中的某个数,调用generateNumbers()函数来生成随机数

4,generateNumbers.m文件:

generateNumbers()函数:产生随机数

四、代码:

五、结果及分析

1.输入随机序列种子和随机码个数:

2.随机码的分布图如下

六、心得体会

MT算法的中文资料很罕见,很多教材、参考书上在讲述随机数发生器时只提到线性同余算法,所以在理解实验原理时遇到了很大困难。

后来终于查找到了关于MT算法的外文资料,认真阅读后消除了编写代码前的障碍。

本实验中用到了MT19937,这是MT的一种变体,可以产生32位整数序列。具有以下的优点:

有219937? 1的非常长的周期。在许多软件包中的短周期—232随机数产生器在一个长周期中不能保证生成随机数的质量。

在1 ≤k≤ 623的维度之间都可以均等分布(参见定义).

除了在统计学意义上的不正确的随机数生成器以外,在所有伪随机数生成器法中是最快的(当时)

计算机仿真课程设计报告

、 北京理工大学珠海学院 课程设计任务书 2010 ~2011 学年第 2学期 学生姓名:林泽佳专业班级:08自动化1班指导教师:钟秋海工作部门:信息学院一、课程设计题目 : 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。 二、课程设计内容 (一)《控制系统建模、分析、设计和仿真》课题设计内容|

! " [2 有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 (二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】 , 1、求被控对象传递函数G(s)的MATLAB描述。(2分) 2、求被控对象脉冲传递函数G(z)。(4分) 3、转换G(z)为零极点增益模型并按z-1形式排列。(2分) 4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳 定的要求。(8分)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 (3分) ! 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分) 9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。 (8分) 10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际 闭环系统稳定的要求。(8分) 12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分) 14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分) 15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。 & (8分) 16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分) 三、进度安排 6月13至6月14:下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。 6月14至6月16:编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、 仿真结果,撰写课程设计说明书。 6月16至6月17:完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答 辩总结。 [ 四、基本要求

通信对抗原理大作业题目

通信对抗原理仿真大作业题目 基本要求:仿真大作业分组完成,每个组3~5人,至少选择4个题目,并且在每一类中至少选择一个题目。利用MATLAB完成计算机仿真,并且撰写仿真实验报告。大作业完成情况将作为评价平时成绩的依据。 第一类:测频方法仿真 1.FFT法数字测频技术仿真。仿真模拟通信信号或者数字通信信号三种以上, 基于FFT法进行载波频率测量。画出信号的时域、频域波形,给出FFT法测量的结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比与测量误差的关系。 2.互相关法数字测频技术仿真。仿真模拟通信信号或者数字通信信号三种以上, 基于互相关法进行载波频率测量。画出信号的时域、频域波形,给出测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比与测量误差的关系。 3.相位差分法数字测频技术仿真。仿真模拟通信信号或者数字通信信号三种以 上,基于相位差分法法进行载波频率测量。画出信号的时域、频域波形,给出测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比与测量误差的关系。 第二类:测向方法仿真 4.相位干涉仪测向方法仿真。仿真模拟通信信号或者数字通信信号两种以上, 基于相位干涉仪测向方法,对不同方向到达的通信信号进行测向。画出信号的时域、频域波形,给出到达方向测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比、到达角与测量误差的关系。 5.到达时差测向方法仿真。仿真模拟通信信号或者数字通信信号两种以上,基 于到达时差测向方法,对不同方向到达的通信信号进行测向。画出信号的时域、频域波形,观察相关函数,给出测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比、到达角与测量误差的关系。6.多普勒测向方法仿真。仿真模拟通信信号或者数字通信信号两种以上,基于 多普勒测向方法,对不同方向到达的通信信号进行测向。画出信号的时域、频域波形,给出测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比、到达角与测量误差的关系。 7.沃森-瓦特测向方法仿真。仿真模拟通信信号或者数字通信信号两种以上,基 于沃森-瓦特测向方法,对不同方向到达的通信信号进行测向。画出信号的时域、频域波形,给出测量结果。进一步在0-20dB信噪比条件给出不同信噪比下的测量曲线,分析信噪比、到达角与测量误差的关系。 第三类:信号处理技术仿真 8.信号带宽和幅度测量方法仿真。仿真模拟通信信号或者数字通信信号三种以 上,基于FFT法进行信号带宽、信号相对幅度测量。画出信号的时域、频域

计算机仿真与建模实验报告

中南大学 计算机仿真与建模 实验报告 题目:理发店的服务过程仿真 姓名:XXXX 班级:计科XXXX班 学号:0909XXXX 日期:2013XXXX

理发店的服务过程仿真 1 实验案例 (2) 1.1 案例:理发店系统研究 (2) 1.1.1 问题分析 (3) 1.1.2 模型假设 (3) 1.1.3 变量说明 (3) 1.1.4 模型建立 (3) 1.1.5 系统模拟 (4) 1.1.6 计算机模拟算法设计 (5) 1.1.7 计算机模拟程序 (6) 1实验案例 1.1 案例:理发店模拟 一个理发店有两位服务员A和B顾客随机地到达该理发店,每分钟有一个顾客到达和没有顾客到达的概率均是1/2 , 其中60%的顾客理发仅用5分钟,另外40%的顾客用8分钟. 试对前10分钟的情况进行仿真。 (“排队论”,“系统模拟”,“离散系统模拟”,“事件调度法”)

1.1.1 问题分析 理发店系统包含诸多随机因素,为了对其进行评判就是要研究其运行效率, 从理发店自身利益来说,要看服务员工作负荷是否合理,是否需要增加员工等考 虑。从顾客角度讲,还要看顾客的等待时间,顾客的等待队长,如等待时间过长 或者等待的人过多,则顾客会离开。理发店系统是一个典型的排队系统,可以用 排队论有关知识来研究。 1.1.2 模型假设 1. 60%的顾客只需剪发,40%的顾客既要剪发,又要洗发; 2. 每个服务员剪发需要的时间均为5分钟,既剪发又洗发则花8分钟; 3. 顾客的到达间隔时间服从指数分布; 4. 服务中服务员不休息。 1.1.3 变量说明 u :剪发时间(单位:分钟),u=5m ; v: 既剪发又理发花的时间(单位:分钟),v=8m ; T : 顾客到达的间隔时间,是随机变量,服从参数为λ的指数分布,(单位: 分钟) T 0:顾客到达的平均间隔时间(单位:秒),T 0=λ 1; 1.1.4 模型建立 由于该系统包含诸多随机因素,很难给出解析的结果,因此可以借助计算机 模拟对该系统进行模拟。 考虑一般理发店的工作模式,一般是上午9:00开始营业,晚上10:00左 右结束,且一般是连续工作的,因此一般营业时间为13小时左右。 这里以每天运行12小时为例,进行模拟。 这里假定顾客到达的平均间隔时间T 0服从均值3分钟的指数分布, 则有 3小时到达人数约为603 603=?人, 6小时到达人数约为1203 606=?人, 10小时到达人数约为2003 6010=?人, 这里模拟顾客到达数为60人的情况。 (如何选择模拟的总人数或模拟总时间)

Simulink系统仿真课程设计

《信息系统仿真课程设计》 课程设计报告 题目信息系统课程设计仿真 院(系): 信息科学与技术工程学院 专业班级:通信工程1003 学生姓名: 学号: 指导教师:吴莉朱忠敏 2012年1 月14 日至2012年1 月25 日 华朴中科技大学武昌分校制 信息系统仿真课程设计任务书

20 年月日 目录 摘要 (5)

一、Simulink 仿真设计 (6) 1.1 低通抽样定理 (6) 1.2 抽样量化编码 (9) 二、MATLA仿真设计 (12) 2.1 、自编程序实现动态卷积 (12) 2.1.1 编程分析 (12) 2.1.2 自编matlab 程序: (13) 2.1.3 仿真图形 (13) 2.1.4 仿真结果分析 (15) 2.2 用双线性变换法设计IIR 数字滤波器 (15) 2.2.1 双线性变换法的基本知识 (15) 2.2.2 采用双线性变换法设计一个巴特沃斯数字低通滤波器 (16) 2.2.3 自编matlab 程序 (16) 2.2.4 仿真波形 (17) 2.2.5 仿真结果分析 (17) 三、总结 (19) 四、参考文献 (19) 五、课程设计成绩 (20) 摘要 Matlab 是一种广泛应用于工程设计及数值分析领域的高级仿真平台。它功能

强大、简单易学、编程效率高,目前已发展成为由MATLAB 语言、MATLAB 工作环境、MATLAB 图形处理系统、MATLAB 数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。本次课程设计主要包括MATLAB 和SIMULINKL 两个部分。首先利用SIMULINKL 实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。然后利用SIMULINKL 实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A 律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM 编码器对一连续信号进行编码。最后利用MATLAB 进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR 数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。

计算机仿真期末大作业Mersenne Twister随机数发生器及随机性测试

Mersenne Twister随机数发生器及随机性测试 一、实验目的 用MATLAB实现Mersenne Twister随机数发生器,并对其随机性进行测试。二、实验原理 伪随机数的产生,首先是选取种子,然后是在此种子基础上根据具体的生成算法计算得到一个伪随机数,然后利用此伪随机数再根据生成算法递归计算出下二个伪随机数,直到将所有不重复出现的伪随机数全部计算出来。这个伪随机数序列就是以后要用到的伪随机数序列。上面的计算过程可以一次性计算完毕,也可以使用一次递归计算一次,每次生成的伪随机数就是这个伪随机数序列中的一个,不过不管怎么样,只要确定了种子,确定了生成算法,这个序列就是确定的了。所谓种子,就是一个对伪随机数计算的初始值。 Mersenne Twister算法是一种随机数产生方法,它是移位寄存器法的变种。该算法的原理:Mersenne Twister算法是利用线性反馈移位寄存器(LFSR)产生随机数的,LFSR的反馈函数是寄存器中某些位的简单异或,这些位也称之为抽头序列。一个n位的LFSR能够在重复之前产生2^n-1位长的伪随机序列。只有具有一定抽头序列的LFSR才能通过所有2^n-1个内部状态,产生2^n - 1位长的伪随机序列,这个输出的序列就称之为m序列。为了使LFSR成为最大周期的LFSR,由抽头序列加上常数1形成的多项式必须是本原多项式。一个n阶本原多项式是不可约多项式,它能整除x^(2*n-1)+1而不能整除x^d+1,其中d能整除2^n-1。例如(32,7,5,3,2,1,0)是指本原多项式x^32+x^7+x^5+x^3+x^2+x+1,把它转化为最大周期LFSR就是在LFSR小邓第32,7,5,2,1位抽头。利用上述两种方法产生周期为m的伪随机序列后,只需要将产生的伪随机序列除以序列的周期,就可以得到(0,1)上均匀分布的伪随机序列了。 伪代码如下: // 建立624位随机序列数组 int[0..623] MT int index = 0 //初始化随机序列数组 function initializeGenerator(int seed) { MT[0] := seed for i from 1 to 623 { MT[i] := last 32 bits of(1812433253 * (MT[i-1] xor(right shift by 30 bits(MT[i-1]))) + i) // 0x6c078965 } }

计算机仿真实验-基于Simulink的简单电力系统仿真

实验七 基于Simulink 的简单电力系统仿真实验 一. 实验目的 1) 熟悉Simulink 的工作环境及SimPowerSystems 功能模块库; 2) 掌握Simulink 的的powergui 模块的应用; 3) 掌握发电机的工作原理及稳态电力系统的计算方法; 4)掌握开关电源的工作原理及其工作特点; 5)掌握PID 控制对系统输出特性的影响。 二.实验内容与要求 单机无穷大电力系统如图7-1所示。平衡节点电压0 44030 V V =∠? 。负荷功率10L P kW =。线路参数:电阻1l R =Ω;电感0.01l L H =。发电机额定参数:额定功率100n P kW =;额定电压440 3 n V V =;额定励磁电流 70 fn i A =;额定频率50n f Hz =。发电机定子侧参数:0.26s R =Ω, 1 1.14 L mH =,13.7 md L mH =,11 mq L mH =。发电机转子侧参数:0.13f R =Ω,1 2.1 fd L mH =。发电机阻尼绕组参数:0.0224kd R =Ω, 1 1.4 kd L mH =,10.02kq R =Ω,11 1 kq L mH =。发电机转动惯量和极对数分别 为224.9 J kgm =和2p =。发电机输出功率050 e P kW =时,系统运行达到稳态状态。在发电机输出电磁功率分别为170 e P kW =和2100 e P kW =时,分析发电机、平衡节点电源和负载的电流、电磁功率变化曲线,以及发电机转速和功率角的变化曲线。

G 发电机节点 V 负 荷 l R l L L P 图 7.1 单机无穷大系统结构图 输电线路 三.实验步骤 1. 建立系统仿真模型 同步电机模块有2个输入端子、1个输出端子和3个电气连接端子。模块的第1个输入端子(Pm)为电机的机械功率。当机械功率为正时,表示同步电机运行方式为发电机模式;当机械功率为负时,表示同步电机运行方式为电动机模式。在发电机模式下,输入可以是一个正的常数,也可以是一个函数或者是原动机模块的输出;在电动机模式下,输入通常是一个负的常数或者是函数。模块的第2个输入端子(Vf)是励磁电压,在发电机模式下可以由励磁模块提供,在电动机模式下为一个常数。 在Simulink仿真环境中打开Simulink库,找出相应的单元部件模型,构造仿真模型,三相电压源幅值为4403,频率为50Hz。按图连接好线路,设置参数,建立其仿真模型,仿真时间为5s,仿真方法为ode23tb,并对各个单元部件模型的参数进行修改,如图所示。

matlab课程设计报告书

《计算机仿真及应用》课程设计报告书 学号:08057102,08057127 班级:自动化081 姓名陈婷,万嘉

目录 一、设计思想 二、设计步骤 三、调试过程 四、结果分析 五、心得体会 六、参考文献

选题一、 考虑如下图所示的电机拖动控制系统模型,该系统有双输入,给定输入)(t R 和负载输入)(t M 。 1、 编制MATLAB 程序推导出该系统的传递函数矩阵。 2、 若常系数增益为:C 1=Ka =Km =1,Kr =3,C2=0.8,Kb =1.5,时间常数T 1=5, T 2=0.5,绘制该系统的根轨迹、求出闭环零极点,分析系统的稳定性。若)(t R 和)(t M 分别为单位阶跃输入,绘制出该系统的阶跃响应图。(要求C 1,Ka ,Km ,Kr ,C2,Kb , T 1,T 2所有参数都是可调的) 一.设计思想 题目分析: 系统为双输入单输出系统,采用分开计算,再叠加。 要求参数均为可调,而matlb 中不能计算未赋值的函数,那么我们可以把参数设置为可输入变量,运行期间根据要求赋值。 设计思路: 使用append 命令连接系统框图。 选择‘参数=input('inputanumber:')’实现参数可调。 采用的方案: 将结构框图每条支路稍作简化,建立各条支路连接关系构造函数,运行得出相应的传递函数。 在得出传递函数的基础上,使用相应的指令求出系统闭环零极点、画出其根轨迹。 通过判断极点是否在左半平面来编程判断其系统是否稳定。 二.设计步骤 (1)将各模块的通路排序编号

(2)使用append命令实现各模块未连接的系统矩阵 (3)指定连接关系 (4)使用connect命令构造整个系统的模型 三.调试过程 出现问题分析及解决办法: 在调试过程出现很多平时不注意且不易寻找的问题,例如输入的逗号和分号在系统运行时不支持中文格式,这时需要将其全部换成英文格式,此类的程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这样参数可调性差,后用‘参数=input('inputanumber:')’实现。 最后是在建立通路连接关系时需要细心。 四.结果分析 源代码: Syms C1 C2 Ka Kr Km Kb T1 T2 C1=input('inputanumber:') C2=input('inputanumber:') Ka=input('inputanumber:') Kr=input('inputanumber:') Km=input('inputanumber:') Kb=input('inputanumber:') T1=input('inputanumber:') T2=input('inputanumber:') G1=tf(C1,[0 1]); G2=tf(Ka*Kr,[0 1]); G3=tf(Km,[T1 1]); G4=tf(1,[T2 1]); G5=tf(1,[1 0]); G6=tf(-C2,1); G7=tf(-Kb,1); G8=tf(-1,1); Sys=append(G1,G2,G3,G4,G5,G6,G7,G8) Q=[1 0 0;2 1 6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;]; INPUTS1=1; OUTPUTS=5; Ga=connect(Sys,Q,INPUTS1,OUTPUTS) INPUTS2=8; OUTPUTS=5; Gb=connect(Sys,Q,INPUTS2,OUTPUTS) rlocus(Ga)

控制系统数字仿真大作业.

《控制系统数字仿真》课程 大作业 姓名: 学号: 班级: 日期: 同组人员:

目录 一、引言 (2) 二、设计方法 (2) 1、系统数学模型 (2) 2、系统性能指标 (4) 2.1 绘制系统阶跃响应曲线、根轨迹图、频率特性 (4) 2.2 稳定性分析 (6) 2.3 性能指标分析 (6) 3、控制器设计 (6) 三、深入探讨 (9) 1、比例-微分控制器(PD) (9) 2、比例-积分控制(PI) (12) 3、比例-微分-积分控制器(PID) (14) 四、设计总结 (17) 五、心得体会 (18) 六、参考文献 (18)

一、引言 MATLAB语言是当今国际控制界最为流行的控制系统计算机辅助设计语言,它的出现为控制系统的计算机辅助分析和设计带来了全新的手段。其中图形交互式的模型输入计算机仿真环境SIMULINK,为MATLAB应用的进一步推广起到了积极的推动作用。现在,MATLAB语言已经风靡全世界,成为控制系统CAD领域最普及、也是最受欢迎的软件环境。 随着计算机技术的发展和应用,自动控制理论和技术在宇航、机器人控制、导弹制导及核动力等高新技术领域中的应用也愈来愈深入广泛。不仅如此,自动控制技术的应用范围现在已发展到生物、医学、环境、经济管理和其它许多社会领域中,成为现代社会生活中不可或缺的一部分。随着时代进步和人们生活水平的提高,在人类探知未来,认识和改造自然,建设高度文明和发达社会的活动中,控制理论和技术必将进一步发挥更加重要的作用。作为一个自动化专业的学生,了解和掌握自动控制的有关知识是十分必要的。 利用MATLAB软件及其SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真,能够直观、快速地分析系统的动态性能和稳态性能,并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计,以满足特定的设计指标。 二、设计方法 1、系统数学模型 美国卡耐尔基-梅隆大学机器人研究所开发研制了一套用于星际探索的系统,其目标机器人是一个六足步行机器人,如图(a)所示。该机器人单足控制系统结构图如图(b)所示。 要求: (1)建立系统数学模型; (2)绘制系统阶跃响应曲线、根轨迹图、频率特性; (3)分析系统的稳定性,及性能指标; (4)设计控制器Gc(s),使系统指标满足:ts<10s,ess=0,,超调量小于5%。

江南大学数媒0902基于虚拟现实技术大作业报告

课程:虚拟现实题目:沸腾的水壶 班级:数媒0902 学号:0305090206 姓名:沈玉婷 日期:2012.12

1、绪论 1.1 虚拟现实动画简介 虚拟现实动画就是用虚拟现实的技术以动画的形式表现出来(这是建立在虚拟现实及动画技术的基础上出现的)。我们以了解什么是虚拟现实及动画的意思后就能全面理解虚拟现实动画的概念。 1.2 关于虚拟现实技术 虚拟现实(Virtual Reality,简称VR;又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。 VR是一项综合集成技术,涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D世界影像传回产生临场感。该技术集成了计算机图形(CG)技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术模拟系统。概括地说,虚拟现实是人们通过计算机对复杂数据进行可视化操作与交互的一种全新方式,与传统的人机界面以及流行的视窗操作相比,虚拟现实在技术思想上有了质的飞跃。 2、需求分析 随着CAD技术的发展,人们就开始研究立体声与三维立体显示相结合的计算机系统。目的在于建立一种新的用户界面,使用户可以置身于计算机所表示的三维空间资料库环境中,并可以通过眼、手、耳或特殊的空间三维装置在这个环境中"环游",创造出一种"亲临其境"的感觉。 虚拟现实是人们通过计算机对复杂数据进行可视化、操作以及实时交互的环境。与传统的计算机人――机界面(如键盘、鼠标器、图形用户界面以及流行的Windows等)相比,虚拟现实无论在技术上还是思想上都有质的飞跃。传统的人――机界面将用户和计算机视为两个独立的实体,而将界面视为信息交换的媒介,由用户把要求或指令输入计算机,计算机对信息或受控对象作出动作反馈。虚拟现实则将用户和计算机视为一个整体,通过各种直观的工具将信息进行可视化,形成一个逼真的环境,用户直接置身于这种三维信息空间中自由地使用各种信息,并由此控制计算机。目前,虚拟现实技术已经遍布我们生活中的每一个行业,城市规划中的应用、旅游景观的应用、医学中应用、娱艺教中的应用、军事与航天中的应用、室内设计中的应用、房产开发中的应用、工业仿真中的应用、应急推演中的应用。由此可知,虚拟

计算机仿真实验

计算机仿真实验报告 专业:电气工程及其自动化班级:09电牵一班学号:22 姓名:饶坚指导老师:叶满园实验日期:2012年4月30日 一、实验名称 三相桥式SPWM逆变电路仿真 二、目的及要求 1.了解并掌握三相逆变电路的工作原理; 2.进一步熟悉MA TLAB中对Simulink的使用及构建模块; 3.掌握SPWM原理及构建调制电路模块; 4.复习在Figure中显示图形的程序编写和对图形的修改。 三、实验原理与步骤、电路图 1、实验原理图

2、电路原理(采用双极性控制方式) U、V和W三相的PWM控制通常公用一个三角波载波Uc,三相的调制信号Uru、Urv和Urw依次相差120°。 电路工作过程(U相为例):当Uru>Uc时,上桥臂V1导通,下桥臂V4关断,则U相相对于直流电源假想中点N’的输出电压Uun’=Ud/2。当Uru

对电路模型进行封装如下图示:

其中Subsystem1为主电路,Subsystem2为负载,Subsystem3为检测电路,Subsystem4为输入信号,Subsystem5为调制电路,Scope 为示波器,Repeating Sequence为三角载波。 各子系统电路分别如下所示: Subsystem1 Subsystem2 Subsystem3

通信原理大作业

通信原理大作业 1、说明 在通信原理课程中,介绍了通信系统的基本理论,主要包括信道、基带传输、调制 / 解调方法等。为了进一步提高和改善学生对课程基本内容的掌握,进行课程作业方法的改革的试点,设立计算机仿真大作业。成绩将计入平时成绩。 2、要求 参加的同学3~5人一组,选择1?2个题目,协作和共同完成计算机编程和仿真,写出计算机仿真报告。推荐的计算机仿真环境为MATLAB也可以 选择其它环境。 3、大作业选题 (1) 信道噪声特性仿真产生信道高斯白噪声,设计信道带通滤波器对高斯白噪 声进行滤波, 得到窄带高斯噪声。对信道带通滤波器的输入输出的噪声的时域、频域特性进行统计和分析,画出其时域和频域的图形。 (2) 基带传输特性仿真利用理想低通滤波器作为信道,产生基带信号,仿真验证奈氏第一准则的给出的关系。改变低通滤波器的特性,再次进行仿真,验证存在码间干扰时的基带系统输出,画出眼图进行观察。加入信道噪声后再观 察眼图。 (3) 2ASK言号传输仿真 按照2ASK产生模型和解调模型分别产生2ASK言号和高斯白噪声,经过信道传

输后进行解调。对调制解调过程中的波形进行时域和频域观察,并且对解调结果进行误码率测量。2ASK信号的解调可以选用包络解调或者相干解调法。(4) 2FSK信号传输仿真 按照2FSK产生模型和解调模型分别产生2FSK信号和高斯白噪声,经过信道传输后进行解调。对调制解调过程中的波形进行时域和频域观察,并且对解调结果进行误码率测量。2FSK信号的解调可以选用包络解调或者相干解调法。(5) 2PSK信号传输仿真 按照2PSK产生模型和解调模型分别产生2PSK言号和高斯白噪声,经过信道传输后进行解调。对调制解调过程中的波形进行时域和频域观察,并且对解调结果进行误码率测量。2PSK信号的解调选用相干解调法。 ⑹2DPSK言号传输仿真 按照2DPSK产生模型和解调模型分别产生2DPSK言号和高斯白噪声,经过信道传输后进行解调。对调制解调过程中的波形进行时域和频域观察,并且对解调结果进行误码率测量。2DPSK信号的解调可以选用非相干解调或者相干解调法。 (7) 模拟信号的数字传输 产生模拟语音信号,进行PCM编码过程的计算机仿真。仿真发送端采样、 量化编码的过程、仿真接收端恢复语音信号的过程。按照有或者无信道噪 声两种情况分别进行仿真。

武汉理工大学-计算机仿真实验作业答案

五、(10分)已知系统的传递函数为6 168682)(232+++++=s s s s s s G 。 语言建立系统传递函数模型,并求: ⑴ 该系统的单位阶跃响应;(2分) ⑵ 输入函数为u(t)时的响应;(3分) (u(t)正弦信号,周期2秒,仿真时间8秒,采样周期0.1); (3) 输入函数为u(t)时的响应;(3分) (u(t)方波输入信号,周期10秒,仿真时间20秒,采样周期0.05) (4) 绘出系统的波德图(Bode )。(2分) 解答: num=[2 8 6]; den=[1 8 16 6]; sys=tf(num,den); t=0:0.1:8; y1=step(sys,t); u=sin(t*pi); y2=lsim(sys,u,t); subplot(2,2,1);plot(t,y1); grid; title('阶跃响应曲线'); xlabel('响应时间'); ylabel('响应值'); hold on; subplot(2,2,2);plot(t,y2); grid on ; title('对sin(t)的响应曲线'); xlabel('响应时间'); ylabel('响应值'); t=0:0.05:20 u=square(pi/5*t) y3=lsim(sys,u,t); subplot(2,2,3);plot(t,y3) grid on ; title('对方波信号的响应曲线'); xlabel('响应时间'); ylabel('响应值'); subplot(2,2,4);bode(sys);

grid ;title('bode 图'); 运行结果: 六、(10分)设二阶动力学系统的传递函数如下,假设将无阻尼固有频 率固定为ωn =1 rad/s ,将阻尼比的值分别设置成ζ=0,0.1,0.2,0.3,…, MATLAB 语言编程,分析在这些阻尼比ζ的取值下该系统的阶跃响应。 2222)(n n n s s s G ω?ωω++= 解答:wn=1; kesi=[0:0.1:1,2,3,4,5]; figure('color',[1 1 1]); hold on for i=kesi num=wn.^2 den=[1,2*i*wn,wn.^2]; step(num,den);

随机数生成器

随机数生成器 一、随机数 1.1随机数的概念 数学上是这样定义随机数的:在连续型随机变量的分布中,最简单而且最基本的分布是单位均匀分布。由该分布抽取的简单子样称为随机数序列,其中每一个体称为随机数。单位均匀分布即[0,1]上的均匀分布。由随机数序列的定义可知,ξ1,ξ2,…是相互独立且具有相同单位均匀分布的随机数序列。也就是说,独立性、均匀性是随机数必备的两个特点。 1.2随机数的分类 随机数一般分为伪随机数和真随机数。利用数学算法产生的随机数属于伪随机数。利用物理方法选取自然随机性产生的随机数可以看作真随机数。实用中是使用随机数所组成的序列,根据所产生的方式,随机数序列再可以分为两类: 1.伪随机数序列 伪随机数序列由数学公式计算所产生。实质上,伪随机数并不随机,序列本身也必然会重复,但由于它可以通过不同的设计产生满足不同要求的序列且可以复现(相同的种子数将产生相同的序列),因而得到广泛的应用。由伪随机数发生器所产生的伪随机数序列,只要它的周期足够长并能通过一系列检验,就可以在一定的范围内将它当作真随机数序列来使用。 2.真随机数序列 真随机数序列是不可预计的,因而也不可能出现周期性重复的真正的随机数序列。它只能由随机的物理过程所产生,如电路的热噪声、宇宙噪声、放射性衰变等。 按照不同的分类标准,随机数还可分为均匀随机数和非均匀随机数,例如正态随机数。 1.3随机数的衡量标准 在实际模拟过程中,我们一般只需要产生区间[0,1]上的均匀分布随机数,因为其他分布的随机数都是由均匀分布的随机数转化来的。 实用中的均匀随机数主要通过以下三个方面来衡量其随机性能的高低。 1.周期性 伪随机数序列是由具有周期性的数学公式计算产生,其本身也必然会表现出周期性,即序列中的一段子序列与另一段子序列相同。它的周期必须足够长,才能为应用提供足够多的可用数据。只有真随机数序列才能提供真正的、永不重复的随机数序列。 2.相关性 随机数发生器所产生的一个随机数序列中的各个随机数应该不相关,所产生的各个随机数序列中的随机数也应该不相关。真随机数序列自然地满足这种不相关性。对于伪随机数发生器,应该仔细地设计所用的数学公式,以尽量满足不相关的要求。 3.分布均匀性 包括蒙特卡洛计算在内的大多数应用都要求所采用的随机数序列服从均匀分布,即同一范围内的任一个数出现的概率相同。从均匀分布的随机数序列也很容易导出其它类型分布的

计算机仿真实验报告7

山东工商学院计算机仿真及应用实验报告 实验七 MATLAB的基本应用(二)及Simulink仿真 (验证性实验) 学院: 专业班级: 实验时间: 学号: 姓名:

一、实验目的 1、掌握连续信号的仿真和傅里叶分析方法 2、掌握连续系统的分析方法(时域分析法,拉氏变换法和傅里叶分析法); 3、掌握离散信号的仿真和分析运算方法 4、掌握离散系统的分析方法(时域分析法); 5、掌握符号运算方法; 6、掌握Simulink仿真工具; 二、实验原理 1、连续信号的仿真和分析法,参考教材第6.1节,重点: 单位冲激信号的仿真方法;单位阶跃信号的仿真方法;复指数信号的仿真方法 2、连续系统的分析方法,参考教材第6.1节,重点: 例6.2,LTI系统的零输入响应的求解方法; 例6.3,LTI系统的冲激响应的求解方法 例6.5,LTI系统的零状态响应的求解方法 例6.6,系统中有重极点时的计算 3、系统的频域分析方法,参考教材第6.2节,重点: 例6.7,方波分解为多次正弦波之和 例6.8:全波整流电压的频谱 例6.10:调幅信号通过带通滤波器 例6.12:用傅里叶变换计算滤波器的响应和输出 4、离散信号的仿真和分析法,参考教材第6.3节,7.1节,重点: 单位脉冲序列impseq,单位阶跃序列stepseq 例7.1:序列的相加和相乘 例7.2:序列的合成与截取 例7.3:序列的移位和周期延拓运算 三、实验内容(包括内容,程序,结果) 以自我编程练习实验为主,熟悉各种方法和设计,结合课堂讲授,实验练习程序代码。 1、根据教材第6.1节的内容,练习连续信号和系统的时域分析和拉氏变换方法。 q602 clear,clc a=input('输入分母系数向量a=[a1,a2,...]= '); n=length(a)-1; Y0=input('输入初始条件向量Y0=[y0,Dy0,D2y0,...]= '); p=roots(a);V=rot90(vander(p));c=V\Y0'; dt=input('dt= ');tf=input('tf= '); t=0:dt:tf;y=zeros(1,length(t));

计算机仿真课程设计

附件1: 北京理工大学珠海学院 《计算机仿真》课程设计说明书题目: 控制系统建模、分析、设计和仿真 学院:信息学院 专业班级: 学号: 学生姓名: 指导教师: 2012年6 月16 日 附件2: 北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第2学期 学生姓名:专业班级: 指导教师:工作部门:信息学院 一、课程设计题目 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。

[0号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [1号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [2号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [3号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [4号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [5号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [6号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [7号题] 控制系统建模、分析、设计和仿真

大作业题目

控制系统仿真大作业 1、曲线拟合的Matlab实现和优化度检验 通过一个实际的例子,介绍最小二乘曲线拟合法的基本原理,对最小二乘曲线拟合法的Matlab实现方法进行研究,并给出曲线拟合Matlab实现的源程序。论述了Matlab软件在做曲线拟合时的用法,并进行曲线的拟合和相应的图像。 2、基于Matlab的液位串级控制系统 运用组态王和Matlab混合编程的方法设计了一个双容(两个水箱串联)液位串级在线控制系统,由组态王编制人机交互界面,用Matlab完成控制算法,二者通过DDE进行实时数据交换;采用串级控制策略,减小二次干扰的影响,验证其方法的有效性。 3、基于Matlab的变压器差动保护闭环仿真研究 应用Matlab建立了微机保护仿真系统,并对不同原理的变压器差动保护进行了仿真和比较.仿真系统采用积木式结构,根据微机保护的实现原理构建模块,实现保护的闭环仿真,对保护的动作过程进行分析. 4、基于MATLAB/SIMULINK的交流电机调速系统建模与仿真 根据直接转矩控制原理,利用MATLAB/SIMULINK软件构造了一个交流电机调速系统,该系统能够很好地模拟真实系统,实现高效的调速系统设计。仿真结果验证该方法的有效性。 5、基于MCGS和MATLAB的薄膜厚度控制系统仿真 以MCGS组态软件和MATLAB为平台,设计和仿真了一个薄膜厚度控制系统.MCGS完成硬件接口的设置、数据的实时采集、人机对话、以动画的方式显示控制系统的运行情况,MATLAB完成PID参数的自动整定,并利用动态数据交换(DDE)技术建立两者间的通讯.并分析其仿真结果。 6、Matlab在动态电路分析中的应用 用Matlab计算动态电路,可得到解析解和波形图.一阶电路先计算3要素,后合成解

随机数生成方法

University of Sydney School of Information Technologies Generating Random Variables Pseudo-Random Numbers Definition : A sequence of pseudo-random numbers ()i U is a deterministic sequence of numbers in []1,0 having the same relevant statistical properties as a sequence of random numbers. The most widely used method of generating pseudo-random numbers are the congruential generators: ()M X U M c aX X i i i i =+=?mod 1 for a multiplier a , shift c , and modulus M , all integers. The sequence is clearly periodic, with maximum period M . The values of a and c must be carefully chosen to maximise the period of the generator, and to ensure that the generator has good statistical properties. Some examples: M a c 259 1313 0 232 69069 1 231-1 630360016 0 232 2147001325 715136305 Reference: Ripley, Stochastic Simulation , Chapter 2

电路计算机仿真实验报告

电路计算机仿真分析 实验报告

实验一直流电路工作点分析和直流扫描分析 一、实验目的 1、学习使用Pspice软件,熟悉它的工作流程,即绘制电路图、元件类别的选择及其参数的赋值、分析类型的建立及其参数的设置、Probe窗口的设置和分析的运行过程等。 2、学习使用Pspice进行直流工作点分析和直流扫描分析的操作步骤。 二、原理与说明 对于电阻电路,可以用直观法(支路电流法、节点电压法、回路电流法)列写电路方程,求解电路中各个电压和电流。PSPICE软件是采用节点电压法对电路进行分析的。 使用PSPICE软件进行电路的计算机辅助分析时,首先在capture环境下编辑电路,用PSPICE 的元件符号库绘制电路图并进行编辑、存盘。然后调用分析模块、选择分析类型,就可以“自 动”进行电路分析了。需要强调的是,PSPICE软件是采用节点电压法“自动”列写节点电 压方程的,因此,在绘制电路图时,一定要有参考节点(即接地点)。此外,一个元件为一 条“支路”(branch),要注意支路(也就是元件)的参考方向。对于二端元件的参考方向定 义为正端子指向负端子。 三、示例实验 应用PSPICE求解图1-1所示电路个节点电压和各支路电流。 图1-1 直流电路分析电路图

4.000V R2 1 2.000A 0V Idc2 4Adc 4.000A 6.000V R1 1 4.000A Idc1 2Adc 2.000A R3 3 2.000A 图1-2 仿真结果 四、选做实验 1、实验电路图 (1)直流工作点分析,即求各节点电压和各元件电压和电流。 (2)直流扫描分析,即当电压源Us1的电压在0-12V之间变化时,求负载电阻R L中电流I RL随电压源Us1的变化曲线。 R4 3 Is3 2Adc 0Vs2 10Vdc RL 1 Is1 1Adc Is2 1Adc R1 4 I Is5 3Adc R2 2 12Vdc IPRINT Vs3 5Vdc Vs4 7Vdc 图1-3 选做实验电路图 2、仿真结果

相关主题
文本预览
相关文档 最新文档