文档库 最新最全的文档下载
当前位置:文档库 › 实验一 清零程序

实验一 清零程序

实验一 清零程序
实验一 清零程序

实验一清零程序

一、实验目的: 掌握汇编语言设计和调试方法,熟悉键盘操作。

二、实验内容:把2000H~20FFH 的内容清零。

三、实验程序框图

四、实验步骤: 用连续或单步方式运行程序,检查2000~20FF 中执行程序前后的内容变化。

五、思考:假使把1000H~10FFH 中的内容改成FF,如何修改程序,请分别用连续和单步方式运行程序来完成校验证

六、程序清单

(1)基本程序(文件名SW01.ASM)

ORG 0000H

LJMP SE01

ORG 0640H

SE01: MOV R0,#00H ;(00H)送R0,R0 为计数器

MOV DPTR,#2000H ;(2000H)送DPTR

LOO1: CLR A ;累加器A 清零

MOVX @DPTR,A ;存储空间内容清零

INC DPTR ;DPTR 加1

INC R0 ;R0 加1

CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环

LOOP: SJMP LOOP

END

七、思考:假使把1000H~10FFH 中的内容改成FF程序如下:

ORG 0000H

LJMP SE01

ORG 0640H

SE01: MOV R0,#00H ;(00H)送R0,R0 为计数器

MOV DPTR,#1000H ;(2000H)送DPTR

LOO1: MOV A,#FF;累加器A 置FF

MOVX @DPTR,A ;存储空间内容置FF

INC DPTR ;DPTR 加1

INC R0 ;R0 加1

CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环

LOOP: SJMP LOOP

END

现象:运行第一条程序可以发现1000H~10FFH 中的内容变成FF,运行第二条程序1000H~10FFH 中的内容改成00.而其它单元的内容不变。

心得:该实验的内容比较简单。

实验二P3.3 口输入,P1 口输出

一、实验目的:掌握P3 口、P1 口简单使用。

二、实验内容: P3.3 口输入一脉冲,P1 口按16 进制加一方式点亮发光二极管。

三、实验步骤

P3.3 用导线连至K1 开关, P1.0~P1.7 导线连至L1~L8,K1 拨动一次,L1~L8 发光二极管按16 进制方式加一点亮。

快捷连线说明:P3.3→K1

P1.0~P1.7→L1~L8(发光二极管)

四、思考:修改程序,使发光二极管左移方式点亮。

五、程序清单

(1)基本程序(文件名 HW01·ASM)

ORG 0000H

LJMP J100

ORG 0810H

J100: MOV A,#00H

J101: JB P3.3,J101

MOV R2,#10H

LCALL DELY

JB P3.3,J101

J102: JNB P3.3,J102

MOV R2,#10H

LCALL DELY

JNB P3.3,J102

INC A

PUSH ACC

CPL A

MOV P1,A

POP ACC

AJMP J101

DELY: PUSH 02H

DEL2: PUSH 02H

DEL3: PUSH 02H

DEL4: DJNZ R2,DEL4

POP 02H

DJNZ R2,DEL3

POP 02H

DJNZ R2,DEL2

POP 02H

DJNZ R2,DELY

RET

END

九,改变延时常数,使发光二极管闪亮时间改变。修改程序,使发光二极管

闪亮移位方向改变的程序:

ORG 0000H

LJMP J100

ORG 0810H

J100: MOV A,#09H

J101: JB P3.3,J101

MOV R2,#10H

LCALL DELY

JB P3.3,J101

J102: JNB P3.3,J102

MOV R2,#10H

LCALL DELY

JNB P3.3,J102

DEC A

PUSH ACC

CPL A

MOV P1,A

POP ACC

AJMP J101

DELY: PUSH 02H

DEL2: PUSH 02H

DEL3: PUSH 02H

DEL4: DJNZ R2,DEL4

POP 02H

DJNZ R2,DEL3

POP 02H

DJNZ R2,DEL2

POP 02H

DJNZ R2,DELY

RET

END

实验现象:当执行第一个程序时K1 开关向下拨动一次时A中的内容从0依次加1,P1口的发光二极管也依次发光并向右移。

当执行第二个程序时K1 开关向下拨动一次时A中的内容从8依次减1,P1口的发光二极管也依次发光并向左移。

心得:该实验运用了累加器A并不断加1.还有该程序连续两次判断P3.3口是否为高电平在执行下一条语句和连续两次判断P3.3口是否为低电平在执行下一条语句的原因是为了消除开关的抖动。

实验三中断基础实验

一、实验目的: 掌握MCS-51 单片机中断原理以及编程使用方法;理解

下降沿中断和低电平中断的区别。

二、实验预备知识

MCS-51 单片机有2 个由/INT0、/INT1 引脚输入的外部中断源。

触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。当编

程TCON 中的ITi(i=1 或0,下同)为1 时,则引起触发的方式为边沿触发方式,反之为低电平触发方式。每个中断源的中断请求能否得到响应要受两级“开关”的控制,即一个总“开关”EA 和EXi 的控制,只有当EA 为1,且对应的分“开关” EXi 也为1 时,相应中断源的中断请求才能被响应。外部中断0、外部中断1 对应有2 个固定的中断服务程序入口地址0003H、0013H。

响应中断后中断申请标志IEi 由硬件自动清零

三、实验内容

编写主程序,读取K1 状态,当其与地端闭合时(P1.3 为低电平)初始

化为低电平触发,反之,初始化为下降沿触发,且发光二极管灭;编写中断服务程序,使图中的发光管闪烁5 次,间隔250ms,即中断服务程序的执行时间为2.5 秒,退出中断程序时,使发光管灭。

六、实验步骤

把“总线插孔”框中的P1.2、P1.3、P3.2 分别连L1、 K1、“单脉冲

与时钟”的“”孔。

快捷连线说明:P1.2→L1,

P1.3→K1,

P3.2→

七、思考:

1.要LED 亮5 次,程序应如何改动?

2.若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?

3.电平触发在输入信号后,灯闪的次数受谁的控制?

八、程序清单

(1)基本程序(文件名 int011ok·ASM)

ORG 0000H

lJMP MAIN

ORG 0003H ;外中断0 入口地址

LJMP INTER0

ORG 0660H

MAIN: JB P1.3,MAIN1 ;判断是电平触发还是沿触发

clr it0 ;P1.3=0 低电平触发

lJMP MAIN2

MAIN1: SETB it0 ;中断初始化,P1.3=1 下降沿边缘触发

MAIN2: ORL IE,#81H

ORL IP,#02H

lJMP MAIN

INTER0: CLR EA ;中断处理程序

SETB P1.2

LCALL DELY

CLR P1.2

LCALL DELY

SETB P1.2

LCALL DELY

CLR P1.2

LCALL DELY

SETB P1.2

LCALL DELY

CLR P1.2

LCALL DELY

SETB EA

RETI

DELY: MOV R6,#200H ;延时

DELY1: MOV R7,#125H

DELY2: DJNZ R7,DELY2

DJNZ R6,DELY1

RET

END

实验现象:外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否则程序一直在等待中断源。

若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?

如果改为外部中断1 来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为ORL IE,#84H

ORL IP,#04H即可。

电平触发在输入信号后,灯闪的次数受谁的控制?

灯闪烁的次数受子程序中P1.2高电平的次数的控制。

心得:了解中断和定时计数器的使用。还有老师给我们的那个程序有错误。应把DELY: MOV R6,#00H ;延时

DELY1: MOV R7,#00H改为

DELY: MOV R6,#200H ;延时

DELY1: MOV R7,#125H

实验四定时/计数器基础实验

一、实验目的: 掌握MCS-51 单片机内部定时/计数器的程序设计与调试方法。

二、实验预备知识

MCS-51 单片机有两个16 位的定时计数器T0 和T1,它们都有定时和对

外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已。

当工作在定时方式时,计数脉冲来自单片机的内部,即振荡器信号12

分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频

率是固定的(即每个脉冲为1 个机器周期的时间),故可通过设定计数值来实现定时功能;

当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一

个脉冲时,计数器加1,从而实现计数功能。可以通过编程来指定定时/计

数器的功能,以及它的工作方式。

中断申请标志TF,在中断响应后有硬件中断清零,查询方式时必须由

软件清零。

三、实验内容

利用定时器1,通过对外部脉冲的计数,利用查询方式,实现在P1.0

引脚上产生输出信号。

四、实验步骤

把P3.5、P1.0 分别连K1、L1。

快捷连线说明:P3.5→K1

P1.0→L1

五、思考:

1.开关来回拨4 次才取反,程序应如何修改?

2.采用中断方式,该如何设计程序?

八、程序清单

基本程序(文件名TIME01ok.ASM)

ORG 0000H

LJMP DSJU

ORG 0660H

DSJU: MOV TMOD,#60H ;T1 计数,工作方式2

MOV TH1,#0FEH ;赋初值

MOV TL1,#0FEH

SETB TR1 ;启动

DEL: JBC TF1 ,REP ;查询计数溢出

AJMP DEL

REP: CPL P1.0 ;取反

AJMP DEL

END

实验现象:每按一次开关,L1灯变化一次。

思考修改:1.开关来回拨4 次才取反,程序应如何修改?

答:把初值设置为FB即可,即为把

MOV TH1,#0FEH

MOV TL1,#0FEH

修改为:

MOV TH1,#0FBH

MOV TL1,#0FBH

2.采用中断方式,该如何设计程序?

答:程序如下:

ORG 0000H

LJMP MAIN

ORG 001BH

LJMP T1

ORG 0660H

T1:CPL P1.0 ;取反

RET

MAIN: MOV TMOD,#60h ;T1 计数,工作方式2

MOV TH1,#0FEH ;赋初值

MOV TL1,#0FEH

SETB TR1 ;启动

END

心得:我们要熟练掌握中断的编程方法和它的原理图。这样才能随心所欲的修改程序。

实验一 Keil软件的使用及简单程序的调试方法

实验一 Keil软件的使用及简单程序的调试方法 一、实验目的 掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。 二、实验器材 计算机1台 三、实验内容 1.Keil的使用方法。 2.建立一个单片机汇编语言程序的调试过程及方法 四、实验步骤 1.Keil的使用方法。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。启动Keil 后的界面如下: 几秒钟后即进入Keil的编辑界面。用户便可建立项目及应用程序。 2.简单程序的调试方法 Keil是通过项目工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程

名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。 (1)建立一工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。并在弹出的对话框中确定保存的位置及工程名称。 又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如下图所示 单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。 (2)建一文件 单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。如下图所示。

系统辨识实验二

《系统辨识与自适应控制》实验报告 题目:最小二乘法在系统辨识中的应用 班级:工控08.1 指导老师: 学生姓名: 学号: 时间:2011.5.19 成都信息工程学院控制工程系

