基于matlab和simulink的系统仿真

基于matlab和simulink的系统仿真
基于matlab和simulink的系统仿真

基于matlab/simulink的QPSK通信系统仿真

课程设计目的:本课程设计主要是学会运用MATLAB中的Simulink来实现数字基带信号的模拟传输。在知道其传输原理的情况下,将仿真电路到Simulink之中。并且对正交振幅调制、解调过程的频谱和波形的分析,同时在无噪声和有噪声的进行分析,加入高斯白噪声,瑞利噪声,莱斯噪声分析调制解调后的频谱、波形,观察其误码率。(1)巩固和加深学生对QPSK调制解调技术的基本知识的理解和掌握;

(2)掌握编程和程序调试的基本技能;

(3)利用MATLAB进行基本的软件设计,掌握软件设计一般方法,了解软件设计的思路;

(4)掌握书写程序设计报告的能力;

(5)提高运用MATLAB解决实际问题的能力;

课程设计仪器:(1) MATLAB7.0 (2)simulink

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

相关原理:4PSK常称为正交相移键控(QPSK)。4PSK信号每个码元含有2 比特的信息,现用ab代表这两个比特。两个比特有4种组合,

即00、01、10和11。它们和相位

之间的关系通常都按格雷码的规

k

律安排,如下表所示。

QPSK信号的编码

QPSK信号矢量图

格雷码的好处在于相邻相位所代表的两个比特只有一位不同。由于因相位误差造成错判至相邻相位上的概率最大,故这样编码使之仅造成一个比特误码的概率最大

2、QPSK调制

两种产生方法:相乘电路法

二进制信号码元“0”和“1在相乘电路中与不归零双极性矩形脉冲振幅的关系如下:二进制码元“1” →双极性脉冲“+1”;二进制码元“0” →双极性脉冲“-1”。符合上述关系才能得到第6章中的B 方式编码规则。

3、QPSK解调

原理方框图

仿真结果:

QPSK原理框图

调制端的眼图

解调端眼图

星座图

基带信号与调制信号的波形比较

无噪声的误码率

设计体会:这次的课程设计是在MATLAB的SIMULINK环境下仿真实现QPSK的调试与解调,刚开始是没有完全理解QPSK的的原理,以至于多走了很多的弯路,后来又因为没能正确的使用示波器而导致出现了很多的错误,后来加如噪声后,更是有很多的错误出现了,误码率也很大,星座图也跳跃不停。通过出现的问题,我看到了自己的不足,也学会了SIMULINK模块的运用,更重要的是了解了多进制的调制与

解调原理,通过课程设计来巩固本学期的通信原理与数字信号的专业知识内容,同时也运用理论知识与实际电路的设计相结合了起来,通过综合分析,找出了自己学习过程中的不足,为今后的学习提供实践依据,打下了基础。

这次实习是运用MATLAB中的SIMULINK仿真出8PSK的调制与解调,这是多进制的调制与解调,我开始没能完全理解多进制的调制与解调,错误的使用了二进制的方式去调制与解调,输入了二进制的正弦波,也使用了只能显示二进制的示波器,导致实验过程中一直都有错,没能正确的运行,再一次次的失败后,仍然找不到出错点在哪。后来老师来给我讲解了多进制的原理后,我明白了原来自己的

专业知识不够扎实,原理没有理解透

再接下来就是如何正确的调制了,由于没有波形,我一直没能正确的算出延时,导致误码率的居高不下,后来经老师提点,知道了,其实可以将多进制进行转换,转换为二进制的方式在示波器上显示,于是,我使用了一个转换器,成功的显示了多进制的波形。

在此次课程设计中,我掌握了SIMULINK软件的使用,虽然不是很

熟悉,但是,以后我将会更加努力的学习,还有专业知识的加强,在这次课程设计中,问题出现的如此多,主要在于专业知识的不够完善,幸亏老师一次次的细心指导,才能完成此次设计,今后一定加强学习。

参考文献

【1】张琨,高思超,毕靖,《MATLAB 2010 从入门到精通》,电子工业出版社,2011

【2】赵景波,逢锦梅,《MATLAB控制系统仿真与设计》,机械工业出版社,2010

