PSCAD_EMTDC与Matlab接口研究

PSCAD_EMTDC与Matlab接口研究
PSCAD_EMTDC与Matlab接口研究

仿真是电力系统研究人员进行电力暂态分析的先进手段之一[1-2]。近年来,出现了一些应用Matlab与电磁暂态软件联合编程的文献[3-4]。这里介绍一款综合利用EMTDC[5-7]与Matlab[1,8-10]各自优点来产生并分析数据的接口软件。它由3部分组成:模型建立模块、参数设置模块与算法分析模块。

1软件分析

整个暂态仿真分析接口软件的运行流程如图1所示。此软件的核心思想是利用EMTDC与Matlab之间相互传递信息来实现线路参数的控制以及故障数据的分析研究。Matlab由于有强大的数据处理能力而被广泛地应用到电力系统的各种算法研究方面;PSCAD是世界知名的EMTDC引擎的用户界面,是一种图形输入程序。用户可以在完全集成的图形环境中建立模型、运行仿真、得到仿真数据。通过接口软件可以同时获得PSCAD和Matlab这2款软件的优点。

接口软件的功能是协调Matlab与PSCAD的协同运行及完成它们之间数据、控制信息的交换。将PSCAD中的m个数据通过外部接口传送到

Matlab,Matlab充分发挥它强大的数据处理功能,经

过运算,将获得的n个运算结果传送回PSCAD中,PSCAD再次调用Matlab。如此反复,就可以根据PSCAD中的电力系统模型和Matlab中的控制条

件、分析算法得到不同工况的系统数据及分析结果。

PSCAD/EMTDC内有一个Fortran文件DSDYN,通过它可以调用外部Fortran子程序,该Fortran子程序可以启动Matlab数据引擎,同时,含有Matlab命令的M文件也将传送到Matlab数据引擎中,这样,PSCAD/EMTDC与Matlab就紧密地结合起来,用户可以根据需要编写M文件,实现所需的仿真。接口的内部结构[11]如图2所示。

图3为接口模块示意图,此接口有2个输入变量时间T、故障点电压Ufault和4个输出变量RG(过渡电阻)、EN(故障使能)、TYPE(故障类型)和Line(故障位置)。接口外观图中的引脚名和属性可以根据实际需要任意修改。

下面是软件运行流程。

a.用户在PSCAD中建立系统模型并在元件上设定各元件的参数变量,如故障位置、过渡电阻及负载等;相应地,在接口软件中,设置需要仿真的各元件参数及输出控制参数的条件。

b.运行PSCAD。PSCAD调用接口程序,并将系统运行时间和故障点电压作为参数输入到Matlab子程序中。

c.Matlab接到输入参数,根据判断条件计算出

图2接口的内部结构Fig.2InternalstructureofinterfacesoftwareFortran子程序(DSDYN)

Matlab数据引擎Matlab语言M文件

Matlab

PSCAD/EMTDC

图3接口模块示意图

Fig.3Mapofinterface

module

Matlab_incMatlab接口

RG

EN

TYPE

Line

TUfaut

图1接口软件的运行流程图

Fig.1Operationalflowchartofinterfacesoftware

PSCAD运行进行参数设置?

Matlab设置参数

是否停止?

数据分析并结束

YN

PSCAD/EMTDC与Matlab接口研究

杨健维,麦瑞坤,何正友

(西南交通大学电气工程学院,四川成都610031)

摘要:对电磁暂态分析程序PSCAD/EMTDC与数学模型软件包Matlab之间的接口进行了研究。充分利用了PSCAD/EMTDC与Matlab2款软件的优点,用PSCAD建立接口模型,启动Matlab数据引擎调用M文件,实现接口模型的参数设置。运用此接口,程序只需运行一次即可获取多组不同工况下的数据。同时分析一个输电线路实例,将接口程序产生的数据进行分段处理,将它作为BP神经网络的输入,进而区分开关操作和单相接地故障。仿真结果表明:接口软件的运用使得大量数据的获取变得更加容易。

关键词:PSCAD/EMTDC;Matlab;BP神经网络中图分类号:TM743

文献标识码:A

文章编号:1006-6047(2007)11-0083-04

收稿日期:2006-11-27;修回日期:2007-03-10

基金项目:国家自然科学基金青年基金(50407009);四川省杰

出青年基金(06ZQ026-012)

电力自动化设备

ElectricPowerAutomationEquipment

Vol.27No.11Nov.2007

第27卷第11期2007年11月

输出参数,如EN、TYPE、Line等。

d.PSCAD根据Matlab送出的数据进行元件参数设置。

e.判断是否结束,是则运行分析算法子程序并停止仿真;否则跳转到步骤b。

下面以产生故障初始相角为30°的单相接地故障为例说明控制参数的产生。图4为A相电压的波形图。其中t1~t4为区间1,t3~t4为区间2,t2为电压过零点。图5是在故障相电压相角为30°时,产生故障控制参数流程图。其中,T为PSCAD输入的系统运行时间、Ufault为A相电压值。它的工作原理是在区间1内找到第1个过零点,并以这个过零点t2为始点,在时间t3=t2+30f/360后(f为工频)、t4前送出控制参数EN=1,而其他情况下送出控制参数为EN=0。等待系统进入稳态后才进行下一次故障产生操作。

同理,过渡电阻、线路及故障类型的控制参数也可以用类似的方法产生。图6为EN、TYPE及RG控制参数规则变化的时序图,其中故障类型由类型0

到类型11变化12次,过渡电阻才变化1次。

由图可知,这样就可以通过1次仿真而产生不同工况的故障数据。当然,控制参数也可按某种分布(如正态分布)而随机产生。

2仿真实例

下面通过一个500kV输电线路模型说明接口的具体功能。

在此,接口有2个输入变量T和Ufault及3个输出为EN、TYPE和RG。当EN=1时,输电线路发生故障,EN=0时,输电线路正常工作;TYPE为控制线路发生故障的类型,设置为0 ̄11共12种故障类型,分别代表正常工况和不同的接地短路类型。

通过定义M文件,利用接口进行仿真,设置故障间隔时间为0.3s,持续时间为0.03s,运行时间为1.5s得到的三相电压波形如图7所示。输电线路依次发生A相、B相、C相接地故障。

由图7可以看出,当EN=1时,输电线路发生故障,而发生故障的类型由接口的输出引脚TYPE控制,如当EN=1,TYPE=1时,发生A相接地短路故障。

利用所开发的PSCAD/EMTDC与Matlab之间的接口软件,通过参数设置,运行一次,就可以得到大量不同工况下的系统数据,将其分段读出,可以独立地应用于其他各种电力系统分析的算法中,使需要大量系统数据的仿真算法应用时更加方便。接口与其他算法综合运用的示意图如图8所示。

3应用

图9所示为一简化的500kV输电线路仿真模

图8接口运用示意图

Fig.8Applicationofinterfacesoftware

PSCAD模型

PSCAD/EMTDC与Matlab接口得到一个不同工况下的数据文件

按M文件中的定义将其分为n个不同工况下的数据段

应用于各种分析算法

12n

…M

图6控制参数规则变化时序图

Fig.6Timingsequenceofregular

controlparameterchange

RG/Ω40010

20

30

t/s

6000

TYPE/p.u.6120EN/p.u.