实验目的: 1、掌握系统辨识的基本步骤。 2、熟悉matlab 下系统辨识编程(M 文件)。 3、M 序列的产生方法。 4、用最小二乘法对系统进行辨识。 实验设备: 硬件:计算机一台(参数:主频2.8G 、奔腾4核处理器、内存512M ) 软件:matlab6.5 实验原理: 1、最小二乘法系统辨识结构: 把待辨识的过程看作“黑箱”。只考虑过程的输入输出特性。 图中,输入u(k)和输出z(k)是可测的;G (错误!未找到引用源。)是系统模型,用来描述系统的输入输出特性;N (错误!未找到引用源。)是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理: 可以表示为 )()()()()(11k v k u q B k z q A +=-- (1) + + e (k ) 图1 SISO 系统辨识“黑箱” y (k ) u (k ) z (k ) v (k ) )(1-z N )(1-z G

???+++=++++=-------nb nb na na q b q b b q B q a q a q a q A ...21)(...211)(11211 (2) 由上两式可以表示: l k k v i k u bi i k z ai k z nb i na i ,...,2,1)....()(*)(*)(11=+-+--=∑∑== (3) 上式可以描述成如下最小二乘法格式: )()()(k v k h k z +=θ (4) 2、准则函数 设一个随机序列{}),,2,1(),(L k k z ∈的均值是参数θ的线性函数: {}θ)()(k h k z E T =,其中)(k h 是可测的数据向量,那么利用随机序列的一个实现,使准则函数: 21])()([)(∑=-=L k T k h k z J θθ (5) 达到极小的参数估计值∧ θ称作θ的最小二乘估计。 最小二乘格式: )()()(k e k h k z t +=θ,θ为模型参数向量,()k e 为零均值随机噪声。 3、最小二乘问题的解 考虑系统模型: )()()(k e k h k z t +=θ (6) 准则函数可写成: ()()()θθθL L L T L L H z H -Λ-=z J (7) 极小化准则函数得到:

单片机实验报告

汇编语言程序设计 1)编译后,系统提示:目标越界,改为AJMP后编译通过,将ORG 07FFH 改为0800H, 系统提示:目标越界,这说明AJMP可以在2KB 范围内无条件转移。 2.改为LJMP编译通过,这说明LJMP可以在64KB 范围内无条件转移。 3.将LJMP LP1改为SJMP LP0,机器码为80FC,其中FC为偏移量,它是一个补码,01H~7FH说明向PC(增大√、减小)方向跳,80H~FFH说明向PC(增大、减小√)方向跳,这说明SJMP可以在当前PC值-128B~+127B 范围内无条件转移。 1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 实验程序: MOV A,20H JZ ZREO JB ACC.7,NEG MOV 21H,#01H SJMP PEND ZREO:MOV 21H,A SJMP PEND NEG:MOV 21H,#0FFH PEND:SJMP$ END 结果记录: 1.将数89H存放于20H中,运行程序,观察到21H单元中的内容为FF; 2.将数05H存放于20H中,运行程序,观察到21H单元中的内容为01; 3.将数00H存放于20H中,运行程序,观察到21H单元中的内容为00; 2、将20H~27H中的压缩BCD码拆为两个单字节BCD码,存放在以2000H为首地址的外部RAM 中。 实验程序: MOV R0,#20H MOV R7,#08H MOV DPTR,#2000H LOOP:ACALL CZ INC R0

INC DPTR DJNZ R7,LOOP SJMP $ CZ:MOV A,@R0 SWAP A ANL A,#0FH MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH MOVX @DPTR,A RET END 结果记录: 20H 21H 22H 23H 24H 25H 26H 27H 87H 54H 36H 23 19H 43H 77H 69H 2000H 2002H2004H2006H2008H200AH200CH200EH 07H 04H 06H 03H 09H 03H 07H 09H 2001H 2003H2005H2007H2009H200BH200DH200FH 08H 05H 03H 02H 01H 04H 07H 06H 1、数在计算机中是以补码形式存放的,因此,判断数据的正负,往往采用判断第7 位,是0 则为正数,是1 则为正数 2、实验内容2中JZ ZREO 的机器码为600DH ,其中0DH 为偏移量,当前PC值0004 加上这个偏移量等于0011H ,这正是即将执行的程序的首地址,即标号为ZREO 语句。程序计算器PC的功能是指向下一条指令,因此,跳转语句是依靠偏移量来改变程序计数器PC的值,从而改变程序的流向。 3、分支程序一定要注意分支的语句标号的正确性,每一分支之间必须用跳转(如SJMP)指令分隔,并跳转到相应标号。 4、子程序往往用间址寄存器传递数据,内部RAM用@Ri ,外部RAM用@DPTR ,绝对不能用直接地址。最后以RET 结尾。 5、循环程序往往用寄存器传递数据,用R7控制循环次数,用调用作为循环体,用指令INC 修改地址指针,用指令DJNZ 判断循环结束。 6、执行ACALL前(SP)= 07H ,执行ACALL时,(SP)= 09H ,(08H)= 09H ,(09H)= 00H ,(PC)= 000FH ,PC的值正是子程序的入口地址,而堆栈中这两个单元存放的是断点处PC的值;执行到RET后,(SP)= 07H , 原08H的值弹给(PC)7~0 ,原09H的值弹给(PC)15~8 ,因此,返回断点继续执行主程序。

实验一-Keil软件的使用及简单程序的调试方法

实验一Keil软件的使用及简单程序的调试方法 一、实验目的 掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。 二、实验器材 计算机1台 三、实验内容 1.Keil的使用方法。 2.建立一个单片机汇编语言程序的调试过程及方法 四、实验步骤 1.Keil的使用方法。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。启动Keil 后的界面如下:

几秒钟后即进入Keil的编辑界面。用户便可建立项目及应用程序。 2.简单程序的调试方法 Keil是通过项目工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。 (1)建立一工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。并在弹出的对话框中确定保存的位置及工程名称。 又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如下图所示

单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。 (2)建一文件 单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。如下图所示。 (3)将文件添加到工程中 单击“T arget 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。

系统辨识实验1实验报告

实验报告 --实验1.基于matlab的4阶系统辨识实验 课程:系统辨识 题目:基于matlab的4阶系统辨识实验 作者: 专业:自动化 学号:11351014 目录 实验报告 (1) 1.引言 (2) 2.实验方法和步骤 (2) 3.实验数据和结果 (2) 4.实验分析 (4)

1、 引言 系统辨识是研究如何确定系统的数学模型及其参数的理论。而模型化是进行系统分析、仿真、设计、预测、控制和决策的前提和基础。 本次实验利用matlab 工具对一个简单的4阶系统进行辨识,以此熟悉系统辨识的基本步骤,和matlab 里的一些系统辨识常用工具箱和函数。 这次实验所采取的基本方法是对系统输入两个特定的激励信号,分别反映系统的动态特性和稳态特性。通过对输入和输出两个系统信号的比较,来验证系统的正确性。 2、 实验方法和步骤 2.1 实验方法 利用matlab 对一个系统进行辨识,选取的输入信号必须能够反映系统的动态和稳态两个方面的特性,才能更好地确定系统的参数。本次实验采取了两种输入信号,为反映动态特性,第一个选的是正弦扫频信号,由下面公式产生: 选定频率范围 ,w(t)是时间t 的线性函数,具有扫频性质,可以反映系统的动态特性。 为反映稳态特性,选的输入信号是阶跃信号。以上的到两组数据,利用matlab 的merge()函数,对两组数据融合,然后用matlab 系统辨识工具箱中的基于子空间方法的状态空间模型辨识函数n4sid()来对系统进行辨识 2.2 实验步骤 (1)建立一个4阶的线性系统,作为被辨识的系统,传递函数为 3243211548765 ()125410865 s s s G s s s s s -+-+=++++ (2)产生扫频信号u1和阶跃信号u2 (3)u1、u2作为输入对系统进行激励,分别产生输出y1和y2 (4)画出稳态测试输入信号u1-t 的曲线,和y1-t 的曲线 画出动态测试输入信号u2-t 的曲线,和y2-t 的曲线 (5)使用merge()函数对u1-y1数据和u2-y2数据进行融合,并使用n4sid()函数对系统进行辨识。 (6)画出原系统和辨识出的系统的零极点图,画出原系统和辨识出的系统的阶跃响应特性曲线,通过对比,验证辨识出的系统的准确性。 3、 实验数据和结果 (1) 分别以扫频正弦函数、阶跃函数作为系统的激励,得到的输出:

单片机实验报告

太原工业学院计算机工程系成绩: 单片机原理及应用 课程实验报告 课程:单片机原理及应用 姓名:冯文颖 专业:计算机科学与技术 学号:132054413 日期:2016年4月20日 太工计算机工程系 计算机原理实验室

实验一:拆字程序实验 实验环境PC机+Win 2007+伟福仿真软件实验日期2016.4.20一.实验内容 1.熟悉51仿真系统,设计并单步调试实现,将R5中一字节数拆分成两位独立的数据,分别存于R6,R7中,将R6,R7中的一位HEX数据转换为输出 2.ASCII编码分析BIN,HEX,BCD,ASCII等不同编码的数学意义及表现形式上的异同 二.理论分析或算法分析 (1)基本要求的描述 在这次实验中,要将R5中存的一字节数拆分成两个独立的数据,主要用到是逻辑运算符中的与功能,进而取得高字节和低字节的数,将R5的数和0f0h进行与取得高字节,和0f0h 与取得低字节的数,进而将它们分别存于R6、R7中。 (2)扩展要求的描述 在扩展要求中,要求将高低字节的数据转换成ASCII码值,首先先运用操作符subb将高低位字节与0Ah进行比较,根据CY的值来判断高低字节的数据是否在0到9之间,若在则在它们的基础上加上30h即可得到其对应的ASCII码值,否则,若在A到F之间,则需要在它们的基础上加37h即可得到它们对应的ASCII码值。 三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等) org 0019h clr c mov r5,#6ah mov a,r5 anl a, #0fh mov r6, a mov a, r5 anl a,#0f0h swap a mov r7,a sjmp $ end Masc1:mov a,r6 add a,#0F6h . mov,a,r6 jnc ad30h add a,#07h ad30h: add a,#30h mov r6,a 1

