MATLAB仿真应用-第5章(2)
MATLAB与仿真应用
摘要MATLAB是美国mathworks公司开发的大型数学计算软件,它具有强大的矩阵处理和绘图功能,已经广泛地应用于科学研究和工程技术的各个领域,MATLAB 以矩阵和向量为基本数据单元,提供了丰富的矩阵操作和矩阵运算功能,并在这些基本运算基础上提供了可供各种科学研究和工程技术门类使用的工具箱。
极大地方便了科学计算和工程问题的求解,使得科技人员从复杂的变成工作中解放出来,专注于数学模型的建立。
本文着重介绍MATLAB的基本操作和一些基础应用,并通过例子来阐述说明,熟悉MATLAB函数调用,了解其在电工电子技术中的应用。
掌握Matlab基本语法结构及调试方法,熟悉Matlab函数调用,熟练其用于电工电子的一些计算,并学会用Matlab/Simulink进行简单电路的仿真。
一、MALTISM简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
在MATLAB函数库中,除了基本初等函数外,还有初等矩阵和矩阵变换、线性代数方程组合矩阵特征的求解、多项式运算和求根、函数的插值和数据的多项式拟合、数值积分和常数微分方程数值解、函数求极值、单变量非线性方程求解根、数据分析和傅里叶变换,以及某些特殊的矩阵函数和数学函数,这些函数都可以直接调用。
用户可以根据自己的需要任意扩充函数库。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB仿真教程
MATLAB仿真教程一、MATLAB的基本操作1.启动MATLAB:在桌面上双击MATLAB图标,即可启动MATLAB软件。
3.基本运算:在命令窗口中输入基本运算表达式,如加减乘除,然后按下回车键即可得到结果。
4.变量的定义和操作:在MATLAB中,可以定义变量,并对其进行各种运算操作。
例如,定义一个变量a,并对其进行加法运算,如a=2+35.矩阵操作:MATLAB中的矩阵操作非常方便。
可以使用矩阵运算符进行矩阵的相加、相乘等操作。
6. 绘图功能:MATLAB提供了丰富的绘图功能,可以绘制曲线、散点图、三维图等。
通过plot函数可以绘制曲线,scatter函数绘制散点图,surf函数绘制三维图。
二、MATLAB的仿真研究1.数值计算:MATLAB可以进行各种数值计算,如解线性方程组、求解微分方程、进行最优化等。
通过编写相应的代码,调用MATLAB提供的函数库,可以实现这些仿真研究。
2.信号处理:MATLAB提供了丰富的信号处理工具箱,可以进行信号的滤波、谱分析、频谱绘制等操作。
通过调用相应的函数库,可以实现这些功能。
3.控制系统仿真:MATLAB提供了强大的控制系统工具箱,可以进行控制系统的建模、仿真和优化。
可以使用MATLAB的控制系统工具箱进行系统的响应、稳定性分析和控制器设计。
4.图像处理与计算机视觉:MATLAB可以进行基本的图像处理操作,如图像的灰度化、二值化、滤波、边缘检测等。
通过调用MATLAB的计算机视觉工具箱,还可以进行目标检测、图像识别等高级图像处理操作。
5.多体动力学仿真:MATLAB提供了多体动力学仿真工具箱,可以进行机械系统的建模、动力学仿真和分析。
可以通过编写相应的代码,定义机械系统的运动方程和控制方程,实现仿真研究。
总结:MATLAB是一种强大的数值计算和编程软件,广泛应用于科学、工程、金融等领域。
本教程介绍了MATLAB的基本操作以及如何进行仿真研究。
通过学习MATLAB,可以提高数值计算和仿真研究的效率,为科研工作提供有力的支持。
matlab仿真教程
matlab仿真教程MATLAB是一款常用的科学计算软件,也是一个非常强大的数学仿真工具。
它可以用于解决各种数值计算问题,并且具有强大的绘图能力。
本文将介绍MATLAB的基本使用方法和仿真教程。
首先,我们需要了解MATLAB的基本界面。
MATLAB的界面通常分为几个主要部分,包括工作区、命令窗口、编辑器窗口、命令历史窗口、变量和文件目录窗口等。
在工作区中,我们可以查看当前的变量和数据;在命令窗口中,我们可以直接输入和运行MATLAB命令;而编辑器窗口则是用于编写和编辑MATLAB脚本和函数。
接下来,我们可以开始进行一些简单的数学仿真。
例如,我们可以用MATLAB计算一个数列的和。
在命令窗口中,我们可以输入以下命令:```x = 1:10;sum(x)```上述代码首先定义了一个长度为10的数列x,然后使用了sum函数计算了这个数列的和,并将结果显示在命令窗口中。
我们可以看到,MATLAB非常方便地完成了这个数学计算任务。
除了数学计算,MATLAB还可以进行各种科学计算和数据处理。
例如,我们可以使用MATLAB进行信号处理和滤波。
下面的代码演示了如何用MATLAB生成一个含有噪声的正弦信号,并对它进行滤波:```t = 0:0.01:2*pi;x = sin(t) + 0.1*randn(size(t));y = medfilt1(x, 5);subplot(2,1,1), plot(t,x), title('原始信号')subplot(2,1,2), plot(t,y), title('滤波后的信号')```上述代码首先生成了一个时间序列t,然后生成了一个含有噪声的正弦信号x。
接着,使用了medfilt1函数对信号x进行中值滤波,并将结果存储在变量y中。
最后,使用subplot函数将原始信号和滤波后的信号绘制在一张图中。
我们可以看到,MATLAB不仅提供了丰富的信号处理函数,而且具有强大的绘图能力。
MATLAB仿真技术与应用
23
变量的使用
>>clear
%删除工作区中所有定义过的变量
>>whos
%查看当前工作区内变量信息,无显示表示没有定义的变量
>> xy=1; yx=2; %对变量赋值
>> xy
%查看变量xy的当前数值
xy =
1
>> whos
Name Size
Bytes Class
xy 1x1
8 double array
逗号或分号的区别
>>x=2, y=3
%逗号隔开,屏幕有回显
x=
2
y=
3
>>m=2; n=3;
%分号隔开,无回显
>>m %在提示符后直接输入变量名可查看变量的值
m=
2
12
基本算术运算符
运符 运 符
算号 算 号
加+ 减
-
乘 * 数组 .* 相 乘
左除 \ 数组 .\ 左 除
右除 / 数组 ./
13
例1-1 求解算术表达式的值
科学计算软件工具
MathWorks: MATLAB
7
科研和工程技术人员的首选 MATLAB
MATLAB具有用法简单、灵活、 结构性强、延展性好等优点,逐 渐成为科技计算、视图交互系统 和程序中的首选语言工具。
功能强大的数值运算功 能
强大的图形处理能力 高级但简单的程序环境 丰富的工具箱与模块集 易于扩充
系统仿真技术概述
系统仿真是根据被研究的真实系统的数学 模型研究系统性能的一门学科;
现在尤指利用计算机去研究数学模型行为 的方法。
1
第五章-Simulink与电力系统仿真精选全文
这样,所有的数据都将显示,在所需显示的数据相对较
多时,需要计算机有较大的内存容量。
“save data to workshop”被选中时,可以将显示数据放
到工作空间去,以备MATLAB的绘图命令调用。与此相
关的项目有两个,“Variable name” 代表要保存的数据
名称;“Format”为数据的保存格式,共有三种,Array
的分析与设计的计算机程序,利用该模块进行系统的分
析与综合,比用MATLAB/Simulink更加方便快捷,已
2024/9/28
4
经成为国际上许多学校自动控制课程的教学辅助工具, 在MathWorks网站控制类工具箱下载中长期排名第一。
2024/9/28
5
5.2 Simulink的进入及内 容 1、Simulink的常见进入 方法 ①在MATLAB的命令窗口 下输入如下的命令:
将2024/9/28
20
按采样间隔提取数据进行显示。
“floating scope”如被选中,则该示波器成为浮动示波器,
即没有输入接口,但可以接受其他模块发来的数据。
Data history选项卡:
“limit data points to last”为最后可以保存的用于显示的
数据的最多点数,默认值为5000点。也可以不选这一项,
已经远远地超出了“矩阵相关计算”这个狭小的范围。 由于MATLAB在其软件设计之初,其开发者Cleve Moler 教授就秉承开放性的理念,在1993年的Simulink1.0出现
以后,人们发现这是许多科学家和工程技术人员梦寐以 求的仿真形式,从此以后,许多领域的顶尖科研人员以
2024/9/28
3
MATLAB语言为依托,编写了自己所从事领域的 Simulink工具箱,如控制界最流行的控制系统工具箱 (Control System Toolbox),系统辩识工具箱(System Identification Toolbox),鲁棒控制工具箱(Robust Control Toolbox),神经网络工具箱(Neural Network Toolbox),模型预测控制工具箱(Model Predictive Control Toolbox),还有如航空宇宙模块集(Aerospace Blockset),机械系统仿真模块(SimMechanics),电 力系统仿真模块(SimPowerSystems)甚至如生物系统 仿真模块(SimBiology)等。这其中,也有一些杰出中 国学者的贡献,如东北大学薛定宇教授在Control Kit的 基础上开发的CtrlLAB工具箱是专门用于反馈控制系统
第五章 MATLAB与电力系统仿真
(6)三相电源元件(3-Phase Source) 三相电源元件是电力系统设计中最常见的电路元件,也 是最重要的元件,其运行特性对电力系统的运行状态起到决 定性的作用。三相电源元件提供了带有串联RL支路的三相电 源。 (7)三相可编程电压源元件(3-Phase Programmable Voltage Source) 三相可编程电压源是可以对其进行编程的三相电压源, 它的幅值、相位、频率、谐波均可随时间进行变化,应用非 常灵活。其主要作用是提供一个幅值、相位、频率、基频分 量进行实时编程的三相电压源;此外,还可以提供两个谐波 分量,作用于基频信号。
仿真结果及分析: 合理设置示波 器参数后,激活仿 真按钮,得到仿真 结果如图所示。示 波器1输出的电压波 形为交流电压源U1 和U2的叠加,横轴 为时轴,纵轴为电 压幅值。从仿真结 果可见,在交流电 路中,多个交流电 压源共同作用的结 果等效于一个非线 性电压源。
图
例1 仿真结果
5.1.2 电力系统电路图模型结构分析 利用电力系统工具箱建立电路图模型,操作简单,熟悉电路元件的人员 可以很容易地掌握建立电力系统数学模型的方法,避免了利用程序建模 的复杂步骤。根据上一小节示例的建模方法可以很容易建立起电力系统 的电路图模型。在MATLAB软件中,提供了一种对电路图进行分析的方 法,这就是power2sys函数。利用该函数,可以对电路图的结构特征、 状态方程等进行较为全面的分析。 power2sys 函数的表达式如下: psb=power2sys('sys','structure') 用来显示电路图的结构 psb=power2sys(‘sys’,‘sort’) 用来显示电路图中元件和支路的信息 psb=power2sys(‘sys’,‘ss’) 将电路图模型转换为状态方程 [A,B,C,D,x0,states,inputs,outputs,uss,xss,yss,freqyss,Hlin]= psb=power2sys('sys') 用来显示电力系统模型的结构信息 psb=power2sys('sys','net') 用来显示电力系统的网络结构
控制系统计算机辅助设计:MATLAB语言与应用(第2版)薛定宇-课后习题答案
第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的范围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。
所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。
死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>> B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB命令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行结果可以看出,该命令的结果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =0615【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, , , , , 5, 1, 6, 7, 3, 70, 03, 73, 76, 49, , 074, 099, 173, 272, 2445, 3717, 6162, 9879, 6041, 55920, 81961, 37881, 19842, 106, 177565, 035288, 212853, 248141, 0460994, , 1170129, 1879264, 8065, , , , 00884757, , 0, 5, 6, 1, 0, 88, , 673, 58, 931, , 120, , 029, 4, 2, 9905, 3072, 2977, 46049, 69026, 15075, 40, 99176, 083277, 082453, 165730, 248183, 7576, 62096, , 4738105, 5814114, 9, 186333, , 284885, 9, 3488322, 9, 0, 0]【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1];y=sin(1./t);plot(t,y);grid on;【15】(1) >> t=-2*pi:0.01:2*pi;r=1.0013*t.^2;polar(t,r);axis('square')(2) >> t=-2*pi:0.001:2*pi;r=cos(7*t/2);polar(t,r);axis('square')(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')(4) >> t=-2*pi:0.001:2*pi;r=1-cos(7*t).^3;polar(t,r);axis('square')【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);(1)z=sin(xy)>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);第3章线性控制系统的数学模型【1】(1) >> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4))Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6)Transfer function:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6Sampling time (seconds): 0.1【2】(1)该方程的数学模型>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模型的零极点模型>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模型可以直接写出系统的传递函数模型【5】(1) >> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)Sampling time (seconds): 0.05【8】(1)闭环系统的传递函数模型>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:7.58 s^2 + 10.8 s + 4.8--------------------------------------------------------------0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8 (2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5 x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 4 0 0 0 0 x3 0 2 0 0 0 x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5y1 0 0 0.6 0.4273 0.3799d =u1y1 0Continuous-time state-space model.(3)零极点模型>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+ G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4* H3*G3*G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+0.01*s)) Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s---------------------------------------------------------------------------4.357e-014 s^10 + 2.422e-011 s^9 +5.376e-009 s^8 +6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s 第4章线性控制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >> A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10];eig(A)ans =-0.2000-0.5000-14.3000-33.3000-10.0000分析:由以上信息可知,该连续线性系统的A矩阵的所有特征根的实部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)21.896,3;11,18.0898,25,2.356,9];abs(eig(F)') ans =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的 【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2]; B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2];D=[0 0;0 0];G=ss(A,B,C,D); tzero(G)pzmap(G)ans =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765 分析:由以上信息可知,【5】>> s=tf('s');Gc=sscanform(G,'ctrl') Go=sscanform(G,'obsv') a =x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -0.4 -1.4 -4.3 -4.3 b =u1 x1 0 x2 0 x3 0 x4 1 c =x1 x2 x3 x4 y1 0.4 0.2 0 0 d =u1 y1 0Continuous-time state-space model. a =x1 x2 x3 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.【9】(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =-1.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t+ (-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40)*e-3t+(182/45)*e-2t+(-7561/2520)*e-t(3) >> syms t;u=sin(3*t+5);Us=laplace(u)Us =(3*cos(5) + s*sin(5))/(s^2 + 9)>> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); Y=Us*G;num=Y.num{1}; den=Y.den{1};[R3,P3,K3]=residue(num,den); [R3,P3]ans =1.1237 -8.00000.9559 -7.0000-0.1761 -6.0000-0.6111 -5.00002.1663 -4.0000-1.1973 - 0.0010i 0.0000 + 3.0000i-1.1973 + 0.0010i 0.0000 - 3.0000i-1.3824 -3.00000.8614 -2.0000-0.5430 -1.0000>> [n,d]=rat(R3);sym([n./d]')ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151]Linear Simulation Results Time (seconds)A m p l i t u d e [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t +(282/295)*e -7t +(-59/335)*e -6t +(-965/1579)*e -5t +(-449/375)*e -4t +(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t -2.3947sin(3t)[输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 节,则当Kp →∞,即|e(t)|一环节后,如果要求|e(t)|→0(2)不稳定系统能用PI 或PID 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
matlab语言第5章 Simulink仿真设计
信号源模块(Sources)
l Band-Limited White Noise:宽带限幅白噪声; l Chirp Signal:线性调频信号(频率随时间线性变 化的正弦波);
l Clock:时钟信号; l Constant:常数输入; l Counter Free-Running:自动计数器,发生溢出后, 从0开始重新计数;
分; lPID Controller:PID控制; lPID Controller(2DOF):二维PID控制; lState-Space:状态空间模型; lTransfer-Fcn:传递函数模型; lTransport Delay:输入信号延迟一个固定时间输出; lVariable Time Delay:输入可变时间信号延迟输出; lVariable Transport Delay:输入信号延迟可变输出; lZero-Pole:零极点模型。
3. Simulink模型的创建和仿真
以图示系统建立Simulink模型
模型建立
(1)启动工具箱 (2)建立Simulink空白模型 (3)根据系统模型选择模块 首先要确定所需模块所在的子模块库名称。例子中用 到的模块有单位阶跃信号﹑符号比较器﹑传递函数模 型和信号输出模块,分别属于信号源模块库﹑数学运 算模块库﹑连续模块库和输出模块库。在模块库浏览 器中打开相应的模块库,选择所需模块。
常用模块库(Commonly Used Blocks)
l Bus Creator:将输入信号合并为总线信号; l Bus Selector:由总线信号选择需要的信号输出; l Constant:常数信号; l Data Type Conversion:数据类型转换模块; l Delay:延迟模块; l Delux:信号分解模块; l Discrete-Time Integrator:离散时间积分器; l Gain:增益模块; l Ground:接地模块; l In1:输入模块; l Integrator:输入信号积分;
matlab及工程运用全
Command Window操作要旨
1.指令窗的显示方式 :默认的输入显示方式、运算
结果的显示、显示方式的永久设置。
2.指令中的标点符号: 3.常用控制指令 4.常用键盘控制
指令窗的显示方式
指令中的 标点符号
常用控制指令
常用键盘控制
帮助系统及其使用
常用帮助指令
help 列出所有函数分组名(Topic Name) help TopicName 列出指定名称函数组中的所有函数 help FunName 给出指定名称函数的使用方法 helpwin 列出所有函数分组名(Topic Name) helpwin TopicName列出指定名称函数组中的所有函数 helpwin FunName 给出指定名称函数的使用方法 doc ToolboxName 列出指定名称工具包中的所有函数名 doc FunName 给出指定名称函数的使用方法
逻辑操作
常用的逻辑运算符:&(与)、|(或)、~(非)和 xor(异或)。在逻辑运算中,非0元素表示true,0元 素表示false。 标量可以与任何维数数组进行逻辑运算。 当逻辑运算中没有标量时,参与运算的数组必须维数 相同。
在MATLAB表达式中同时出现多种运算符时,优先 级按:
设标量a和数组B =[bij]mXn进行算术运算的结果是cij=a#bij 函数f(.)的数组运算规则是指‚该函数对数组的逐个元素 起作用‛(表2.2常用数组运算函数)
Matlab仿真应用详解 讲义
《Matlab仿真应用详解》一、基本概念1.1、什么是计算机仿真1、仿真定义基本思想:仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求过程和规律。
它的基础是相似现象,相似性一般表现为两类:几何相似性和数学相似性。
当两个系统的数学方程相似,只是符号变换或物理含义不同时,这两个系统被称为“数学同构”。
仿真的方法可以分为三类:(1)实物仿真。
它是对实际行为和过程进行仿真,早期的仿真大多属于这一类。
物理仿真的优点是直观、形象,至今在航天、建筑、船舶和汽车等许多工业系统的实验研究中心仍然可以见到。
比如:用沙盘仿真作战,利用风洞对导弹或飞机的模型进行空气动力学实验、用图纸和模型模拟建筑群等都是物理仿真。
但是要为系统构造一套物理模型,不是一件简单的事,尤其是十分复杂的系统,将耗费很大的投资,周期也很长。
此外,在物理模型上做实验,很难改变系统参数,改变系统结构也比较困难。
至于复杂的社会、经济系统和生态系统就更无法用实物来做实验了。
(2)数学仿真。
就是用数学的语言、方法去近似地刻画实际问题,这种刻画的数学表述就是一个数学模型。
从某种意义上,欧几里德几何、牛顿运动定律和微积分都是对客观世界的数学仿真。
数学仿真把研究对象(系统)的主要特征或输入、输出关系抽象成一种数学表达式来进行研究。
数学模型可分为:●解析模型(用公式、方程反映系统过程);●统计模型(蒙特卡罗方法);●表上作业演练模型然而数学仿真也面临一些问题,主要表现在以下几个方面:●现实问题可能无法用数学模型来表达,即刻画实际问题的表达式不存在或找不到;●找到的数学模型由于太复杂而无法求解;●求出的解不正确,可能是由模型的不正确或过多的简化近似导致的。
(3)混合仿真。
又称为数学—物理仿真,或半实物仿真,就是把物理模型和数学模型以及实物联合在一起进行实验的方法,这样往往可以获得较好的效果。
2、计算机仿真计算机仿真也称为计算机模拟,就是利用计算机对所研究系统的结构、功能和行为以及参与系统控制的主动者——人的思维过程和行为,进行动态性的比较和模仿,利用建立的仿真模型对系统进行研究和分析,并可将系统过程演示出来。
基于MATLAB的液压仿真系统的研究_(4)
将式(5.10)代入(5.11)得
V (s) =
s zV b + s 2
⎡ ⎢QV ⎣
(s
)
−
1 s
⎜⎛ ⎝
ZV
+
c 2
s
⎟⎞ ⎠
Fz
(s
)⎥⎦⎤
( ) mc
s2
+
bc 2
+ mzV
s +1
2 zV b + S 2
zV b + S 2
当 FZ = 0 时有主控传递函数
s
( ) FXQ (s) =
X (s) Q(s)
( ) Q1 = Qt1 + k1 p1 − p2 + k2
p1
−
p2
+ C1
dp1 dt
(5.1)
上式中理论流量 Qt1 = S1v ,v 是活塞的运动速度, S1 为活塞左端面有效面积, k1, k2
为泄漏系数。 缸的出油腔瞬态流量连续方程为
( ) Q2 = Qt2 + k1 p1 − p2 + k2
将式(5.8)与式(5.9)相加并整理得
P1
(s)
=
− P2
(s)
=
QV (s) −
cs+ 2
Qt ZV
(s
)
=
QV (s)
⎜⎛ Th s ⎝2
− +
Qt (s)
1⎟⎞Z ⎠
V
( ) 将力平衡方程
m
dv dt
+
bv
+
Fz
=S
p1
− p2
拉氏变换得
(ms + b)V (s) + FZ (s) = S(P1(s) − P2 (s))
matlab在建模仿真中的应用
利用Matlab的Signal Processing Toolbox,用户可以轻松实现信号的采集、滤波、频谱分析、调制解调 等操作。通过构建信号处理流程图或使用图形化界面,用户可以快速验证算法的有效性和性能。
图像处理建模与仿真
总结词
Matlab提供了丰富的图像处理函数和工 具箱,支是MATLAB的一个核心组件,主要用于系统
建模、仿真和分析。
02
它支持各种线性、非线性、连续、离散和多域物理系
统的建模,并提供丰富的库和工具来支持这些建模。
03
Simulink支持图形化建模,用户可以通过拖拽和连接
不同的模块来构建模型,无需编写大量代码。
Control System Toolbox
Image Processing Toolbox 是用于图像处理和分析的工具
箱。
它提供了各种图像处理算法 和工具,如滤波、边缘检测、 形态学操作、特征提取等。
该工具箱还支持图像的显示、 保存和读取,以及与其他
MATLAB图像处理工具箱的集 成。
Machine Learning Toolbox
1
Machine Learning Toolbox是用于机器学习和 数据挖掘的工具箱。
Matlab在建模仿真中的应用
• Matlab简介 • 建模仿真的基本概念 • Matlab在建模仿真中的应用实例 • Matlab建模仿真工具箱
• Matlab在建模仿真中的优势与限制 • Matlab在建模仿真中的未来发展
01
Matlab简介
Matlab的发展历程
1980年代初
MathWorks公司成立,推出Matlab 的前身。
VS
详细描述
用户可以利用Matlab的Image Processing Toolbox进行图像增强、滤 波、特征提取、分割等操作。通过构建图 像处理流程或使用图形化界面,用户可以 直观地观察处理结果并调整参数以获得最 佳效果。
MATLAB仿真应用-第5章(2)PPT课件
2021
21
第5章 数字通信系统的仿真
表5-35 GMSKModulatorBaseband (基带GMSK调制器)的主要参数
2021
22
第5章 数字通信系统的仿真 表5-36 AWGNChannel(加性高斯白噪声信道)的主要参数
2021
23
第5章 数字通信系统的仿真 表5-37 ErrorRateCalculation(误码率计算)的主要参数
键控)的仿真试验框图,图5-41是基带FSK(移频键控)调制
信号的频谱,图5-42是MSK(最小移频键控)的仿真试验框
图,图5-43是基带MSK(最小移频键控)调制信号的频谱,
图5-44是GMSK(高斯滚降最小移频键控)的仿真试验框图,
图5-45是基带GMSK(高斯滚降最小移频键控)调制信号的频
谱。表5-31~表5-37分别给出了三个仿真系统中模块的主要参
2021
2
第5章 数字通信系统的仿真
图5-39 ASK调制信号的时域图和频域图
2021
3
第5章 数字通信系统的仿真
程序5-2 %产生一个最小码元宽度为64 n=1:8192; m=1:128;x(n)=randint(1,8192,2);x=[x(n)]′; y(n)=zeros(1,8192);z(m)=zeros(1,128); forn=1:8192
2021
35
第5章 数字通信系统的仿真 表5-39 SpectrumScope
2021
36
第5章 数字通信系统的仿真 表5-40 Discrete TimeScatterDiagram
2021
37
第5章 数字通信系统的仿真
表5-41 BPSKModulatorBaseband (基带BPSK调制器)的主要参数
MATLAB仿真应用_第5章(1)解析
第5章 数字通信系统的仿真 图5-1 通信工具箱中的功能模块源自第5章 数字通信系统的仿真
5.2 信源
5.2.1 周期信号是指每隔固定的时间间隔,周而复始重
现的信号 ,可表示为:x(t)=x(t+nT)。锯齿波信号由 RepeatingSequence(重复序列)模块产生。该模块输出 一个预先确定波形的标量信号,使用模块的Timevalues (时间值)和Outputvalues(输出值)这两个参数,便 可得到任意的锯齿波波形。例如,在默认情况下,时 间值和输出值这两个参数都设为[02],这个默认的 设置就确定了一个锯齿波,在仿真时以2s为间隔重复 出现,最大幅度为2。
图5-14所示为连续正弦信号、经脉冲信号作用后转换为 离散的信号及采样脉冲的波形。
第5章 数字通信系统的仿真 图5-13 模拟信号取样仿真框图
第5章 数字通信系统的仿真 表5-7 SineWave
第5章 数字通信系统的仿真 表5-8 PulseGenerator(脉冲信号发生器)的主要参数
第5章 数字通信系统的仿真 表5-9 Constant(常数)的主要参数
第5章 数字通信系统的仿真
5.2.4 ChirpSignal(扫频信号)模块产生一个正弦信号,
其频率随着时间的变化而线性增长,可以使用这个模 块对系统进行分析。
该模块的三个参数:初始频率、目标时间和目标 时间的频率,决定了模块的输出。这些设置可以是标 量,也可以是向量。所有的参数要以向量形式确定下 来,就必须有相同的维数。如果这个选项被选择并且 参数是行或者列向量,模块将输出一个向量信号。图 5-9 所 示 是 扫 频 信 号 产 生 的 仿 真 框 图 。 表 5-4 所 示 是 ChirpSignal(扫频信号)模块的主要参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
键控)的仿真试验框图,图5-41是基带FSK(移频键控)调制
信号的频谱,图5-42是MSK(最小移频键控)的仿真试验框
图,图5-43是基带MSK(最小移频键控)调制信号的频谱,
图5-44是GMSK(高斯滚降最小移频键控)的仿真试验框图,
图5-45是基带GMSK(高斯滚降最小移频键控)调制信号的频
谱。表5-31~表5-37分别给出了三个仿真系统中模块的主要参
15
图5-44 GMSK基带调制仿真系统
2021/2/4
1
16
图5-45 GMSK基带调制信号频谱
2021/2/4
1
17
表5-31BernoulliRandomBinaryGenerator (伯努利二进制随机数产生器)的主要参数
2021/2/4
1
18
表5-32 SpectrumScope(频谱仪)的主要参数
2021/2/4
1
19
表5-33M FSKModulatorBaseband (基带M FSK
2021/2/4
1
20
表5-34MSKModulatorBaseband (基带MSK
2021/2/4
1
21
表5-35 GMSKModulatorBaseband (基带GMSK调制器)的主要参数
2021/2/4
2021/2/4
1
41
表5-45ErrorRateCalculation (误码率计算)的主要参数
2021/2/4
1
42
仿真结果说明在相同传输条件下,QPSK、OQPSK 调制以比BPSK调制高1倍的速率传输信息,QPSK误码 率高于BPSK约30倍,OQPSK误码率高于BPSK约1.4倍。 由于是相位调制,频谱反映了具有不同相位特性的同 一载波,因此频谱特性一致。正因为是相位调制,每 符号采样取16(大于1)可以得到更好的系统性能,此 时在误码表中应该正确地选取与之相应的接收延迟参 数。星座图显示的是传输环境SNR(信噪比)为6dB时 的图形。
2021/2/4
1
38
表5-42 QPSKModulatorBaseband (基带QPSK
2021/2/4
1
39
表5-43 OQPSKModulatorBaseband (基带OQPSK调制器)的主要参数
2021/2/4
1
40
表5-44 AWGNChannel (加性高斯白噪声信道)的主要参数
2021/2/4
1
8
图5-39中,时域图的上图是最小码元宽度为64的随机 二进制基带信号。时域图的下图是基带信号进行频带
(fc=1GHz)ASK调制后的波形。频域图的上图是基带信 号进行频带( fc =1GHz)ASK调制后的频谱,包络是用1 个宽度为64的方波信号进行频带( fc =1GHz) ASK调制后 的频谱。频域图的下图是基带信号的频谱,包络是用1个 宽度为64的方波信号的频谱,它是用于与ASK基带调制 信号的频谱作比较的。由图可见,宽度为64的方波信号 与最小码元宽度为64的随机二进制基带信号的频谱特性 吻合得很好。
2021/2/4
1
6
u=(2*w1/pi)*1e9;
figure(1)
subplot(2,1,1);
plot(u,magY1,′b′,u,magY4,′r′);grid%将两信号频谱画 在一个图上,作比较 title(′ASKr′);axis([4e8,1.6e9,0,1.1])
X2=b′.*x2;%
2021/2/4
1
10
图5-40 FSK基带调制仿真系统
2021/2/4
1
11
为了便于比较,建立了三个条件基本一致的仿真系统,
即相同的信号源(伯努利随机二进制发生器),相同的传输
环境(加性高斯白噪声环境,FSK的信噪比为-3dB,其余两
个是-6dB),都是基带调制、解调模块。图5-40是FSK(移频
2021/2/4
1
9
5.5.2
用二进制数字基带信号控制载频的频率实现调制 称为移频键控FSK。由于二进制基带信号变化时会引 起载波的相位突变等问题,又发展出MSK,称为最小 移频键控。为了进一步降低传输带宽,又发展出 GMSK,称为高斯滚降最小移频键控。这三种数字频 率调制也是目前应用广泛的调制方式。本小节就讨论 三种基带调制方式的仿真系统,了解它们的工作特性 及占用带宽。
2021/2/4
1
31
图5-50 OQPSK(偏置正交移相键控) 基带调制仿真系统
2021/2/4
1
32
图5-51 OQPSK(偏置正交移相键控) 基带调制信号的频谱图和星座图
2021/2/4
1
33
为了便于比较,三个仿真系统条件基本一致,即 相同的信号源(随机整数发生器),相同的传输环境 (加性高斯白噪声环境信噪比为-5dB),都是基带调 制、解调模块。表5-38~表5-45分别给出了仿真系统中 各模块的主要参数。
2021/2/4
1
43
5.5.4 本小节列举两个频带调制的例子。图5-52所示是频
带GMSK(高斯滚降最小移频键控)的仿真系统,图553所示是频带OQPSK(偏置正交移相键控)的仿真系 统。表5-46~表5-50分别给出了仿真系统中各模块的主 要参数。参数设置时,
(1)误码表中的接收延迟。 (2)输出采样时间。
y2=X2(1:(2^13));
Y2=fft(y2,(2^13));magY2=abs(Y2(1:1:(2^12)+1))/(200)+e ps;
%求基带信号的FFT
k1=0:(2^12);w1=(2*pi/(2^13))*k1;
2021/2/4
1
7
u=(2*w1/pi)*1e9; Y3=fft(x3,(2^13));magY3=abs(Y3(1:1:(2^12)+1))/(35)+eps;
2021/2/4
1
48
表5-48 OQPSKModulatorPassband (频带OQPSK调制器)的主要参数
2021/2/4
1
49
表5-49 AWGNChannel (加性高斯白噪声信道)的主要参数
2021/2/4
1
50
表5-50 ErrorRateCalculation
2021/2/4
2021/2/4
1
3
程序5-2
%产生一个最小码元宽度为64
n=1:8192;
m=1:128;x(n)=randint(1,8192,2);x=[x(n)]′;
y(n)=zeros(1,8192);z(m)=zeros(1,128);
forn=1:8192
form=1:128
ifn==64*m-63%当n为64的整数倍时对z
1
22
表5-36 AWGNChannel(加性高斯白噪声信道)的主要参数
2021/2/4
1
23
表5-37 ErrorRateCalculation(误码率计算)的主要参数
2021/2/4
1
24
仿真结果表明:在误码率为相同数量级的条件下, GMSK(高斯滚降最小移频键控)占有最小的频带宽度。此 时MSK、GMSK的传输环境的信噪比,比FSK还要低3dB。 综合抗干扰能力、占带宽度最好的是GMSK,MSK次之,最 后是FSK。
2021/2/4
1
25
显然,用于QPSK调制的基带信号应该是两个二进 制码,即2个比特,每个对应一个载波。所以QPSK调 制是四进制调制。在传输相同信息的情况下,QPSK的 1个符号比BPSK的时间长1倍(频带变窄)。而在相同 符号宽度的情况下,QPSK传输的信息比BPSK多1倍。 如果将两个载波的调制时间错开半个码元宽度,这样 的调制称为OQPSK(偏置正交移相键控)。OQPSK降 低了载波包络的突变,具有更好的性能。本小节中列 举三个基带移相键控调制的仿真例子,了解它们的工 作特性及占用带宽。
2021/2/4
1
5
X=b′.*x;%ASK x3=[ones(1,64)zeros(1,8128)];% y1=X(1:(2^13));y4=x1.*x3;% Y1=fft(y1,(2^13));magY1=abs(Y1(1:1:(2^12)+1))/(200); %求调制基带信号的FFT Y4=fft(y4,(2^13));magY4=abs(Y4(1:1:(2^12)+1))/(37); %求调制后脉冲信号的FFT k1=0:(2^12);w1=(2*pi/(2^13))*k1;
2021/2/4
1
26
图5-46、图5-48、图5-50分别是BPSK(二进制移 相键控)、QPSK(正交移相键控)、OQPSK(偏置 正交移相键控)的仿真系统。图5-47、图5-49、图5-51 分别是BPSK(二进制移相键控)、QPSK(正交移相 键控)、OQPSK(偏置正交移相键控)的信号频谱图 和星座图。
数。注意,FSK系统误码表的接收延迟时间与MSK、GMSK
是不同的。三个系统的频谱仪参数是一致的,便于比较。
2021/2/4
1
12
图5-41 FSK基带调制信号频谱
2021/2/4
1
13
图5-42 MSK基带调制仿真系统
2021/2/4
1
14
图5-43 MSK基带调制信号频谱
2021/2/4
1
z(m)=x(n);
ifm==ceil(n/64)
y([(64*m-63):(64*m)]′)=z(m);
2021/2/4
1
4
end%y成了一个以64 end end end n=1:8192;rm2=y(n); x2=rm2;%产生基带信号,64为最小长度的随机二进制序