【3】孙屹,《Simulink通信仿真开发手册》,国防工业出版社,2004 【4】樊昌信,曹丽娜,《通信原理》,国防工业出版社,2006 【5】钟麟,《MATLAB仿真技术与应用教程》,国防工业出版社,2003 附录:代码:Model {

Name "fengzhiyue"

Version 6.0

GraphicalInterface {

NumRootInports 0

NumRootOutports 0

ParameterArgumentNames ""

ComputedModelVersion "1.4"

NumModelReferences 0

NumTestPointedSignals 0

}

SavedCharacterEncoding "ibm-1386_P100-2002"

SaveDefaultBlockParams on

SampleTimeColors off

LibraryLinkDisplay "none"

WideLines off

ShowLineDimensions off

ShowPortDataTypes off

ShowLoopsOnError on

IgnoreBidirectionalLines off

ShowStorageClass off

ShowTestPointIcons on

ShowViewerIcons on

SortedOrder off

ExecutionContextIcon off

ShowLinearizationAnnotations on

RecordCoverage off

CovPath "/"

CovSaveName "covdata"

CovMetricSettings "dw"

CovNameIncrementing off

CovHtmlReporting on

covSaveCumulativeToWorkspaceVar on

CovSaveSingleToWorkspaceVar on

CovCumulativeVarName "covCumulativeData"

CovCumulativeReport off

CovReportOnPause on

ScopeRefreshTime 0.035000

OverrideScopeRefreshTime on

DisableAllScopes off

DataTypeOverride "UseLocalSettings"

MinMaxOverflowLogging "UseLocalSettings"

MinMaxOverflowArchiveMode "Overwrite"

BlockNameDataTip off

BlockParametersDataTip off

BlockDescriptionStringDataTip off

ToolBar on

StatusBar on

BrowserShowLibraryLinks off

BrowserLookUnderMasks off

Created "Thu Dec 27 15:37:29 2012"

UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%"

LastModifiedBy "lenovo"

ModifiedDateFormat "%"

LastModifiedDate "Wed Jan 02 14:47:54 2013" ModelVersionFormat "1.%" ConfigurationManager "None"

LinearizationMsg "none"

Profile off

ParamWorkspaceSource "MATLABWorkspace"

AccelSystemTargetFile "accel.tlc"

AccelTemplateMakefile "accel_default_tmf"

AccelMakeCommand "make_rtw"

TryForcingSFcnDF off

ExtModeBatchMode off

ExtModeEnableFloating on

ExtModeTrigType "manual"

ExtModeTrigMode "normal"

ExtModeTrigPort "1"

ExtModeTrigElement "any"

ExtModeTrigDuration 1000

ExtModeTrigDurationFloating "auto" ExtModeTrigHoldOff 0

ExtModeTrigDelay 0

ExtModeTrigDirection "rising"

ExtModeTrigLevel 0

ExtModeArchiveMode "off"

ExtModeAutoIncOneShot off

ExtModeIncDirWhenArm off

ExtModeAddSuffixToVar off

ExtModeWriteAllDataToWs off

ExtModeArmWhenConnect on

ExtModeSkipDownloadWhenConnect off ExtModeLogAll on

ExtModeAutoUpdateStatusClock on

BufferReuse on

ProdHWDeviceType "32-bit Generic" ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off

Array {

Type "Handle"

Dimension 1

Simulink.ConfigSet {

$ObjectID 1

Version "1.0.4"

Array {

Type "Handle"

Dimension 7

Simulink.SolverCC {

$ObjectID 2

Version "1.0.4"

StartTime "0.0"

StopTime "10.0"

AbsTol "auto"

FixedStep "auto"

InitialStep "auto"

MaxNumMinSteps "-1"

MaxOrder 5

ExtrapolationOrder 4

NumberNewtonIterations 1

MaxStep "auto"

MinStep "auto"

RelTol "1e-3"

SolverMode "Auto"

Solver "ode45"

ZeroCrossControl "UseLocalSettings"

PositivePriorityOrder off

AutoInsertRateTranBlk off

SampleTimeConstraint "Unconstrained"

RateTranMode "Deterministic"

}

Simulink.DataIOCC {

$ObjectID 3

Version "1.0.4"

Decimation "1"

ExternalInput "[t, u]"

FinalStateName "xFinal"

InitialState "xInitial"

LimitDataPoints on

MaxDataPoints "1000"

LoadExternalInput off

LoadInitialState off

SaveFinalState off

SaveFormat "Array"

SaveOutput on

SaveState off

SaveTime on

StateSaveName "xout"

TimeSaveName "tout"

OutputSaveName "yout"

SignalLoggingName "logsout"

OutputOption "RefineOutputTimes"

OutputTimes "[]"

Refine "1"

}

Simulink.OptimizationCC {

$ObjectID 4

Array {

Type "Cell"

Dimension 5

Cell "ZeroExternalMemoryAtStartup"

Cell "ZeroInternalMemoryAtStartup"

Cell "InitFltsAndDblsToZero"

Cell "OptimizeModelRefInitCode"

Cell "NoFixptDivByZeroProtection"

PropName "DisabledProps"

}

Version "1.0.4"

BlockReduction on

BooleanDataType on

ConditionallyExecuteInputs on

ConditionalExecOptimization "on_for_testing"

InlineParams off

InlineInvariantSignals on

OptimizeBlockIOStorage on

BufferReuse on

EnforceIntegerDowncast on

ExpressionFolding on

FoldNonRolledExpr on

LocalBlockOutputs on

ParameterPooling on

RollThreshold 5

SystemCodeInlineAuto off

StateBitsets off

DataBitsets off

UseTempVars off

ZeroExternalMemoryAtStartup on

ZeroInternalMemoryAtStartup on

InitFltsAndDblsToZero on

NoFixptDivByZeroProtection off

OptimizeModelRefInitCode off

LifeSpan "inf"

}

Simulink.DebuggingCC {

$ObjectID 5

Version "1.0.4"

ConsistencyChecking "none"

ArrayBoundsChecking "none"

AlgebraicLoopMsg "warning"

ArtificialAlgebraicLoopMsg "warning"

CheckSSInitialOutputMsg on

CheckExecutionContextPreStartOutputMsg off

CheckExecutionContextRuntimeOutputMsg off

SignalResolutionControl "TryResolveAllWithWarning" BlockPriorityViolationMsg "warning"

MinStepSizeMsg "warning"

SolverPrmCheckMsg "warning"

InheritedTsInSrcMsg "warning"

DiscreteInheritContinuousMsg "warning"

MultiTaskRateTransMsg "error"

SingleTaskRateTransMsg "none"

TasksWithSamePriorityMsg "warning"

CheckMatrixSingularityMsg "none"

IntegerOverflowMsg "warning"

Int32ToFloatConvMsg "warning"

ParameterDowncastMsg "error"

ParameterOverflowMsg "error"

ParameterPrecisionLossMsg "warning"

UnderSpecifiedDataTypeMsg "none"

UnnecessaryDatatypeConvMsg "none"

VectorMatrixConversionMsg "none"

InvalidFcnCallConnMsg "error"

SignalLabelMismatchMsg "none"

UnconnectedInputMsg "warning"

UnconnectedOutputMsg "warning"

UnconnectedLineMsg "warning"

SFcnCompatibilityMsg "none"

UniqueDataStoreMsg "none"

RootOutportRequireBusObject "warning"

AssertControl "UseLocalSettings" EnableOverflowDetection off

ModelReferenceIOMsg "none"

ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none"

ModelReferenceCSMismatchMessage "none"

ModelReferenceSimTargetVerbose off

UnknownTsInhSupMsg "warning"

ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" }

Simulink.HardwareCC {

$ObjectID 6

Version "1.0.4"

ProdBitPerChar 8

ProdBitPerShort 16

ProdBitPerInt 32

ProdBitPerLong 32

ProdIntDivRoundTo "Undefined"

ProdEndianess "Unspecified"

ProdWordSize 32

ProdShiftRightIntArith on

ProdHWDeviceType "32-bit Generic"

TargetBitPerChar 8

TargetBitPerShort 16

TargetBitPerInt 32

TargetBitPerLong 32

TargetShiftRightIntArith on

TargetIntDivRoundTo "Undefined"

TargetEndianess "Unspecified"

TargetWordSize 32

TargetTypeEmulationWarnSuppressLevel 0

TargetPreprocMaxBitsSint 32

TargetPreprocMaxBitsUint 32

TargetHWDeviceType "Specified"

TargetUnknown off

ProdEqTarget on

}

Simulink.ModelReferenceCC {

$ObjectID 7

Version "1.0.4"

UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error"

ModelReferenceNumInstancesAllowed "Multi"

ModelReferencePassRootInputsByReference on

ModelReferenceMinAlgLoopOccurrences off

}

Simulink.RTWCC {

$BackupClass "Simulink.RTWCC"

$ObjectID 8

Array {

Type "Cell"

Dimension 1

Cell "IncludeHyperlinkInReport"

PropName "DisabledProps"

}

Version "1.0.4"

SystemTargetFile "grt.tlc"

GenCodeOnly off

MakeCommand "make_rtw"

TemplateMakefile "grt_default_tmf"

GenerateReport off

SaveLog off

RTWVerbose on

RetainRTWFile off

ProfileTLC off

TLCDebug off

TLCCoverage off

TLCAssert off

ProcessScriptMode "Default"

ConfigurationMode "Optimized"

ConfigAtBuild off

IncludeHyperlinkInReport off

LaunchReport off

Array {

Type "Handle"

Dimension 2

Simulink.CodeAppCC {

$ObjectID 9

Array {

Type "Cell"

Dimension 9

Cell "IgnoreCustomStorageClasses"

Cell "InsertBlockDesc"

Cell "SFDataObjDesc"

Cell "SimulinkDataObjDesc"

Cell "DefineNamingRule"

Cell "SignalNamingRule"

Cell "ParamNamingRule"

Cell "InlinedPrmAccess"

Cell "CustomSymbolStr"

PropName "DisabledProps"

}

Version "1.0.4"

ForceParamTrailComments off

GenerateComments on

IgnoreCustomStorageClasses on

IncHierarchyInIds off

MaxIdLength 31

PreserveName off

PreserveNameWithParent off

ShowEliminatedStatement off

IncAutoGenComments off

SimulinkDataObjDesc off

SFDataObjDesc off

IncDataTypeInIds off

PrefixModelToSubsysFcnNames on

CustomSymbolStr "$R$N$M"

MangleLength 1

DefineNamingRule "None"

ParamNamingRule "None"

SignalNamingRule "None"

InsertBlockDesc off

SimulinkBlockComments on

EnableCustomComments off

InlinedPrmAccess "Literals"

ReqsInCode off

}

Simulink.GRTTargetCC {

$BackupClass "Simulink.TargetCC" $ObjectID 10

Array {

Type "Cell"

Dimension 12

Cell "IncludeMdlTerminateFcn"

Cell "CombineOutputUpdateFcns"

Cell "SuppressErrorStatus"

Cell "ERTCustomFileBanners"

Cell "GenerateSampleERTMain"

Cell "MultiInstanceERTCode"

Cell "PurelyIntegerCode"

Cell "SupportNonFinite"

Cell "SupportComplex"

Cell "SupportAbsoluteTime"

Cell "SupportContinuousTime"

Cell "SupportNonInlinedSFcns"

PropName "DisabledProps"

}

Version "1.0.4"

TargetFcnLib "ansi_tfl_tmw.mat" GenFloatMathFcnCalls "ANSI_C"

UtilityFuncGeneration "Auto"

GenerateFullHeader on

GenerateSampleERTMain off

IsPILTarget off

ModelReferenceCompliant on

IncludeMdlTerminateFcn on

CombineOutputUpdateFcns off

SuppressErrorStatus off

IncludeFileDelimiter "Auto"

ERTCustomFileBanners off

SupportAbsoluteTime on

LogVarNameModifier "rt_"

MatFileLogging on

MultiInstanceERTCode off

SupportNonFinite on

SupportComplex on

PurelyIntegerCode off

SupportContinuousTime on

SupportNonInlinedSFcns on

ExtMode off

ExtModeStaticAlloc off

ExtModeTesting off

ExtModeStaticAllocSize 1000000

ExtModeTransport 0

ExtModeMexFile "ext_comm"

RTWCAPISignals off

RTWCAPIParams off

RTWCAPIStates off

GenerateASAP2 off

}

PropName "Components"

}

}

PropName "Components"

}

Name "Configuration"

SimulationMode "normal"

CurrentDlgPage "Solver"

}

PropName "ConfigurationSets"

}

Simulink.ConfigSet {

$PropName "ActiveConfigurationSet" $ObjectID 1

}

BlockDefaults {

Orientation "right"

ForegroundColor "black"

BackgroundColor "white"

DropShadow off

NamePlacement "normal"

FontName "Helvetica"

FontSize 10

FontWeight "normal"

FontAngle "normal"

ShowName on

}

BlockParameterDefaults {

Block {

BlockType ComplexToRealImag

Output "Real and imag"

SampleTime "-1"

}

Block {

BlockType Constant

Value "1"

VectorParams1D on

OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)"

ConRadixGroup "Use specified scaling"

OutScaling "2^0"

SampleTime "inf"

}

Block {

BlockType Display

Format "short"

Decimation "10"

Floating off

SampleTime "-1"

}

Block {

BlockType FrameConversion

OutFrame "Frame based"

}

Block {

BlockType Gain

Gain "1"

Multiplication "Element-wise(K.*u)"

ParameterDataTypeMode "Same as input"

ParameterDataType "sfix(16)"

ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0"

OutDataTypeMode "Same as input"

OutDataType "sfix(16)"

OutScaling "2^0"

LockScale off

RndMeth "Floor"

SaturateOnIntegerOverflow on

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

信号与系统的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)'); % 加注波形标题 运行结果:

simulink模拟通信系统仿真及仿真流程

基于Simulink的通信系统建模与仿真 ——模拟通信系统姓名:XX 完成时间:XX年XX月XX日

一、实验原理(调制、解调的原理框图及说明) AM调制 AM调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。AM调制原理框图如下 AM信号的时域和频域的表达式分别为 式中,为外加的直流分量;可以是确知信号也可以是随机信号,但通常认为其平均值为0,即。 AM解调 AM信号的解调是把接收到的已调信号还原为调制信号。 AM信号的解调方法有两种:相干解调和包络检波解调。 AM相干解调原理框图如下。相干解调的关键在于必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。 AM包络检波解调原理框图如下。AM信号波形的包络与输入基带信号成正比,故可以用包络检波的方法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成。 DSB调制 在幅度调制的一般模型中,若假设滤波器为全通网络(=1),调制信号中无直流分量,则输出的已调信号就是无载波分量的双边带调制信号(DSB)。DSB调制原理框图如下 DSB信号实质上就是基带信号与载波直接相乘,其时域和频域表示式分别为DSB解调 DSB只能进行相干解调,其原理框图与AM信号相干解调时完全相同,如图SSB调制 SSB调制分为滤波法和相移法。 滤波法SSB调制原理框图如下所示。图中的为单边带滤波器。产生SSB信号最直观方法的是,将设计成具有理想高通特性或理想低通特性的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时即为,产生下边带信号时即为。

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调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

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 数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。

Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。 SimMechanics ——机械系统建模和仿真 SimMechanics 扩展Simscape? 在三维机械系统建模的能力。用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。自动化3-D动画生成工具可做到仿真的可视化。用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。 SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。 特点: ?提供了三维刚体机械系统的建模环境 ?包含了一系列分析机械运动和设计机械元件尺寸的仿真技术 ?三维刚体可视化仿真 ?SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口

?能够把模型转化为C代码(使用Real-Time Workshop) ?由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。 强大功能: 搭建机械系统模型 使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。 机械系统建模仿真和分析 SimMechanics包含如下子系统: ?使用Simulink查表模块和SimMechanics传感器和作动器定义的非线性的弹性单元 ?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵 ?车辆悬架系统,例如防侧翻机械装置和控制器 ?轮胎模型

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

第12章--MATLAB-Simulink系统仿真-习题答案

, 第12章 MATLAB Simulink系统仿真 习题12 一、选择题 1.启动Simulink后,屏幕上出现的窗口是()。A A.Simulink起始页 B.Simulink Library Browser窗口 C.Simulink Block Browser窗口 D.Simulink模型编辑窗口 2.模块的操作是在()窗口中进行的。D A.Library Browser B.Model Browser ( C.Block Editer D.模型编辑 3.Integrator模块包含在()模块库中。B A.Sources B.Continuous C.Sinks D.Math Operations 4.要在模型编辑窗口中复制模块,不正确的方法是()。B A.单击要复制的模块,按住鼠标左键并同时按下Ctrl键,移动鼠标到适当位置放开鼠标 B.单击要复制的模块,按住鼠标左键并同时按下Shift键,移动鼠标到适当位置放开鼠标 C.在模型编辑窗口选择Edit→Copy命令和Edit→Paste命令 D.右键单击要复制的模块,从快捷菜单中选择Copy命令和Paste命令 | 5.已知仿真模型如图12-41(a)所示,示波器的输出结果如图12-41(b)所示。 (a)仿真模型

(b )示波器输出结果 图12-41 习题仿真模型及仿真结果 则XY Graph 图形记录仪的输出结果是( )。C A .正弦曲线 B .余弦曲线 C .单位圆 D .椭圆 】 二、填空题 1.Simulink (能/不能)脱离MATLAB 环境运行。 2.建立Simulink 仿真模型是在 窗口进行的。模型编辑窗口 3.Simulink 仿真模型通常包括 、系统模块和 三种元素。 信号源(Source ),信宿(Sink ) 4.由控制信号控制执行的子系统称为 ,它分为 、 和 。 条件执行子系统,使能子系统,触发子系统,使能加触发子系统。 5.为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的 。封装(Masking ) % 三、应用题 1.利用Simulink 仿真来实现摄氏温度到华氏温度的转换:9325f c T T = +。 2.利用Simulink 仿真)5cos 2513cos 91(cos 8)(2t ωt ωt ωπ A t x ++= ,取A=1,ω=2π。 3.设系统微分方程为 '(1)2y x y y =+??=? 试建立系统模型并仿真。 4.设计一个实现下面函数模块的子系统并对子系统进行封装。 Output = (Input1+ I nput2)×Input3-Input4

PID控制系统的Simulink仿真分析

实验报告 课程名称:MATLAB语言与控制系统仿真 实验项目:PID控制系统的Simulink仿真分析专业班级: 学号: 姓名: 指导教师: 日期: 机械工程实验教学中心

注:1、请实验学生及指导教师实验前做实验仪器设备使用登记; 2、请各位学生大致按照以下提纲撰写实验报告,可续页; 3、请指导教师按五分制(优、良、中、及格、不及格)给出报告成绩; 4、课程结束后,请将该实验报告上交机械工程实验教学中心存档。 一、实验目的和任务 1.掌握PID 控制规律及控制器实现。 2.掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。 二、实验原理和方法 在模拟控制系统中,控制器中最常用的控制规律是PID 控制。PID 控制器是一 种线性控制器,它根据给定值与实际输出值构成控制偏差。PID 控制规律写成传递 函数的形式为 s K s Ki K s T s T K s U s E s G d p d i p ++=++==)1 1()() ()( 式中,P K 为比例系数;i K 为积分系数;d K 为微分系数;i p i K K T =为积分时间常数; p d d K K T =为微分时间常数;简单来说,PID 控制各校正环节的作用如下: (1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产 生控制作用,以减少偏差。 (2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积 分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 (3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大 之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调 节时间。 三、实验使用仪器设备(名称、型号、技术参数等) 计算机、MATLAB 软件 四、实验内容(步骤) 1、在MATLAB 命令窗口中输入“simulink ”进入仿真界面。 2、构建PID 控制器:(1)新建Simulink 模型窗口(选择“File/New/Model ”),在 Simulink Library Browser 中将需要的模块拖动到新建的窗口中,根据PID 控制器的 传递函数构建出如下模型:

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

自动控制原理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.

matlab-simulink 初级教程

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

Simulink系统仿真

班级:通信工程 姓名:曾浩 学号:201007302123 实验四 Simulink系统仿真 一、实验目的 1、熟悉SIMULINK工作环境及特点 2、掌握SIMULINK 的建模与仿真方法 4、掌握Simulink模型的建立及系统仿真方法。 二实验基本知识 1.了解SIMULINK模块库中各子模块基本功能

2. SIMULINK 的建模与仿真方法 (1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。 (2)创建子系统:当模型大而复杂时,可创建子系统。 (3)设置仿真控制参数。 三、实验内容 (1)系统的仿真与分析 1.创建一个正弦信号的仿真模型 在MATLAB 的命令窗口运行simulink 命令单击工具栏上的图标或选择菜 单“File”——“New”——“Model”,新建一个名为 “untitled”的空白模型窗口。 添加模块 仿真

2.建立二阶系统的仿真模型。 方法一: 输入信号源使用阶跃信号,系统使用开环传递函数s s 6.012 ,接受模块使用示波器来 构成模型。 (1) 在“Sources ”模块库选择“Step ”模块,在“Continuous ”模块库选择“Transfer Fcn ”模 块,在“Math Operations ”模块库选择“Sum ”模块,在“Sinks ”模块库选择“Scope ”。 (2) 连接各模块,从信号线引出分支点,构成闭环系统。 仿真并分析 单击工具栏的“Start simulation ”按钮,开始仿真,在示波器上就显示出阶跃响应。 在 Simulink 模型窗口,选择菜单“Simulation ”——“Simulation parameters …”命令,在 “Solver ”页将“Stop time ”设置为15,然后单击“Start simulation ”按钮,示波器显示的就到15 秒结束。

复杂过程控制系统设计与Simulink仿真

银河航空航天大学 课程设计 (论文) 题目复杂过程控制系统设计与Simulink仿 真 班级 学号 学生姓名 指导教师

目录 0. 前言 (1) 1. 总体方案设计 (2) 2. 三种系统结构和原理 (3) 2.1 串级控制系统 (3) 2.2 前馈控制系统 (3) 2.3 解耦控制系统 (4) 3. 建立Simulink模型 (5) 3.1 串级 (5) 3.2 前馈 (5) 3.3 解耦 (7) 4. 课设小结及进一步思想 (15) 参考文献 (15) 附录设备清单 (16)

复杂过程控制系统设计与Simulink仿真 姬晓龙银河航空航天大学自动化分校 摘要:本文主要针对串级、前馈、解耦三种复杂过程控制系统进行设计,以此来深化对复杂过程控制系统的理解,体会复杂过程控制系统在工业生产中对提高产品产量、质量和生产效率的重要作用。建立Simulink模型,学习在工业过程中进行系统分析和参数整定的方法,为毕业设计对模型进行仿真分析及过程参数整定做准备。 关键字:串级;前馈;解耦;建模;Simulink。 0.前言 单回路控制系统解决了工业过程自动化中的大量的参数定制控制问题,在大多数情况下这种简单系统能满足生产工艺的要求。但随着现代工业生产过程的发展,对产品的产量、质量,对提高生产效率、降耗节能以及环境保护提出了更高的要求,这便使工业生产过程对操作条件要求更加严格、对工艺参数要求更加苛刻,从而对控制系统的精度和功能要求更高。为此,需要在单回路的基础上,采取其它措施,组成比单回路系统“复杂”一些的控制系统,如串级控制(双闭环控制)、前馈控制大滞后系统控制(补偿控制)、比值控制(特殊的多变量控制)、分程与选择控制(非线性切换控制)、多变量解耦控制(多输入多输出解耦控制)等等。从结构上看,这些控制系统由两个以上的回路构成,相比单回路系统要多一个以上的测量变送器或调节器,以便完成复杂的或特殊的控制任务。这类控制系统就称为“复杂过程控制系统”,以区别于单回路系统这样简单的过程控制系统。 计算机仿真是在计算机上建立仿真模型,模拟实际系统随时间变化的过程。通过对过程仿真的分析,得到被仿真系统的动态特性。过程控制系统计算机仿真,为流程工业控制系统的分析、设计、控制、优化和决策提供了依据。同时作为对先进控制策略的一种检验,仿真研究也是必不可少的步骤。控制系统的计算机仿真是一门涉及到控制理论、计算机数学与计算机技术的综合性学科。控制系统仿真是以控制系统的模型为基础,主要用数学模型代替实际控制系统,以计算机为工具,对控制系统进行实验和研究的一种方法。在进行计算机仿真时,十分耗费时间与精力的是编制与修改仿真程序。随着系统规模的越来越大,先进过程控制的出现,就需要行的功能强大的仿真平台Math Works公司为MATLAB提供了控制系统模型图形输入与仿真工具Simulink,这为过程控制系统设计与参数整定的计算与仿真提供了一个强有力的工具,使过程控制系统的设计与整定发生了革命性的变化。

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

西安交通大学 基于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°为渐近线。

实验四 PID控制系统的Simulink

自动控制理论 上 机 实 验 报 告 学院:机电工程学院 班级:13级电信一班 姓名: 学号:

实验四 PID 控制系统的Simulink 仿真分析 一、实验目的和任务 1.掌握PID 控制规律及控制器实现。 2.掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。 二、实验原理和方法 在模拟控制系统中,控制器中最常用的控制规律是PID 控制。PID 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。PID 控制规律写成传递函数的形式为a s K s Ki K s T s T K s U s E s G d p d i p ++=++==)11()()()( 式中,P K 为比例系数;i K 为积分系数;d K 为微分系数;i p i K K T = 为积分时间常数;p d d K K T =为微分时间常数; 简单来说,PID 控制各校正环节的作用如下: (1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立 即产生控制作用,以减少偏差。 (2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决 于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 (3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 三、实验使用仪器设备 计算机、MATLAB 软件 四、实验内容(步骤) 1、在MATLAB 命令窗口中输入“simulink ”进入仿真界面。 2、构建PID 控制器:(1)新建Simulink 模型窗口(选择“File/New/Model ”),在Simulink Library Browser 中将需要的模块拖动到新建的窗口中,根据PID 控制器的传递函数构建出如下模型:

自控-二阶系统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)

(完整word版)MATLABsimulink中的基本模块的参数、含义、应用..

电力线路模块 PI Section Line 单项π型线路单相传输线模块。 电阻,电感和电容的传输线,沿着线是均匀分布的。级联几个相同的PI部分是通过以下方式获得一个近似的分布参数线路模型的Three-Phase PI Section Line 三相电力线路模块实现了一个平衡的三相传输线模型参数集中在π部分。相反,沿着线的电阻,电感和电容是均匀分布的分布参数线路模型,三相PI剖面线块肿块行参数在一个单一的π部分所示,在图中只有一相下代表。 被指定为正序和零序的,要考虑到的参数之间的感性和容性耦合的三相导体,以及地面参数的参数R,L,和C线。在此方法的指定行参数假设,这三个阶段是平衡的。 使用一个单一的PI部分的模型是适当的传输线或短,在感兴趣的频率范围是有限的基频周围建模。你可以得到更准确的模型通过级联多个相同的块。见PI剖面线的最大频率范围的说明,通过PI线模型,可以实现。

频率用于R L C规范 指定行参数所用的频率,以赫兹(Hz)。这通常是标称系统频率(50赫兹或60赫兹)。 正序和零序电阻 正序和零序电阻欧姆/公里(Ω/公里)。 正序和零序电感 正序和零序电感:亨利/公里(H/公里)。 正序和零序电容 正序和零序电容法拉/公里(F /公里)。 线路段长度(KM) 该生产线部分长度在千米(公里)。 Three-Phase Transformer (Two Windings) 三相变压器(两个绕组) 使用三个单相变压器,三相变压器三相变压器两个绕组块实现了。您可以模拟饱和的核心不是简单地通过在参数菜单中设置相应的复选框块。线性变压器块和可饱和变压器块部分的单相变压器的电气模型的详细说明,请参阅。 可以以下列方式连接的两个绕组的变压器: 1)Y 2)Y与中性点 3)接地Y 4)三角洲三角洲(D1),30度的滞后Y通过 5)D11)三角洲,三角洲领先的Y通过30度 Three-Phase V-I Measurement 三相电压-电流测量

实验三二阶系统matlab仿真(dg)

利用simulink进行仿真的步骤 1.双击桌面图标打开Matlab软件; 2.在Command Window命令行>>后输入simulink并回车或点击窗口上 部图标直接进入simulink界面; 3.在simulink界面点击File-New-Model就可以在Model上建立系统 的仿真模型了; 4.在左面的器件模型库中找到所需模型,用鼠标将器件模型拖到建立 的Model上,然后用鼠标将它们用连线连起来,系统的仿真模型就建立起来了; 5.点击界面上部的图标‘’进行仿真,双击示波器就可以看到仿真结 果。 实验要用到的元件模型的图标及解释如下: 阶跃信号:在simulink-source中可以找到,双击可以设定阶跃时间。 sum:在simulink-math operations中可以找到,双击可以改变器属性以实现信号相加还是相减; 比例环节:在simulink-math operations中可以找到,双击可以改变器属 性以改变比例系数; 积分环节:在simulink-continues中可以找到; 传函的一般数学模型表达形式:在simulink-continues中可以找到,双击可以对传递函数进行更改(通过设定系数)。 示波器:在simulink-sinks中可以找到。

传递函数的Matlab 定义 传递函数以多项式和的形式(一般形式、标准形式)给出 10111011()m m m m n n n n b s b s b s b G s a s a s a s a ----+++=+++ 用如下语句可以定义传递函数G(s) >> num=[b 0,b 1,b 2…b m ] ;只写各项的系数 >> den=[a 0,a 1,a 2,…a n ] ;只写各项的系数 >> g=tf(num,den) 或 >>g=tf([b0,b1,b2…bm],[a0,a1,a2,…an]) 例:用Matlab 定义二阶系统 2 223()(0.6,3)2*0.6*33n G s s s ζω===++ 并用Matlab 语句绘制此二阶系统在单位阶跃信号输入下的输出曲线c(t)(即单位阶跃响应)。 (1)定义函数: >> num=3^2 >> den=[1,2*0.6*3, 3^2] >> g=tf(num,den) (2)求系统的单位阶跃响应c(t): >> step(g) 可得到系统的单位阶跃响应 上述语句实现的功能也可以以一条语句实现: Time (sec)A m p l i t u d e

相关文档
最新文档