实验的基本程序

1、单组实验的基本程序 前测→实验处理→后测 比较方法:前测-后测 例:某新的记忆方法对于提高中学生英语单词记忆效果的影响 实验假设:某新的记忆方法对提高中学生英语单词记忆有好的效果。 实验处理:在英语课上,教师运用新的记忆方法教授单词。 样本:高一年级一个班学生。 因变量测定:高一英语学习成绩测验。 实验设计:单组前后测 前测:在传统教学法下,对学生进行测试。 后测:使用新的记忆方法教学后进行测试。 这种实验操作程序比较简单,不用考虑实验班和对比班的同质性。如果采用新方法前,实验班平均成绩是80分,采用新方法后,测试成绩为90分。这样,前后测比较,成绩提高了10分,说明实验假设成立,即新的记忆方法对提高中学生英语单词记忆有好的效果。

2、等组实验的基本程序 实验组:前测1→有实验处理→后测1 对照组:前测2→无实验处理→后测2 比较方法:(后测1-前测1)-(后测2-前测2) 例:语文教学中,阅读技巧训练对于提高学生学习的影响 实验假设:语文教学中,阅读技巧训练有助于提高学生学习成绩。 实验处理1:实验班的语文教学中,在学生阅读材料前,教师讲解阅读技巧。 实验处理2:对照班的语文教学中,学生阅读同样的材料,但阅读前教师不讲解阅读技巧。 样本:在高一学生中随机抽取100名学生,随机编为两个班,其中一个为实验班,另一个为对照班。 因变量测试:高一学生语文成绩测试。 实验设计:前后测对照组设计 前测:实验班和对照班在使用新方法前进行测试。 后测:实验班在采用阅读技巧训练一个月后进行测试,对照班在相应的时间进行测试。 条件控制:1.同一教师进行教学。2.教学内容、作业量相同。3.学生学习语文时间总量相同。

系统辨识内容与要求