0.51.00200

第27卷

电力自动化设备

t3t2t4t1

Ufault

区间1

区间2

图4A相电压的波形图

Fig.4VoltagewaveformofphaseA

图7t=1.5s时的三相电压与EN对应关系的波形图

Fig.7Waveformsofthreephasevoltages

andENwhent=1.5s

EN/p.u.

0.50.3

t/s

1.00

uC/V0500

-500uB/V0500

-500uA/V0

500-500

0.6

0.9

1.2

1.5

图5控制参数产生流程图

Fig.5Flowchartofcontrolparametergeneration

输入参数T、Ufault

T是否在区间1内?

是否找到过零点?

是否在区间2?

EN=1EN=0

保存过零点

当前为过零点?

NN

YYY

型,本文模型的采样频率为40kHz,线路模型采用

频率相关模型。利用文献[12]所述的小波能量熵测度来识别开关操作与单相接地故障。

识别各暂态信号,采用小波能量熵提取暂态信号特征,然后将其作为神经网络的输入来进行识别。识别过程如图10所示。

人工神经网络[13-15]的训练需要大量不同工况

下的样本,利用接口软件所获得的数据经过计算小波能量熵后,将其随机分为2个部分,一部分为训练样本,另一部分为测试样本,这样极大减轻了工作量。训练样本与训练的目标向量作为神经网络的输入数据进行网络训练,测试样本输入训练后的网络,将输出与期望输出进行比较,进而得到暂态识别的结果。

利用接口软件随机产生不同工况下的单相接地短路和开关操作数据共1000组,采用3层BP神经网络对2种暂态信号进行分类,取用其中的200组进行网络训练,其余800组用来测试。

网络设计步骤如下:

a.构造特征向量,直接选取各暂态信号在1 ̄16尺度上的小波能量熵作为特征向量;

b.为了便于分析,归一化处理小波能量熵;

c.设计输入层神经元共16个、

隐含层神经元33个、

输出层神经元1个;d.设计网络的训练函数为trainlm,训练误差e=0.001。

通过训练和测试,利用接口与3层BP神经网络综合应用,成功地实现了暂态信号的分类,其中单相短路故障的误判率为5%,开关操作的误判率为0。表1给出了部分数据及其识别结果。

图10暂态信号识别过程

Fig.10Processoftransientsignalrecognition

电压/电流信号小波变换小波时频熵和小波熵权的特征提取

训练目标向量t训练样本P构造特征向量

测试样本识别结果

训练后的网络

网络训练杨健维,等:PSCAD/EMTDC与Matlab接口研究

第11期表1小波能量熵神经网络识别结果举例

Tab.1AnexampleofwaveletenergyentropyNNdetection

类别输入数据(归一化后)

期望输出实际输出测试结果

开关操作

0.31210.18660.31230.27090.21930.22410.23080.236410.9881正确0.24120.24580.24990.25370.25720.26040.26340.26630.25270.25420.25220.25180.25190.25170.25140.250810.9622正确0.24650.24690.24710.24800.24880.25010.24880.2474单相短路

0.32550.14100.19560.18750.20640.22180.23430.244100.0178正确0.25250.26010.26620.27150.27620.28040.28430.28780.38770.15840.27200.18650.20230.21510.22440.22040

0.5364

错误

0.22690.23220.24280.25360.26260.27130.27820.2848

注:在误差允许情况下,认为大于0.5为1,小于0.5为0。

4接口软件运用的优点

通过对以上2个仿真实例的分析,对所研究的接口软件的运用有了更深入的了解。应用传统的仿真软件获取数据,对于每一种工况的实验都需要对模型的参数以及仿真的条件进行重新设置,这样,做一个大数据量的仿真实验,大部分的时间都将消耗在重复的点击工作和等待上,工作效率不高;而这里所研究的接口软件与传统的仿真软件相比,最大的优点就是可以一次获取大量不同工况下的数据,对不同的工况进行仿真实验,只需要编写相应的M文件,数据将实现自动获取,极大解放了人的劳动。获取文中用于BP神经网络算法的1000组实验数据,使用所研究的接口软件将带来很大的方便,下面以发生单相短路故障时短路电阻分别为0、100、200、300、400、500、600、700、800、900Ω的10种工况为例来说明应用本文接口软件的优点。

图11是利用传统的仿真软件获取一种工况下

1组数据的示意图,此时短路电阻为0。如果要完成上述10种不同工况的仿真,就需要等待短路电阻为0的仿真数据获取以后,修改模型参数,再进行实验,即要顺次进行图11的流程10次,才能达到最终的目的。如果要获取1000组数据,那么就要顺次重复图11的流程1000次,工作量之大,耗费时间之

长可想而知。传统仿真软件的这种缺点也迫切的需要研究一种能实现数据自动获取的新型软件。

图12是这里所研究的接口软件获取数据的示意图。可知,对于单相短路故障时电阻由0~900Ω变化的仿真,只要编写相应的M文件,使电阻按照需要变化,就可以实现数据的自动获取,在M文件中,还可以设置电阻为0不变时,在不同的时刻发生故障,这样,通过设置,就可以实现仿真一次获取一

图11传统软件获取一组数据的示意图

Fig.11Datagroupaccessoftraditionalsoftware

对模型进行参数设置短路电阻为0运行程序进行仿真得到1组短路电阻为0时的数据

图9500kV输电线路模型示意图

Fig.9Modelof500kVtransmissionline

500∠0°kVi

500∠0°kV

100km

50km

276.4km500∠30°kV

BA

1μF

1μF

1μF

图12接口软件获取数据示意图

Fig.12Datagroupaccessofinterfacesoftware

编写M文件使电阻按照需要变化

运行程序进行仿真得到10种不

同电阻时的数据

电阻为0的数据

电阻为100Ω的数据

电阻为900Ω的数据

分段读出

个系统数据文件,它包含了所需要的不同工况下的所有数据。接口软件由于要调用Matlab的M文件而占用了更多的CPU时间,但由于仿真的过程中不需要对模型参数作任何修改,编写适合的M文件后,程序自动运行,数据文件自动存储,研究人员可利用程序运行的时间去做其他研究工作,这样,就不会像应用传统的仿真软件那样,把时间浪费在点击和等待上,大幅提高了研究人员的工作效率。

5结论

对学习与研究传统的继电保护算法以及新型的

智能算法而言,能方便、

快捷地产生多种工况数据的仿真软件是至关重要的。这里所研究的接口软件能减少仿真时间,提高仿真效率,有助于研究者更好地研究电力系统的规律。

这里所述的接口软件能对不同工况的故障进行仿真与分析。它能一次产生数以万计的不同工况的数据。此软件具有较好的解耦性:对于不同的电力模型以及不同的分析算法,都不需要进行大的改动,甚至不必修改。

小波能量熵与BP神经网络在暂态识别上确实有较好的性能,但也存在误判的情况。此算法仍然需要研究者的进一步分析研究。参考文献:

[1]吴天明,谢小竹,彭彬,等.Matlab电力系统设计与仿真[M].北

京:国防工业出版社,2004.

[2]李广凯,李庚银.电力系统仿真软件综述[J].电气电子教学学

报,2005,27(3):61-65.

LIGuang-kai,LIGeng-yin.Thesummaryofpowersystemsimu-lationsoftware[J].JournalofElectrical&ElectronicEngineeringEducation,2005,27(3):61-65.

[3]KEZUNOVICM,CHEMQ.Novelapproachforinteractiveprotection

systemsimulation[J].IEEETransonPowerDelivery,1997,12(2):668-674.

[4]ZHANGNan,KEZUNOVICM.Implementinganadvancedsimu-

lationtoolforcomprehensivefaultanalysis[J].IEEEonTrans-missionandDistributionConferenceandExhibition,2005,15(18):1-6.

[5]林良真,叶林.电磁暂态分析软件包PSCAD/EMTDC[J].电网

技术,2000,24(1):65-66.

LINLiang-zhen,YELin.AnintroductiontoPSCAD/EMTDC[J].PowerSystemTechnology,2000,24(1):65-66.

[6]肖异,尹项根,张哲,等.PSCAD/EMTDC程序与继电保护仿真模

型接口技术及应用[J].电力自动化设备,2006,26(11):67-70.

XIAOYi,YINXiang-gen,ZHANGZhe,etal.InterfacetechniquebetweenPSCAD/EMTDCandrelayprotectionsimulationmodel

anditsapplication[J].ElectricPowerAutomationEquipment,2006,26(11):67-70.

[7]朱瑜,梁旭,闵勇.基于PSCAD/EMTDC的高压直流输电线路保

护仿真研究[J].现代电力,2006,23(2):35-38.

ZHUYu,LIANGXu,MINYong.SimulationoflineprotectionofHVDCtransmissionbasedonPSCAD/EMTDC[J].ModernElectricPower,2006,23(2):35-38.

[8]张志涌.精通Matlab6.5版[M].北京:北京航空航天大学出版

社,2003.

[9]韩笑,徐曦,陈卓平.基于Matlab与VB数据交换的继电保护仿

真[J].电力自动化设备,2006,26(5):92-95.

HANXiao,XUXi,CHENZhuo-ping.ProtectionsimulationbasedondataexchangebetweenMatlabandVB[J].ElectricPowerAutomationEquipment,2006,26(5):92-95.

[10]许允之,刘昊,冯宇,等.Matlab在电力系统仿真实验中的应用

[J].实验技术与管理,2007,24(1):103-105,125.

XUYun-zhi,LIUHao,FENGYu,etal.TheapplicationoftheMatlabinthepowersystemsimulationexperiments[J].Experi-mentalTechnologyandManagement,2007,24(1):103-105,125.[11]钟波,赵华军.PSCAD/EMTDC程序与Matlab语言接口的研究

[J].广东电力,2005,18(8):1-3.

ZHONGBo,ZHAOHua-jun.StudyonPSCAD/EMTDC-Matlabinterface[J].GuangdongElectricPower,2005,18(8):1-3.[12]何正友,陈小勤.基于多尺度能量统计和小波能量熵测度的电

力暂态信号识别方法[J].中国电机工程学报,2006,26(10):

33-39.

HEZheng-you,CHENXiao-qin.Astudyofelectricpowersystemtransientsignalsidentificationmethodbasedonmulti-scalesenergystatisticandwaveletenergyentropy[J].Procee-dingsoftheCSEE,2006,26(10):33-39.

[13]李洪,王晟.基于小波包和神经网络的电力输电线故障诊断研

究[J].数据采集与处理,2004(4):1-6.

LIHong,WANGSheng.Faultdiagnosisinpowertransmissionlinebasedonwaveletpacketsandneuralnetworkapproach[J].JournalofDataAcquisition&Processing,2004(4):1-6.[14]杜选,高明峰.人工神经网络在数字识别中的应用[J].计算机

系统应用,2007(2):21-27.

DUXuan,GAOMing-feng.Theapplicationofidentifyingnumbersonartificialneuralnetwork[J].ComputerSystemsApplications,2007(2):21-27.

[15]张亚军,刘志刚,张大波.一种基于多神经网络的组合负荷预

测模型[J].电网技术,2006,30(21):21-25.

ZHANGYa-jun,LIUZhi-gang,ZHANGDa-bo.Acombinationloadforecastingmodelbasedonmulti-neuralnetworks[J].PowerSystemTechnology,2006,30(21):21-25.

(责任编辑:李玲)

作者简介:

杨健维(1983-),女,辽宁凌源人,硕士研究生,主要研究方向为电力系统继电保护(E-mail:yangjianwei0910@163.

com);

麦瑞坤(1980-),男,广东东莞人,博士研究生,主要研究领域为电力系统故障诊断中信号处理和信息理论的应用、新型线路保护;

何正友(1970-),男,四川自贡人,教授,博士研究生导师,主要从事信号处理和信息理论在电力系统故障诊断中的应用、新型继电保护原理、配电网自动化等方向的研究工作。

第27卷

电力自动化设备

0引言

配电网故障的80%左右为单相接地故障[1-4]。单相接地故障中的绝大多数为可自恢复的故障,尤其是自然条件差(台风、雷电频繁)的架空线电网,需要分断电路处理的永久性单相接地故障更是极少数[4]。因此,从提高供电可靠性考虑,我国中压配电网绝大多数采用小电流接地方式。小电流接地电网中,单相接地故障相当大一部分为可自恢复的故障。可自恢复性单相接地故障点的电弧是否能自然熄灭的决定因素是接地故障残流的大小:残流小,有利于电弧过零时熄灭;残流小,电弧对介质绝缘的破坏程度低,有利于故障点绝缘介质的恢复,使电弧不易重燃;残流小,也有利于降低故障相恢复电压的初始速度,使电弧不易重燃。小电流接地方式是以单相接

地故障电弧自行熄灭、故障自恢复为原则的。因此,

消弧线圈的安装、运行应该以使接地故障点的残流尽量小为目标。

不管是城市电网还是农村电网,用电负荷都在急剧增加,电网的结构及规模在不断扩大;城镇电网的改造中,电缆网络正在逐渐取代架空线路;过去采用单电源的辐射式供电或树状供电方式,已不能满足用电负荷增长的要求,而需要采用网孔形或环形等供电方式;这些因素都使其单相接地故障电流急剧增加,单体大容量自动跟踪补偿消弧线圈被采用[5-8]。当消弧线圈的单体容量不能满足补偿电网接地电流的要求时,在同一电网安装2台或多台自动跟踪补偿消弧线圈的也有之。实际上,消弧线圈只能减少接地故障电流的无功分量,即脱谐度只是单相接地残流中无功分量大小的决定因素。即使采用自动跟踪补偿的方法来实现理想调谐,使接地电流中的无功分量几乎为零后,零序回路的有功损耗电流仍然不

一种新的适合分布安装的消弧线圈

轶,陈

(中国矿业大学信电学院,江苏徐州221008)

摘要:可自恢复性单相接地故障点的电弧是否能自然熄灭的决定因素是接地故障残流的大小。以降低单相接地故障点的残流为出发点,从理论上分析了谐振接地系统残流产生的原因:消弧线圈自动跟踪补偿只能有效地降低零序回路的无功电流,不能降低零序回路的有功电流。通过仿真计算得出结论:消弧线圈分布安装是降低谐振接地系统接地故障点残流有功分量的有效方法。针对我国6kV和10kV中压配电网一般均为△接线,无辅助中性点供消弧线圈接入的特点,设计了一种新颖的消弧线圈。该消弧线圈为三相五柱电抗器结构,通过调节两边柱的气隙大小改变补偿电流的大小,结构简单,适合于分布安装。实验室试验证明其补偿电感线性度好、补偿效果好。关键词:消弧线圈;单相接地故障;中性点接地中图分类号:TM55