系统辨识实验内容与要求 实验题目:三温区空间晶体生长炉温度系统建模 实验对象:三温区空间晶体生长炉 单晶体是现代电子设备制造技术的一个必不可少的部分,它应用广泛,如二极管、三极管等半导体器件都需要用到单晶体。组分均匀(compositional uniformity)、结晶完整(crystallographic perfection)的高质量晶体材料是保证电子设备性能重要因素。 目前,单晶体制备主要靠晶体生长技术完成。其主要过程是:首先在坩埚等加热器皿中对籽晶进行加热,使其由固相转变为液相或气相,再降低器皿中温度,使液相或气相的籽晶材料冷却结晶,就可得到最终的单晶体。这个过程中,为保证晶体的组分均匀和结晶完整,必须使晶体内部各晶格的受力均匀。因此,为减小重力对晶体生长的影响,研究者提出在空间微重力环境下进行晶体生长的方案。我们研究的空间晶体生长炉就是该方案中的晶体加热设备。 我们研究的空间晶体生长炉采用熔体Bridgman生长方式,其结构如图1所示。炉身由三部分构成:外筒、炉管以及炉管外部的隔热层。炉管由多个加热单元组成,每个加热单元组成一个温区。加热单元由导热性能良好的陶瓷材料制成,两个加热单元之间有隔热单元隔开。加热单元的外测均匀缠绕加热电阻丝,内侧中间部位安装有测温热电偶。炉管外部的隔热层由防辐射绝热材料制成。 微重力环境下,晶体内部各晶格之间的热应力是影响晶体生长质量的关键因素,而热应力是由炉内温场决定的。因此,必须对晶体炉内各温区的温度进行控制,以构造一个具有一定的梯度的、满足晶体生长需要的温场。工作时,将装有籽晶的安瓿管按一定的速度插入晶体炉炉膛内,通过控制流过各温区加热电阻丝的电流控制炉内温场,通过热电偶在线获取各温区的实时温度值,进行闭环控制,。其中,流过电阻丝的电流通过PWM(脉宽调制)方式进行控制。另外,由于晶体炉工作温度的变化范围比较大,传感器热电偶难以在全量程范围内保持很高的线性度,因此,使用的热电偶的电压读数与实际温度值间需要进行查表变换。 本实验内容是运用系统辨识的方法建立晶体炉中某个温区的动力学模型,辨识数据已给出,见SI_Data.xls文件。

单片机实验

实验一拆字程序 1.实验目的: 掌握汇编语言设计方法。 2.实验内容: 把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清零.本程序通常在把数据送显示缓冲区时使用。 3.实验器材: (1) G2010实验箱 1 台 4.实验步骤: (1)按流程图编写程序,可借助KEIL集成调试环境中的编辑器输入程序,存盘并编译,按提示的内容进行排错。 (2)打开DATA和XDATA窗口,在XDATA窗口的8000H单元输入一个值,如23H,单步调试程序,观察累加器A,辅助寄存器B,外部数据存储器8001H,8002H单元中 数据的变化。 5.软件清单(实验例程\实验1\ASM51\EX1.ASM)(实验例程\实验1\C51\EX1.C) ;文件名:MCS51\ex1.ASM ;把指定字节的高低位拆开分别存放,多用于显示子程序 ORG 0000H sjmp start org 0050h start:MOV DPTR,#8000H ;指定的字节 MOVX A,@DPTR MOV B,A ;暂存 SWAP A ;交换 ANL A,#0FH ;屏敝高位 INC DPTR MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH ;指定字节的内容屏敝高位 MOVX @DPTR,A LOOP: SJMP LOOP end 6、仿真结果

7、心得体会 这个实验让我学会了软件KEIL的使用和用这个软件对程序的的调试,明白了拆字程序的原理,对汇编程序的读写也有了更近一步的理解。

实验二拼字程序 1.实验目的: (1)进一步掌握汇编语言设计 2.实验内容: 把8000H、8001H两个字节的低位分别送入8002H的高位和低位。本程序一般用于把显示缓冲区数据取出拼装成一个字节。 3.实验器材: (1) G2010实验箱 1 台 4.实验步骤: (1)按流程图编写程序,可借助KEIL集成调试环境中的编辑器输入程序,存盘并编译,按提示的内容进行排错。 (2)打开DATA和XDATA窗口,在XDATA窗口的8000H单元输入一个值,如23H,单步调试程序,观察累加器A,辅助寄存器B,外部数据存储器8001H,8002H单元中 数据的变化。 5.软件清单:(实验例程\实验2\ASM51\EX2.ASM)(实验例程\实验2\C51\EX2.C) “验证式”实验二拼字程序 ;文件名:MCS51\A02.ASM ;把两字节的低位合拼成一个字节,多用于显示子程序 ORG 0000h sjmp start org 0050h start:MOV DPTR,#8000H MOVX A,@DPTR ANL A,#0FH ;屏敝高位 SWAP A MOV B,A ;保存 INC DPTR MOVX A,@DPTR ANL A,#0FH ORL A,B ;合拼 INC DPTR MOVX @DPTR,A ;送8002H存放 LOOP: SJMP LOOP end 6.结果截图

试验项目试验一最简单的C程序设计

试验项目试验一最简单的C程序设计

实验项目:实验一最简单的C程序设计 (所属课程:《C语言程序设计》学时:2) 一、实验目的 1.掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2.初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 3.掌握顺序结构程序设计的基本思路。 二、实验条件 Pc和vc++编程环境 三、实验内容 1.熟悉编程环境。 2.输入并运行一个C程序 3.掌握各种格式转换符的正确使用方法。 4.编程序:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。要求用scanf函数从键盘上输入数据(半径和高),输出各计算结果,输出时要求有文字说明,取小数点后2位数字。5.编程序:用getchar函数输入两个字符给C1、C2,然后分别用putchar函数和printf函数输出这两个字符。 四、实验步骤 编写程序,输入数据,观察结果。

五、实验结果 观察结果和预期是否一致。 实验项目:实验二选择结构程序设计 (所属课程:《C语言程序设计》学时:2) 一、实验目的 1.了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2.学会正确使用逻辑运算符和逻辑表示式。 3.熟练掌握if语句和switch语句 二、实验条件 Pc和vc++编程环境 三、实验内容