文献标识码:A

文章编号:1006-6047(2007)11-0087-04收稿日期:2006-11-16;修回日期:2007-03-30

电力自动化设备

ElectricPowerAutomationEquipment

Vol.27No.11Nov.2007

第27卷第11期2007年11月

InterfacebetweenPSCAD/EMTDCandMatlab

YANGJian-wei,MAIRui-kun,HEZheng-you

(SchoolofElectricalEngineering,SouthwestJiaotongUniversity,Chengdu610031,China)

Abstract:TheinterfacebetweenPSCAD/EMTDCandMatlabisresearched.TomakethebestuseoftheelectromagnetictransientanalysisprogramPSCAD/EMTDCandthemathmodelsoftwarepackageMatlab,theinterfacemodelisbuiltusingPSCADanditsparametersaresetbycallingtheMfileusingthedataengineofMatlab.Massivedataunderdifferentconditionscouldbeaccessedviathisinterfaceonceitruns.Anapplicationexampleofpowertransmissionlineisanalyzed.DatagotviatheinterfaceareprocessedinsegmentsandsenttoBPneuralnetworktodetectsingle-phasegroundingfaultfromswitchoperations.Simulationresultspointoutthatthisinterfacesoftwarefacilitatestheacquisitionofmassivedata.

TheprojectissupportedbyNationalNaturalScienceFoundationofChina(50407009)andDistinguishedScholarsFundofSichuanProvince(06ZQ026-012).

Keywords:PSCAD/EMTDC;Matlab;BPneuralnetwork