1.有一函数: ?????≥-<≤-<=)10x (113x ) 10x 1(12x )1x (x y 用scanf 函数输入x 的值,求y 值。 运行程序,输入x 的值(分别为x<1、1≤x <10、x ≥10三种情况),检查输出的y 值是否正确。 2.给出一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。90分以上为A ,81~89分为B ,71~79分为C ,61~69分为D ,60分以下为E 。 3.输入4个整数,要求按由小到大顺序输出。 四、实验步骤 编写程序,输入数据,观察结果。 五、实验结果 观察结果和预期是否一致。 实验项目:实验三 循环结构程序设计

单片机实验报告书

软件实验 实验一拆字程序实验 一、实验目的: 掌握汇编语言设计方法。 二、实验内容: 把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清零.本程序通常在把数据送显示缓冲区时使用。 三、实验器材: 计算机 1台 四、实验步骤: 1、按流程图编写程序,以下是通过计算机交叉汇编得到的.LST文件清单,供参考。 2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。 3、设置观察窗口: (1)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000]; (2)在8000H中写入数据(任意); (3)单步执行观察寄存器和8000H—8002H的变化。 五、程序框图: 七、实验程序(51asm\A8051.ASM) ;把指定字节的高低位拆开分别存放,多用于显示子程序 ORG 0000H MOV DPTR,#8000H ;指定的字节 MOVX A,@DPTR MOV B,A ;暂存 SWAP A ;交换 ANL A,#0FH ;屏敝高位

INC DPTR MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH ;指定字节的内容屏敝高位 MOVX @DPTR,A LOOP: SJMP LOOP END 实验二拼字程序实验 一、实验目的: 1、进一步掌握汇编语言设计; 2、熟悉软件调试方法。 二、实验内容: 把8000H、8001H两个字节的低位分别送入8002H的高位和低位。本程序一般用于把显示缓冲区数据取出拼装成一个字节。 三、实验器材: 计算机 1台 四、实验步骤: 1、编写程序并编译成机器代码。 2、用断点或单步方式运行程序,检查8000H-8002H,A,B中內容变化情况。查看内部RAM、外部RAM、断点运行方式、单步操作等请参阅有关章节。 3、打开AP6264.asm程序 (1)文件、编译、连接、装载:点击[项目/重建所有目标文件],系统进行自动编译,并弹出信息窗口,点击[调试/启动/停止调试]进入调试状态。 (2)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000],将地址定位于8000H。 (3)在8000H中写入任意数据,单步执行观察寄存器和数据存储区的变化。 五、程序框图:

实验3 子程序实验

实验三子程序实验 一.实验目的 1.掌握主程序与子程序之间的调用关系及调用方法; 2.掌握子程序调用过程中近程调用与远程调用的区别; 3.掌握通过堆栈转送参数的方法。 二.实验内容 1.将BUF开始的10个单元中的二进制数转换成两位十六进制数的ASCII码,在屏幕上显示出来。要求码型转换通过子程序HEXAC实现,在转换过程中,通过子程序DISP实现显示。 2.编写一个主程序,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符’b’的个数.子程序的参数是字符串的首地址TABLE,字符串长度N及字符”b”.子程序返回字符"b”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符”b”及其个数(设为一位十六进制数)。 三.实验要求 1.第一个实验程序用子程序的近程调用实现。由于在调用HEXASC子程序时,子程序又调用了DISP子程序,这叫子程序的嵌套调用。实验过程中可以从堆栈的内容看到两个子程序的返回地址值。由于是近调用,地址值只包括返回地址的段内偏移量。在每个子程序的执行中,检查CS值是不变的。 2.第二个程序是利用远调用的方法调用子程序的。在远调用情况下,主程序与子程序处在不同的逻辑代码段中,可在子程序执行中查看CS值,它与主程序中的CS值是不同的。子程序调用后,堆栈中保留了返回地址的段地址及段内偏移量。 3.第二个程序中,主程序与子程序之间参数的传送是由堆栈实现的。一段是将参数(此处是串首址TABLE,串的长度N及待统计的字符“b”)顺序压如堆栈,在子程序调用后,通过BP指针对堆栈中的参数访问,并将统计的结果通过堆栈返回。有关该方法的原理此处不再介绍。 4.预习子程序设计的基本方法,根据实验内容要求,画出子程序及主程序的流程图;熟悉键盘键入字符串及用堆栈传送参数的程序段编制方法。 四.实验环境 PC微机 DOS操作系统或Windows 操作系统 MASM.EXE,LINK.EXE,https://www.wendangku.net/doc/a84268580.html,或宏汇编集成环境 五.实验步骤 1.编辑、汇编两个源程序,生成相应的可执行文件(.EXE) 实验一 ;CONV.ASM DATA SEGMENT

系统辨识基础实验指导书

实验一 离散模型的参数辨识 一、实验目的 1. 掌握随机序列的产生方法。 2. 掌握最小二乘估计算法的基本原理。 3. 掌握最小二乘递推算法。 二、实验内容 1. 基于Box--Jinkins 模型模拟一个动态过程,动态过程取为各种不同的情况,输入信号采用M 序列,实验者可尝试不同周期的M 序列。信噪比、观测数据长度也由实验者取为各种不同情况。 2. 模拟生成输入输出数据。 3. 根据仿真过程的噪声特性,选择一种模型参数估计算法,如RLS 、RIV 、RELS 、RGLS 、COR-LS 、STAA 、RML 或MLS 等,估计出模型的参数。 三、实验器材 计算机 1台 四、实验原理 最小二乘法是一种经典的有效的数据处理方法。它是1795年高斯(K.F.Guass )在预测行星和彗星运动的轨道时提出并实际使用的。 最小二乘法也是一种根据实验数据进行参数估计的主要方法。这种方法容易被理解,而且由于存在唯一解,所以也比较容易实现。它在统计学文献中还被称为线性回归法,在某些辨识文献中还被称为方程误差法。正如各个学科都用到系统辨识技术建立模型一样,最小二乘法也用于很多场合进行参数估计,虽然不一定是直接运用,但很多算法是以最小二乘为基础的。 在系统辨识和参数估计领域中,最小二乘法是一种最基本的估计方法。它可用于动态系统,也可用于静态系统;可用于线性系统,也可用于非线性系统;可用于离线估计,也可用于在线估计。在随机的环境下利用最小二乘法时,并不要求知道观测数据的概率统计信息,而用这种方法所获得的估计结果,却有相当好的统计性质。 在系统辨识和参数估计领域中,应用最广泛的估计方法是最小二乘法和极大似然法,而其他的大多数算法都与最小二乘法有关。最小二乘法采用的模型为 11()()()()()A z y k B z u k e k --=+ 最小二乘估计是在残差二乘方准则函数极小意义下的最优估计,即按照准则函数 ????()()min T T J e e Y Y ΦθΦθ==--= 来确定估计值?θ。求J 对?θ的偏导数并令其等于0,可得 ????()()()()0??T T T J Y Y Y Y ΦθΦθΦΦθΦΦθθ θ??=--=----=?? 即?T T Y ΦΦθΦ=。当T ΦΦ为非奇异,即Φ列满秩时,有1?()T T LS Y θΦΦΦ-=,此即参数的最小二乘估计值。 具体使用时不仅占用内存量大,而且不能用于在线辨识。一次完成算法还有如下的缺陷: (1)数据量越多,系统参数估计的精度就越高。为了获得满意的辨识结果,矩阵T ΦΦ的阶数常常取得相当大。这样,矩阵求逆的计算量很大,存储量也很大。 (2)每增加一次观测量,都必须重新计算1,()T ΦΦΦ-。 (3)如果出现Φ列相关,即不满秩的情况,T ΦΦ为病态矩阵,则不能得到最小二乘估计值。 解决这个问题的办法是把它化成递推算法。依观测次序的递推算法就是每获得一次新的观测数据就修正一次参数估计值,随着时间的推移,便能获得满意的辨识结果。递推辨识算法具有无矩阵求逆,以及跟踪时变系统等特点,这样不仅可以减少计算量和储存量,而且能实现在线辨识。

面B实验程序完整版

第一次实验

四.实验源程序及实验结果 #include #include using namespace std; class CTeacher; class CStudent //学生类 { public: CStudent(int ,string ,double ); friend void Display(CStudent &); //定义友元函数 friend CTeacher; //定义友元类 private: int ID; //学号 string Name; //姓名 double Score; //成绩 }; CStudent::CStudent(int a1,string a2,double a3): ID(a1),Name(a2),Score(a3) {} //构造函数初始化数据成员 void Display(CStudent &a) //输出姓名、成绩、等级 { int d; d=a.Score/10; cout<

系统辨识及自适应控制实验..

Harbin Institute of Technology 系统辨识与自适应控制 实验报告 题目:渐消记忆最小二乘法、MIT方案 与卫星振动抑制仿真实验 专业:控制科学与工程 姓名: 学号: 15S004001 指导老师: 日期: 2015.12.06 哈尔滨工业大学 2015年11月

本实验第一部分是辨识部分,仿真了渐消记忆递推最小二乘辨识法,研究了这种方法对减缓数据饱和作用现象的作用; 第二部分是自适应控制部分,对MIT 方案模型参考自适应系统作出了仿真,分别探究了改变系统增益、自适应参数的输出,并研究了输入信号对该系统稳定性的影响; 第三部分探究自适应控制的实际应用情况,来自我本科毕设的课题,我从自适应控制角度重新考虑了这一问题并相应节选了一段实验。针对挠性卫星姿态变化前后导致参数改变的特点,探究了用模糊自适应理论中的模糊PID 法对这种变参数系统挠性振动抑制效果,并与传统PID 法比较仿真。 一、系统辨识 1. 最小二乘法的引出 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。设单输入-单输出线性定长系统的差分方程为: ()()()()()101123n n x k a x k a k n b u k b u x k n k +-+?+-=+?+-=,,,, (1.1) 错误!未找到引用源。 式中:()u k 错误!未找到引用源。为控制量;错误!未找到引用源。为理论上的输出值。错误!未找到引用源。只有通过观测才能得到,在观测过程中往往附加有随机干扰。错误!未找到引用源。的观测值错误!未找到引用源。可表示为: 错误!未找到引用源。 (1.2) 式中:()n k 为随机干扰。由式(1.2)得 错误!未找到引用源。 ()()()x k y k n k =- (1.3) 将式(1.3)带入式(1.1)得 ()()()()()()()101111()n n n i i y k a y k a y k n b u k b u k b u k n n k a k i n =+-+?+-=+-+?+ -++-∑ (1.4) 我们可能不知道()n k 错误!未找到引用源。的统计特性,在这种情况下,往往把()n k 看做均值为0的白噪声。 设 错误!未找到引用源。 (1.5)

单片机原理与应用实验指导书(学生部分)(2009.4修订)

单片机原理与应用实验指导书 2009年5月

第一章实验箱系统概述一、系统地址分配 (1),存贮器地址分配 (2),I/O地址分配 二、系统接口定义 (1),CZ11:用户实验通讯接口; (2),CZ4:打印接口;