""""""""""""""""""""""""""""""""""""""""""""""

matlab实现:常见的离散时间信号

1. 单位抽样序列,或称为离散时间冲激,单位冲激: ? ??=01)(n δ 00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2.单位阶跃序列 ? ??01)(n u 00<≥n n 在MATLAB 中可以利用ones( )函数实现。 );,1(N ones x = 3.正弦序列 )(cos )(0φω+=n A n x 这里, ,,0ωA 和φ都是实数,它们分别称为本正弦信号)(n x 的振幅,角频率和初始相位。 πω200=f 为频率。 4.复正弦序列 n j e n x ω=)( 5.实指数序列 n A n x α=)( 6. 随机序列 长度为N 的随机序列 基本数学函数参考教材P69页以及随后的使用说明。 注意使用行向量,特别是冒号运算符。 举例,长度为N 的实指数序列在MATLAB 中实现: n a x N n .^1 :0=-= 1. 单位采样 长度为N 的单位采样序列u(n)可以通过下面的MATLAB 命令获得:

u=[1 )1,1(-N zeros ]; 延迟M 个采样点的长度为N 的单位采样序列ud(n)(M

VB与MATLAB接口的实现

VB与MATLAB接口的实现: https://www.360docs.net/doc/12531887.html, 实例说明 在本实例中,我们制作一个能够与Matlab进行交互的应用程序。程序运行结果如图78-1所示。 图78-1 运行结果 技术要点 z引用Matlab库 z执行Matlab命令 z结束Matlab 实现过程 ■ 新建项目 打开Visual https://www.360docs.net/doc/12531887.html,,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“CnMatlab”,然后选择保存路径。单击“确认”。 ■ 添加控件 向当前窗体添加五个Button按钮,两个Picture控件,一个Label控件,一个Hscroll控件和一个Vscroll控件。单击菜单“项目|添加引用”,选中“Matlab Automation(Version5.3)Type Library”这一项。 注意:本程序只能在安装有Matlab的机器上运行。 ■ 设置属性 将Label控件和Command按钮的Text属性设置为与界面一致。在此不再赘述。 ■ 添加代码 Dim str1 As String ' 显示正弦图 Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click Dim matlab As Object matlab = CreateObject("matlab.application") matlab.MinimizeCommandWindow()

MATLABAPI详解

MATLAB、API详解 【例12.1.4-1】有一个绘圆的M脚本文件circle.m如下。希望获得一个MEX绘圆程序。(1)原始的绘圆脚本文件 [circle.m] clf;r=2;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square') (2)对这脚本文件直接编译将因错误而失败 mcc -x circle ??? Error: File "circle" is a Script M-file and cannot be compiled with the current Compiler. Error in ==> H:\MATLAB53\toolbox\compiler\mcc.dll (3)把脚本文件改写成函数文件。 [circle_f.m]: function circle_f(r) clf;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square') (4)再对circle_f.m进行编译,将顺利通过。 mcc -x circle_f %mcc是编译指令,详见12.4节。 (5)运行生成的MEX文件circle_f.dll circle_f(0.5) %调用circle_f绘制一半径为0.5的圆 which circle_f %查询所调用的circle_f的路径全称。

图 12.2.1-1 【Select MATLAB Componets】对话窗的选项局部图 图 12.2.2.1-1 为产生MEX文件所产生的配置屏1

图 12.2.2.1-2 为产生MEX文件所产生的配置屏2 12.1.1.1配置正确性的验证 (1)mex应用程序的验证 cd d:\mywork %把用户目录指定为当前目录 mex my_yprime.c %由my_yprime.c文件生成my_yprime.dll文件my_yprime(1,1:4) %运行my_yprime.dll文件 which my_yprime %获得my_yprime.dll文件的位置信息 ans = 2.0000 8.9685 4.0000 -1.0947 d:\mywork\my_yprime.dll (2)在MATLAB命令窗中验证mcc应用程序 mcc -x my_yprime_m%<1> my_yprime_m(1,1:4) which my_yprime_m ans = 2.0000 8.9685 4.0000 -1.0947 d:\mywork\my_yprime_m.dll (3)在 DOS提示符后验证mex、mcc应用程序

系统对接方案

系统对接设计 1.1.1对接式 系统与外部系统的对接式以web service式进行。 系统接口标准: 本系统采用SOA体系架构,通过服务总线技术实现数据交换以及实现各业务子系统间、外部业务系统之间的信息共享和集成,因此SOA体系标准就是我们采用的接口核心标准。主要包括: 服务目录标准:服务目录API接口格式参考以及关于服务目录的元数据指导规,对于W3C UDDI v2 API结构规,采取UDDI v2的API的模型,定义UDDI的查询和发布服务接口,定制基于Java和SOAP的访问接口。除了基于SOAP1.2的Web Service 接口式,对于基于消息的接口采用JMS或者MQ的式。 交换标准:基于服务的交换,采用HTTP/HTTPS作为传输协议,而其消息体存放基于SOAP1.2协议的SOAP消息格式。SOAP的消息体包括服务数据以及服务操作,服务数据和服务操作采用WSDL进行描述。 Web服务标准:用WSDL描述业务服务,将WSDL发布到UDDI用以设计/创建服务,SOAP/HTTP服务遵循WS-I Basic Profile 1.0,利用J2EE Session EJBs实现新的业务服务,根据需求提供SOAP/HTTP or JMS and RMI/IIOP接口。 业务流程标准:使用没有扩展的标准的BPEL4WS,对于业务流程以SOAP服务形式进行访问,业务流程之间的调用通过SOAP。 数据交换安全:与外部系统对接需考虑外部访问的安全性,通过IP白、SSL认证等式保证集成互访的合法性与安全性。 数据交换标准:制定适合双系统统一的数据交换数据标准,支持对增量的数据自动进行数据同步,避免人工重复录入的工作。 1.1.2接口规性设计 系统平台中的接口众多,依赖关系复杂,通过接口交换的数据与接口调用必须遵循统一的接口模型进行设计。接口模型除了遵循工程统一的数据标准和接口规标准,实现接口

常用信号的MATLAB表示

5 常用信号的MATLAB表示5.1单位冲激函数、单位冲激序列 示例7: t = -5:0.01:5; y = (t==0); subplot(121); plot(t, y, 'r'); n = -5:5; x = (n==0); subplot(122); stem(n, x); 图5 运行结果如图5所示。

程序说明: (1)由n = -5:5得到一个1×11数组n;而在x = (n==0)中,n==0是一个向量运算,即向量n中的每一个元素与0比较是否相等,其比较结果0或1放在x中。这样得到的向量x也是1×11数组,且正好就是单位冲激序列。 (2)在MATLAB中,任何向量x的下标是从1开始的,不能取零或负值,而x(n)中的时间变量n则不此受限制。因此向量x的下标与时间变量n是两个概念,如本例中向量x(n)的下标是从1到11,而时间变量n是从-5到5。所以必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。在信号的表示和运算中,这一点请务必注意;只有当序列x(n)的时间变量正好是从1开始时,才能省去时间变量n,因为此时向量的下标与时间变量相同。 (3)单位冲激函数的实现方法实际上与单位冲激序列是完全相同的,都是用序列表示。只不过表示连续时间信号的序列中两相邻元素所对应的时间间隔更小,如本例中t的间隔为0.01,而表示离散时间信号的序列中两相邻元素所对应的时间间隔一般为1。 由于单位冲激序列在信号与系统中经常使用,我们专门编制一个函数文件delta.m,在后面的实验部分直接调用该函数即可产生需要的波形。 % delta.m function [x, n] = delta(n1,n2,k) % 产生冲激序列δ(n-k),其中n1<=n<=n 2, n1<=k<=n2

系统对接方案

系统对接设计 1.1.1对接方式 系统与外部系统的对接方式以web service方式进行。 系统接口标准: 本系统采用SOA体系架构,通过服务总线技术实现数据交换以及实现各业务子系统间、外部业务系统之间的信息共享和集成,因此SOA体系标准就是我们采用的接口核心标准。主要包括: 服务目录标准:服务目录API接口格式参考国家以及关于服务目录的元数据指导规范,对于W3C UDDI v2 API结构规范,采取UDDI v2的API的模型,定义UDDI的查询和发布服务接口,定制基于Java和SOAP的访问接口。除了基于SOAP1.2的Web Service 接口方式,对于基于消息的接口采用JMS或者MQ的方式。 交换标准:基于服务的交换,采用HTTP/HTTPS作为传输协议,而其消息体存放基于SOAP1.2协议的SOAP消息格式。SOAP的消息体包括服务数据以及服务操作,服务数据和服务操作采用WSDL进行描述。 Web服务标准:用WSDL描述业务服务,将WSDL发布到UDDI用以设计/创建服务,SOAP/HTTP服务遵循WS-I Basic Profile 1.0,利用J2EE Session EJBs实现新的业务服务,根据需求提供SOAP/HTTP or JMS and RMI/IIOP接口。 业务流程标准:使用没有扩展的标准的BPEL4WS,对于业务流程以SOAP服务形式进行访问,业务流程之间的调用通过SOAP。 数据交换安全:与外部系统对接需考虑外部访问的安全性,通过IP白名单、SSL 认证等方式保证集成互访的合法性与安全性。 数据交换标准:制定适合双方系统统一的数据交换数据标准,支持对增量的数据自动进行数据同步,避免人工重复录入的工作。 1.1.2接口规范性设计 系统平台中的接口众多,依赖关系复杂,通过接口交换的数据与接口调用必须遵循统一的接口模型进行设计。接口模型除了遵循工程统一的数据标准和接口规范标准,实现接

实验1 常见离散信号的MATLAB产生和图形显示

实验1 常见离散信号的MATLAB 产生和图形显示 一、实验目的:加深对常用离散信号的理解 二、实验原理: 1.单位抽样序列:???=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n ?δ即:? ??=?01)(k n δ 0≠=n k n 2.单位阶越序列:???0 1 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。(1,)x ones N = 3.正弦序列:)/2sin()(?π+=Fs fn A n x 在MATLAB 中 ) /***2sin(*1 :0fai Fs n f pi A x N n +=?= 4.复正弦序列:n j e n x ?=)( 在MATLAB 中 ) **exp(1 :0n w j x N n =?= 5.指数序列:n a n x =)( 在MATLAB 中 n a x N n .^1:0=?= 三、实验内容: 1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 2、讨论正弦序列、复指数序列的性质: (1)绘出信号()zn x n e =,当1126z j π=?+、1126z j π=+、112 z =、62πj z +=、6π j z =时 信号的实部和虚部图;当6 π j z =时信号的周期为多少?

(2)绘出信号() 1.5sin(2*0.1)x n n π=的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期。 3、使用帮助功能学习square(方波),sawtooth(锯齿波)和sinc 函数,并绘图。 四、实验要求: 1、预先阅读MATLAB 基础; 2、讨论复指数序列的性质。

MATLAB与FPGA的接口

FPGA器件的开发平台与MATLAB接口仿真 2007-09-03 16:24 FPGA器件的开发平台与MATLAB接口仿真 中南财经政法大学信息学院周巍武汉大学电气工程学院张志杰引言 现场可编程逻辑门阵列FPGA器件的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用功能。 它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。目前使用最多的Quartus II 软件支持几乎所有的EDA工具,并且可以通过命令行或Tcl脚本与第三方EDA工具之间进行无缝连接。但在很多工程设计应用中,由FPGA器件完成的主程序中只完成大量的数学运算,程序调试时以二进制输出的信号可视性差,给设计人员进行仿真、调试带来了很多不便。对于很多工程设计人员来说MATLAB是一种熟悉的具有强大的运算功能和波形仿真、分析功能的软件,如果能将FPGA与MA TLAB接口,就可以快速、准确、直观地对FPGA程序进行校验和仿真,尤其在波形信号处理等工程应用领域具有实际意义。 Quartus II 开发软件 Altera公司的QuartusII软件提供了可编程片上系统(SOPC)设计的一个综合开发环境。Quartus II 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。QuartusII 软件支持VHDL和Verilog硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。QuartusII软件可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和第三方EDA工具的接口。QuartusII设计软件根据设计者需要提供了一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案。图1说明了QuartusII软件的开发流程。 在实际应用设计中,对程序原理性及可执行性的验证主要集中在程序修改阶段,尤其在

系统对接设计方案

系统对接设计 1.1.1 3.7.3 对接方式 系统与外部系统的对接方式以web service方式进行。 系统接口标准: 本系统采用SOA体系架构,通过服务总线技术实现数据交换以及实现各业务子系统间、 外部业务系统之间的信息共享和集成,因此SOA体系标准就是我们采用的接口核心标准。主要包括: 服务目录标准:服务目录API接口格式参考国家以及关于服务目录的元数据指导规范, 对于W3C UDDI v2 API结构规范,采取UDDI v2 的API的模型,定义UDDI的查询和发布服务接口,定制基于Java和SOAP的访问接口。除了基于SOAP1.2的Web Service接口方式,对于基于消息的接口采用JMS或者MQ的方式。 交换标准:基于服务的交换,采用HTTP/HTTPS作为传输协议,而其消息体存放基于 SOAP1.2协议的SOAP消息格式。SOAP的消息体包括服务数据以及服务操作,服务数据和服务操作采用WSDL进行描述。 Web服务标准:用WSDL描述业务服务,将WSDL发布到UDDI用以设计/创建服务,SOAP/HTTP服务遵循WS-I Basic Profile 1.0,利用J2EE Session EJBs 实现新的业务服务,根据需求提供SOAP/HTTP or JMS and RMI/IIOP接口。 业务流程标准:使用没有扩展的标准的BPEL4WS,对于业务流程以SOAP服务形式进行访问,业务流程之间的调用通过SOAP。 数据交换安全:与外部系统对接需考虑外部访问的安全性,通过IP白名单、SSL认证等方式保证集成互访的合法性与安全性。 数据交换标准:制定适合双方系统统一的数据交换数据标准,支持对增量的数据自动进行数据同步,避免人工重复录入的工作。 1.1.2 3.3.8接口规范性设计 系统平台中的接口众多,依赖关系复杂,通过接口交换的数据与接口调用必须遵循统一的接口模型进行设计。接口模型除了遵循工程统一的数据标准和接口

常见连续信号的MATLAB表示

实验名称:常见连续信号的MATLAB 表示 报告人: 姓名班级学号 一、实验目的 1、熟悉常见连续时间信号的意义、特性及波形; 2、学会使用MATLAB 表示连续时间信号的方法; 3、学会使用MATLAB 绘制连续时间信号的波形。 二、实验内容及运行结果 1、运行以上5个例题的程序,保存运行结果。 2、已知信号()t f 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。 <1)()t f -; <2)()2-t f ; <3)()at f <其中a 的值分别为 21= a 和2=a ); <4)? ?? ??+12 1t f 。 第一题 例题1

程序如下: >> t1=-10:0.5:10。 >> f1=sin(t1>./t1。 >> figure(1> >> plot(t1,f1> >> xlabel('取样间隔p=0.5'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。>> t2=-10:0.1:10。 >> f2=sin(t2>./t2。 >> figure(2> >> plot(t2,f2> >> xlabel('取样间隔p=0.1'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。运行结果如下:

f(t)=Sa(t)=sin(t)/t 取样间隔p=0.5 f(t)=Sa(t)=sin(t)/t 取样间隔p=0.1例题2 程序如下: >> syms t >> f=sin(t>/t。 >> ezplot(f,[-10,10]>运行结果如下:

sin(t)/t t 例题3: 程序如下: >> t=-1:0.01:4。 >> t0=0。 >> ut=stepfun(t,t0>。>> plot(t,ut> >> axis([-1,4,-0.5,1.5]>运行结果如下:

基于matlab的直接序列扩频通信系统仿真

基于MATLAB的直接序列扩频通信系统仿真 1.实验原理:直接序列扩频(DSSS)是直接利用具有高码率的扩频码系列采用各种调 制方式在发端与扩展信号的频谱,而在收端,用相同的扩频码序去进行解扩,把扩展宽的扩频信号还原成原始的信息。它是一种数字调制方法,具体说,就是将信源与一定的PN码(伪噪声码)进行摸二加。例如说在发射端将"1"用11000100110,而将"0"用00110010110去代替,这个过程就实现了扩频,而在接收机处只要把收到的序列是11000100110就恢复成"1"是00110010110就恢复成"0",这就是解扩。这样信源速率就被提高了11倍,同时也使处理增益达到10DB以上,从而有效地提高了整机倍噪比。 1.1 直扩系统模型 直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端用与发送端相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信号。对干扰信号而言,与伪随机码不相关,在接收端被扩展,使落入信号通频带的干扰信号功率大大降低,从而提高了相关的输出信噪比,达到了抗干扰的目的。直扩系统一般采用频率调制或相位调制的方式来进行数据调制,在码分多址通信中,其调制多采用BPSK、DPSK、QPSK、MPSK等方式,本实验中采取BPSK方式。 直扩系统的组成如图1所示,与信源输出的信号a(t)是码元持续时间为Ta的信息流,伪随机码产生器产生伪随机码c(t),每个伪随机码的码元宽度为Tc (Tc<

labview与matlab接口的方法

LabVIEW与Matlab接口的方法 The Method of Interfacing Between LabVIEW and Matlab 陈金平 (新疆大学,乌鲁木齐 830008) 0 引言 虚拟仪器技术是计算机技术、现代测控技术和电子仪器技术相互结合、渗透的产物。在虚拟仪器系统中,数据的分析处理、控制、结果输出和用户界面等功能都由软件完成,硬件仅仅是为了解决信号的输入输出,因此,软件是整个仪器系统的核心,从某种意义上可以说:“软件即仪器”。虚拟仪器系统的软件设计可以采用通用的可视化编程语言,如Visual C++、Visual Basic、Delphi等,但更为方便高效的还是专用的虚拟仪器软件开发平台,如美国国家仪器公司(National Instruments,NI)的Lab2 VIEW、LabW indows/C VI,惠普公司的VEE等,而其中首推NI公司的图形化编程语言LabVIEW。 1 LabVIEW的功能及特点 LabVIEW是NI公司推出的一种虚拟仪器软件开发平台,自1986年正式推出,经过短短不到15年的时间,已经发展到以最新板本LabVIEW611为核心,包括控制与仿真、高级数字信号处理、统计过程控制、模糊控制和PID控制等众多附加软件包,运行于W indows NT/98、Linux、M acintosh、Sun和HP-UX等多种平台的工业标准软件开发环境。 LabVIEW在包括航空航天、通信、汽车、半导体和生物医学等众多领域内得到了广泛的应用。其最大的特色是采用编译型图形化编程语言———G语言(G raph2 Pro gramm ing),即用户设计好程序的大体框架后,如同画流程图一般,只需将系统提供的各种图形化功能模块连接起来,就可得到所需的应用软件。LabVIEW中的程序称为VI(virtual instruments),每个VI都由前面板和框图程序以及图标/连接端口三部分组成。 除了具备其它编程语言所提供的常规函数功能外,LabVIEW内部还集成了大量的生成图形界面的模板,如各种表头、旋钮、开关、LE D指示灯、图表等;丰富实用的数值分析、信号处理功能,如FFT变换、各种滤波器、信号发生器等;以及对RS-232、G PI B、VXI、数据采集板卡、网络等多种硬件的设备驱动功能,并免费提供数十家世界知名仪器厂商的几百种源码级仪器驱动,大大方便和简化了用户的设计开发工作。Lab2 VIEW使得过去繁琐、枯燥的软件开发变得简单、方便,尤其适合不熟悉传统文本编程语言(如C、BASIC等)的工程技术人员,被誉为工程师和科学家的语言。 但是,在大型的系统测试和仿真过程中,需要软件进行一些很复杂的数值计算时,LabVIEW的图形化编程语言就显得力不从心,M atlab是一种常用的高效率数学运算工具,它建立在向量、数组和复数矩阵的基础上,使用方便,将它和LabVIEW有机地结合起来会大大减少编程的工作量,提高编程效率。本文通过求解一常微分方程初值问题的例子,介绍了两种编程语言的接口方法。 2 在LabVIEW中调用Matlab语言的方法在测试系统设计和软件开发过程中,数学分析与信号处理是两个不可缺少的重要内容。LabVIEW将数据采集和测试分析中常用的数学和信号分析算法程序集成在一起,提供了先进的数学和信号分析环境,所有的数学分析节点都集中在M athematics子模板中。在此模板中有一M atlab Script节点,利用此节点就可以实现在LabVIEW中对M atlab语言的调用。下面通过具体例子介绍调用方法。举例如下: 用Runge2K utta法计算下列微分方程的解(初值问题): y′=-50y+50x2+2x , 0≤x≤1 y(0)=1 2.1 编制M文件 启动M atlab610,利用其M文件编辑器编写M文件如下: function y=ff2(x,y) y=-50?y+50?x?x+2?x; 35 LabVIEW与M atlab接口的方法 陈金平

计算机组成原理第8章-输入输出系统

第八章输入输出系统 8.1输入输出设备的编址方式 8.2 总线结构 8.2.1 概述 总线是传送信息的通路,在计算机系统中使用的总线可分成3类: (1)计算机系统中各部件内部传送信息的通路。例如:运算器内部寄存器与寄存器之间、寄存器与算术逻辑运算单元(ALU)之间的传送通路,通常称之为内部总线。 (2)计算机系统中各部件之间传送信息的通路。例如CPU与主存储器之间,CPU与外设端口之间传送信息的通路,通常称之为“系统总线”。 (3)计算机多机系统内部各计算机之间传送信息的通路,通常称之为“机间总线”或“多机总线”。 本节中讨论的主要是CPU与外设接口之间的系统总线,又可称作输入输出总线,简称I/O总线。 提到总线,人们马上会想到它由许多条传输线构成,这些传输线的总条数称作总线的宽度,连接在一条总线上常常有多个设备或部件,因此常被称作共享总线或分时总线。因为不管一条总线上连接了多少个设备,任何时候只能有两个设备利用总线进行通信,一是信息发送者,一是信息接收者。于是就应该有一个部件来确定当前总线由哪两个设备来使用。如果有多个部件申请使用总线时,还应该由它根据申请者的优先级别来确定使用总线的优先次序,所有这些功能要由总线控制逻辑来完成。因此总线应该是由一定数量的传输线和总线控制器两部分构成。总线控制器可以是集中式的,集中在某个部件内部,也可以是分散式的,分散在共享总线的多个部件中。 8.2.2总线的控制方式 以集中式总线控制方式为例来说明常用的3种总线控制与仲裁方式。 1.串行链式查询方式 采用串行链式查询方式来实现判优功能的连接图如图8-3所示。

从图8-3中可以看出,该总线上连接着多个部件,对各个部件来说,除了共享数据总线和地址总线外,还有3条控制线(构成控制总线):总线请求信号线(BR)、总线忙信号线(BS)和总线认可信号线(BG)。由于总线认可信号线对共享总线的多个部件来说形成了一条串行的链,故串行链式查询方式因此而得名。平时,BR、BS和BG线均无效,当某个或多个部件要求使用总线时,各部件通过BR线向总线控制器发出总线请求信号,总线控制器得到请求后置BG线有效,并首先进入“部件0”,若“部件0”有请求,则BG线将终止向后传送,由“部件0”发出总线忙(BR=1)信号,表示当前总线由“部件0”占用;若“部件0”无请求,则BG 线继续往后传送,一直传送到某个有总线请求的部件为止,这时总线控制器将总线使用权交给该部件。从上述查询过程中可以看出,离总线控制器最近的部件具有最高的优先权,最远的部件只有在它前面所有部件均不请求使用总线时,才有可能得到总线的使用权,这种不公平的待遇将保持不变。这种查询方式控制简单,控制线数量少,总线上要增、删部件很容易,但是对串行查询链上的电路故障非常敏感,如果某个部件的查询链出了故障,那么该部件之后的所有部件都将无法得到总线的使用权。 2.计数定时查询方式 计数定时查询方式连接图如图8-4所示

实验一--常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的MATLAB 产生和图形显示 授课课时:2学时 一、实验目的: (1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。 (2)掌握MATLAB 在时域内产生常用离散时间信号的方法。 (3)掌握离散信号的基本运算。 (4)掌握简单的绘图命令。 二、实验原理: (一)信号的表示和产生 ① 单位抽样序列 ? ??=01)(n δ 00 ≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1)(k n δ ≠=n k n 参考程序: 例1-1:)2010(()(<<-=n n n x )δ clear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。 n=n1:n2;%生成离散信号的时间序列 x=[n==n0];%生成离散信号x(n) stem(n,x);%绘制脉冲杆图

xlabel(' n');ylabel('x(n)');%横坐标和纵坐标的标注说明。 title('Unit Sample Sequence');%图形上方标注图名 axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围 ② 单位阶跃序列 ???=0 1 )(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x ) clear all n1=-2;n2=20;n0=0; n=n1:n2;%生成离散信号的时间序列 x=[n>=n0];%生成离散信号x(n) stem(n,x,'filled'); xlabel('n');ylabel('x(n)'); title('Unit step Sequence'); axis([-2 20 0 1.2]); ③ 正弦序列 )sin()(?+=wn A n x 例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。 参考程序: clear f=1; A=1;nt=2;

Matlab编程以及接口

Matlab编程的初步知识: 1.M脚本文件 Matlab命令集合; 无需输入和输出变量; 与其它脚本文件之间变量透明,即共同使用Matlab的工作空间。 比如 例1: x = (1:10); y =sin(x); plot(x,y) 例2: A = magic (4); B = A'; [C,D = xtimesAB(A,B); 2.函数 同样也是完成具体任务的指令集合,但是用一个名字封装起来,变量对外不透明,需要借助输入变量提供数据,输出变量给出结果。执行完毕后,所用的内存全部释放给Matlab。这样的命令集合体称为函数,封装的名字称为函数名,输入变量和输出变量在函数名前后指定。比如例2的xtimesAB(A,B)定义如下: function [C,D] =xtimesAB(A,B) % % This function can tell the products of e-e and V-C % C = A.*B; D = A*B; end 其中,函数名为xtimesAB,输入变量为A,B;输出变量为C,D。函数名下面%开头的部分为注释内容。在Matlab环境下,可以通过help xtimesAB来显示。 还有一种简单的函数,即inline函数,其特点是随用随定义。比如 1.>> myfun = ‘1+log(r) ‘; 2.>> myfuni=inline(myfun,’r’) 3.>>a=feval(myfuni,10) 4.结果a = 3.3026

我们用得最多的,就是像xtimesAB这样的M函数。与上面这个inline函数对应的M函数为 function y=myfun(r) y=1+log(r); 该函数结尾不含有end,即Matlab不要求必须有end。 使用时,在Matlab命令环境下,直接书写函数名,并给出输入变量,即可以工作。但需要注意的是,Matlab调用的是文件名而不是函数名。但一般两者取一样的名字。因此,关键是文件名。 M函数的流程控制简介如下: I. 循环 5.while a)while condition b)命令语句 c)end 6.for a)for i=1:n b)语句 c)end ii.条件 1.if a)if condition 1 b)语句 c)elseif condition2 d)语句 e)else f)语句 g)end 2.switch a)switch 表达式 b)case case1 c)语句 d)case case2 e)语句 f)otherwise g)语句 h)End iii.跳过:continue iv.跳出:break

第8章 微型计算机输入输出接口技术习题参考答案

第八章习题及答案 8.1 CPU与外设传送数据时为什么需要I/O接口?I/O接口的基本功能有那些? 答:由于外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是I/O接口。 I/O接口的基本功能有: 1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异; 2、进行信息格式的转换,如串行和并行的转换; 3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等; 4、协调时序差异,同步CPU与外设的工作; 5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口; 6、提供联络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态; 7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA 请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 8.2 I/O接口传送的信息分为哪几类?传送的数据信息分为哪几种? 答:I/O接口信息通常包括数据信息、状态信息和控制信息等。其中数据信息包括数字量、模拟量和开关量三种基本形式。 8.3 统一编址方式和独立编址方式各有什么特点和优缺点? 答:统一编址方式的主要优点是: 1、端口寻址手段丰富,对其数据进行操作可与对存储器操作一样灵活,且不需要专门的I/O指令,有利于I/O程序的设计; 2、I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制,读写控制逻辑比较简单。 其缺点是: 1、I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少; 2、存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。 独立编址方式的优点是: 1、I/O口的地址空间独立,且不占用存储器地址空间; 2、地址线较少,寻址速度相对较快; 3、使用专门I/O指令,编制的程序清晰,便于理解和检查。 其缺点是: 1、I/O指令较少,访问端口的手段远不如访问存储器的手段丰富,导致程序设计的灵活性较差; 2、需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。 8.4 简述CPU与外设之间进行数据传送的几种常用形式,各有何优缺点? 答:CPU与外设之间的数据传送方式主要有直接程序控制方式、中断控制方式、直接存储器存取方式等。 直接程序控制方式可分为无条件传送方式和条件传送方式两种:无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定或已知的场合;条件传送方式在执行输入/

第13章 MATLAB外部程序接口技术_习题答案

1 第13章 MATLAB 外部程序接口技术 习题13 一、选择题 1.要在Word 环境下调用MATLAB 的命令,需要调用Word 的( )模板。B A .Normal B .M-Book C .自由格式 D .空白文档 2.在Excel 环境下加载Spreadsheet Link 程序后,会在Excel 窗口的“开始”选项卡中增加一个( )命令组。D A .Excel B .Spreadsheet C .Link D .MATLAB 3.打开一个可读可写的文本文件,其打开方式为 。A A .rt+ B .r+ C .rwt D .a 4.以下选项中,用于定义指向MAT 文件指针的命令是( )。A A .MA TFile *p; B .MAT *p; C .File *p; D .FIL E *p; 5.关于MATLAB 引擎,下列说法中不正确的是( )。C A .利用MA TLA B 引擎,可以在 C 程序中调用MA TLAB 的函数。 B .通过MATLAB 引擎,可以提高开发应用程序的效率。 C .通过MA TLAB 引擎,可以在MA TLAB 中直接调用用C 语言编写的函数 D .包含MA TLAB 引擎函数的程序的执行效率减低。 二、填空题 1.在Word 与MATLAB 之间进行传递的内容称为 ,由M-Book 文档传向MATLAB 的命令称为 ,M-Book 文档中的MATLAB 命令的执行结果称为 。单元(Cell ),输入单元(Input Cell ),输出单元(Output Cell ) 2.Excel 和MA TLAB 的交互操作,通过 程序来实现。Spreadsheet Link 3.MA TLAB 文件操作的基本步骤是,先 文件,在对文件进行 ,最后 文件。打开,读写,关闭 4.对MAT 文件进行操作的C 程序中,一定要包含 头文件。mat.h 5.MEX 函数在头文件 中得到声明。mex.h 三、应用题 1.在MA TLAB 中创建一个100 × 200的随机矩阵,然后将数据导入到Excel 表格中,在Excel 中调用MATLAB 的差分函数按列进行差分运算。 2.已知)2ln(x y + =π,当x 取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的 函数值。要求: (1)将函数值输出到一个数据文件中。

用MATLAB实现常用的离散时间信号及其时域运算

用M A T L A B实现常用的离散时间信号及其时域 运算 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

实验四用M A T L A B实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运算。二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0 若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为:

在MATLAB环境下访问外部函数的共享库文件

在MA TLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中。一旦加载成功,就能直接在MA TLAB中直接请求关于函数的任何信息。而当不再需要该库时,就应当及时把库文件从内存中卸载以节省内存开销。 加载库 语法:loadlibrary(…shrlib?,?hfile?) 其中shrlib为加载的动态链接库文件名(filename.dll),hfile为头文件名,它包含函数原型。例如,当加载包含MA TLAB中mx程序的libmx库时,可以使用下列语句。 hfile=[matlabroot?\extern\include\matrix.h?]; loadlibray(…libmx?, hfile) 卸载库 语法:unloadlibrary libmx 使用两个函数可以获取加载库的信息: libfunctions(…libname?) or libfunctions libname libfunctionsview(…libname?) or libfunctionsview libname 这两个函数的不同之处在于显示结果的方式不同,后者是以图形的方式显示在新的窗口中。而前者返回库libmx中有哪些可用的函数。请看示例: libfunctions libmx Methods for class lib.libmx: mxAddField mxGetFieldNumber mxIsLogicalScalarTrue mxArrayToString mxGetImagData mxIsNaN mxCalcSingleSubscript mxGetInf mxIsNumeric mxCalloc mxGetIr mxIsObject mxClearScalarDoubleFlag mxGetJc mxIsOpaque mxCreateCellArray mxGetLogicals mxIsScalarDoubleFlagSet 如果加上命令开头-full,则可以显示函数返回值的细节。 libfunctions libmx -full Methods for class lib.libmx: [mxClassID, MA TLAB array] mxGetClassID(MA TLAB array) [lib.pointer, MA TLAB array] mxGetData(MA TLAB array) [MA TLAB array, voidPtr] mxSetData(MA TLAB array, voidPtr) [lib.pointer, MA TLAB array] mxGetPr(MA TLAB array) [MA TLAB array, doublePtr] mxSetPr(MA TLAB array, doublePtr) uint8 mxIsFinite(double) uint8 mxIsInf(double) 值得注意的是,这两个函数返回值的类型均是MA TLAB的数据类型,虽然函数是利用C语言编写的。调用库函数 一旦库函数被加载到了内存空间,只要指定库名、函数名和变量就可以使用calllib函数调用库中的任何函数了。语法格式: calllib(…libname?,?funcname?,arg1,…,argn) 下列语句显示如何操作: hfile=['C:\MA TLAB7\extern\include\matrix.h'];

相关文档
最新文档