(3),JX0,JX17为系统提供的数据总线接口 (4),CZ7:系统提供的扩展接口; (5),JX12、JX14:液晶显示接口 三、通用电路简介 (1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图1-1,Ll—L16为相应发光二极管驱动信号输入端, 该输入端为低电平 “0”时发光二极管亮

图1-6 (2)逻辑电平开关电路:见图1-2。实验台上有8只开关Kl-K8, 与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。 图1-7 (3)单脉冲电路:实验台上单脉冲产生电路如图1-3,标有“”和“”的两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。 图1-8

(4)分频电路:该电路由一片74LS393组成,见图1-4。T0—T7为分频输出插孔。 该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0—T7输出脉 冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 图1-9 (5)脉冲发生电路:实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ 的插孔,即为脉冲的输出端。 图1-10 (6)485接口电路: 图1-11

实验一调试程序DEBUG的使用实验报告

南昌理工学院实验报告 二O一二年月日 课程名称:微机原理与接口技术实验名称:调试程序DEBUG的使用班级:姓名:同组人: 指导教师评定:签名: 【一、实验名称】 调试程序DEBUG的使用 【二、实验目的】 1.掌握汇编程序的编辑,编译,连接和执行的全过程; 2.学习和掌握用DEBUG 调试程序的方法。 【三、实验内容和原理】 1.用编辑软件,输入以下汇编语言源程序: DAT SEGMENT A D B 20 ;(自定) B DB 15 ;(自定) Y DB 3 DUP(0) Z DB 0,0 DAT ENDS STA SEGMENT STACK DW 50 DUP(?) STA ENDS COD SEGMENT ASSUME CS:COD,DS:DAT STAR PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DAT MOV DS,AX MOV AX,STA MOV SS,AX MOV AL,A MOV Z,AL MOV Z+1,AL CALL SUB1 MOV AL,B MOV Z,AL MOV Z+1,AL CALL SUB1 MOV AL,A MOV Z,AL MOV AL,B MOV Z+1,AL CALL SUB1 ADD WORD PTR Y,AX ADC BYTE PTR[Y+2],0 RET STAR ENDP SUB1 PROC MOV AL,Z MOV AH,Z+1 MUL AH ADD WORD PTR Y,AX ADC BYTE PTR[Y+2],0 RET SUB1 ENDP COD ENDS END STAR

系统辨识复习资料

1请叙述系统辨识的基本原理(方框图),步骤以及基本方法 定义:系统辨识就是从对系统进行观察和测量所获得的信息重提取系统数学模型的一种理论和方法。 辨识定义:辨识有三个要素——数据、模型类和准则。辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型 辨识的三大要素:输入输出数据、模型类、等价准则 基本原理: 步骤:对一种给定的辨识方法,从实验设计到获得最终模型,一般要经历如下一些步骤:根据辨识的目的,利用先验知识,初步确定模型结构;采集数据;然后进行模型参数和结构辨识;最后经过验证获得最终模型。 基本方法:根据数学模型的形式:非参数辨识——经典辨识,脉冲响应、阶跃响应、频率响应、相关分析、谱分析法。参数辨识——现代辨识方法(最小二乘法等) 2随机语言的描述 白噪声是最简单的随机过程,均值为零,谱密度为非零常数的平稳随机过程。 白噪声过程(一系列不相关的随机变量组成的理想化随机过程) 相关函数: 谱密度: 白噪声序列,白噪声序列是白噪声过程的离散形式。如果序列 满足: 相关函数: 则称为白噪声序列。 谱密度: M 序列是最长线性移位寄存器序列,是伪随机二位式序列的一种形式。 M 序列的循环周期 M 序列的可加性:所有M 序列都具有移位可加性 辨识输入信号要求具有白噪声的统计特性 M 序列具有近似的白噪声性质,即 M 序列“净扰动”小,幅度、周期、易控制,实现简单。 3两种噪声模型的形式是什么 第一种含噪声的被辨识系统数学模型0011()()()()n n i i i i y k a y k i b u k i v k ===-+-+∑∑,式中,噪声序列v(k)通常假定为均值为零独立同分布的平稳随机序列,且与输入的序列u(k)彼此统计独立. 上式写成:0 ()()()T y k k v k ψθ=+。其中,()()()()()()()=1212T k y k y k y k n u k u k u k n ψ------????L L ,,,,,,, ) ()(2τδστ=W R +∞ <<∞-=ωσω2)(W S )}({k W Λ,2,1,0,)(2±±==l l R l W δσ2)()(σωω== ∑ ∞-∞=-l l j W W e l R S ???≠=≈+=?0 , 00,Const )()(1)(0ττττT M dt t M t M T R bit )12(-=P P N

系统辨识试验

2、用普通最小二乘法(OLS)法辨识对象数学模型 选择得仿真对象得数学模型如下 )()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- 其中,)(k v 就是服从正态分布得白噪声N )1,0(。输入信号采用4阶M 序列,幅度为1。选择如下形式得辨识模型 )()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ 设输入信号得取值就是从k =1到k =16得M 序列,则待辨识参数LS θ?为LS θ?=L τL 1L τL z H )H H -(。其中,被辨识参数LS θ?、观测矩阵z L 、H L 得表达式为 ????? ???????=2121?b b a a LS θ , ????????????=)16()4()3(z z z L z , ????????????------=)14()2()1()15()3()2()14()2()1()15()3()2(u u u u u u z z z z z z L H 程序框图如下所示: 参考程序: %ols M 序列z=zeros(1,16); %for k=3:16 z(k)=1、end subplot(3,1,1) %stem(u) %subplot(3,1,2) %画三行一列图形窗口中得第二个图形 i=1:1:16; %横坐标范围就是1到16,步长为1 plot(i,z) %图形得横坐标就是采样时刻i, 纵坐标就是输出观测值z, 图形格式为连续曲线

subplot(3,1,3) %画三行一列图形窗口中得第三个图形 stem(z),grid on%画出输出观测值z得经线图形,并显示坐标网格 u,z%显示输入信号与输出观测信号 %L=14%数据长度 HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值 ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15); z(16)]% 给样本矩阵zL赋值 %calculating parameters%计算参数 c1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示 %DISPLAY PARAMETERS a1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、 b1、 b2 %End 注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出观测值中添加噪音,观察ols得辨识效果。同时,可以尝试增加输入信号得数量,瞧辨识结果有何变化。

相关文档