(matlab)频率特性仿真
控制系统matlab仿真讲义
用MATLAB分析闭环系统的频率特性
用MATLAB分析闭环系统的频率特性闭环系统的频率特性指的是系统在不同频率下的响应特性。
在MATLAB中,可以通过不同的函数和工具箱来分析闭环系统的频率特性。
下面将介绍一些常用的方法。
1. 传递函数分析法(Transfer Function Analysis Method):传递函数描述了系统的输入和输出之间的关系。
在MATLAB中,可以使用tf函数创建传递函数对象,并利用bode函数绘制系统的频率响应曲线。
例如,假设有一个传递函数G(s) = 1/(s^2 + s + 1),可以用以下代码创建传递函数对象并绘制其频率响应曲线:```matlabG = tf([1], [1, 1, 1]);bode(G);```运行上述代码,将会显示出频率响应曲线,并且可以通过该函数的增益曲线和相位曲线来分析系统在不同频率下的响应特性。
2. 状态空间分析法(State-Space Analysis Method):状态空间模型描述了系统的状态变量之间的关系。
在MATLAB中,可以使用ss函数创建状态空间模型,并利用bode函数绘制系统的频率响应曲线。
例如,假设有一个状态空间模型A、B、C和D分别为:```matlabA=[01;-1-1];B=[0;1];C=[10];D=0;sys = ss(A, B, C, D);bode(sys);```运行上述代码,将会显示出频率响应曲线,并且可以通过该函数的增益曲线和相位曲线来分析系统在不同频率下的响应特性。
3. 伯德图法(Bode Plot Method):Bode图可以直观地表示系统的频率响应曲线。
在MATLAB中,可以使用bode函数绘制系统的Bode图。
例如,假设有一个传递函数G(s) =1/(s^2 + s + 1),可以用以下代码绘制其Bode图:```matlabG = tf([1], [1, 1, 1]);bode(G);```运行上述代码,将会显示出Bode图,并且可以通过该图来分析系统在不同频率下的增益和相位特性。
实验2利用MATLAB分析信号频谱及系统的频率特性
实验2利用MATLAB分析信号频谱及系统的频率特性引言:在信号处理和通信领域中,频谱分析是一项非常重要的技术。
频谱分析可以帮助我们了解信号的频率特性,包括频率成分和幅度。
MATLAB是一款功能强大的数学软件,提供了多种工具和函数用于信号处理和频谱分析。
本实验旨在通过MATLAB分析信号频谱及系统的频率特性,深入理解信号处理和频域分析的原理和应用。
实验步骤:1.生成一个信号并绘制其时域波形。
首先,我们可以使用MATLAB提供的函数生成一个信号。
例如,我们可以生成一个用正弦函数表示的周期信号。
```matlabt=0:0.001:1;%时间范围为0到1秒,采样率为1000Hzf=10;%信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t,x) % 绘制信号的时域波形图title('Time domain waveform') % 添加标题```2.计算信号的频谱并绘制频谱图。
使用MATLAB中的FFT函数可以计算信号的频谱。
FFT函数将信号从时域转换为频域。
```matlabFs=1000;%采样率为1000HzL = length(x); % 信号长度NFFT = 2^nextpow2(L); % FFT长度X = fft(x,NFFT)/L; % 计算X(k)f = Fs/2*linspace(0,1,NFFT/2+1); % 计算频率轴plot(f,2*abs(X(1:NFFT/2+1))) % 绘制频谱图title('Frequency spectrum') % 添加标题```3.使用MATLAB分析系统的频率特性。
MATLAB提供了Signal Processing Toolbox,其中包含了分析系统频率特性的函数和工具。
```matlabHd = designfilt('lowpassfir', 'FilterOrder', 6,'CutoffFrequency', 0.3, 'SampleRate', Fs); % 设计一个低通滤波器fvtool(Hd) % 显示滤波器的频率响应``````matlab[W,F] = freqz(Hd); % 计算滤波器的频率响应plot(F,abs(W)) % 绘制滤波器的振幅响应title('Frequency response of lowpass filter') % 添加标题```实验结果:运行上述代码后,我们可以得到如下结果:1.时域波形图2.频谱图3.滤波器频率响应讨论与结论:本实验通过MATLAB分析信号频谱及系统的频率特性,深入理解了信号处理和频域分析的原理和应用。
应用MATLAB绘制系统频率特性曲线
G(s)
稳定性。
s3
5系s22.7统4s的 2奈奎斯特曲线,并利用曲线来判别闭环系统的
解 MATLAB仿真程序代码如下:
num1=[ 2.7];
den1=[1 5 4 2];
sys1=tf(num1,den1);
nyquist(sys1)
title('Nyquist图');
运行后,获得如图1-46所示曲线。
自动控制原理
应用MATLAB绘制系统频率特性曲线
1.1用MATLAB绘制系统开环对数频率特性 对于连续系统,用MATLAB函数绘制系统开环对 数频率特性的函数命令调用格式有 Bode(sys) Bode(sys,w) Bode(sys1,sys2,…,sysN) Bode(sys1,sys2,…,sysN,w) [mag,phase,w]=Bode(sys)
例1-15 绘制一阶惯性环节
的G(s奈) 奎3斯特图。
5s 1
解 MATLAB仿真程序代码如下:
G=tf(3,[5 1]);
nyquist(G);Fra bibliotekhold on;
title('Nyquist图');
运行后,获得如图1-45所示曲线。
图1-45 例1-15系统极坐标曲线图
例1-16 用函数nyquist(sys)绘制开环传递函数为
bode(num,den);hold on;
end
grid
获得振荡环节伯德图如图1-43所示,
图1-43 例1-13开环系统伯德图
如果希望求取控制系统的增益裕量 、相位GM裕量 界频率(也称PM交叉频
率) 、穿越g频率 ,可以使c 用margin函数 计算控制系统的相关稳定裕度值。
系统稳定性分析的仿真实验
系统稳定性分析的仿真实验一、实验目的:1.加深了解系统稳定性概念。
2.掌握使用Matlab 分析系统稳定性。
3.掌握使用Matlab 分析系统的频率特性二、实验设备:Matlab三、实验内容:1、已知控制系统开环传递函数为:17.18.01.023+++s s s K ,用Nyquist 稳定判据判定开环放大系数K 为10和50时闭环系统的稳定性。
2、已知控制系统开环传递函数为:()11.0)12.0(++s s s K ,取K =10,要求: ①绘制系统Bode 图,求出频域性能指标,并判断系统的稳定性;②改变开环增益K 值,分析K 变化对开环对数幅频、相频特性曲线的影响;③根据给出的稳定裕量,作K 参数设计,并评估系统性能。
四、实验步骤:实验内容一进入Matlab 命令窗口:1、当K=10时,输入命令num=[10]; %分子系数den=[0.1,0.8,1.7,1]; %分母系数g1=tf(num,den); %建立系统多项式模型nyquist(g1) %绘制Nyquist 图分析开环系统Nyquist 图,曲线是否包围(-1,j0)点?因此闭环系统稳定吗?2、当K=50时,输入命令num=[50]; %分子系数den=[0.1,0.8,1.7,1]; %分母系数g2=tf(num,den); %建立系统多项式模型nyquist(g2) %绘制Nyquist 图分析开环系统Nyquist 图,曲线顺时针包围(-1,j0)点几圈?表明闭环系统稳定性如何?有几个右半s 平面的极点?实验内容二K=10 K=50曲线未包围(-1,j0)点曲线包围(-1,j0)点一圈实验内容二①K=10,程序运行结果和图示可知,幅值裕度k= 1.5000 ,即 db;相位穿越频率wg=7.0711 rad/s;相角裕度r= 11.4304 ;幅值穿越频率wc= 5.7154 rad/s 。
②改变K值,分别取K为K1,K2,K3值时,观察系统的开环对数幅频、相频特性曲线的变化,分析K值变化对其影响。
在MATLAB中实现连续系统频率响应的仿真
即系统的频率特性相 当于 系统 传递 函数 的 自变 量 S 只沿复平 3 时系统 的开环频率特性 Ny us 图,并判断 系统的稳定性 。 0 qi t 面的 虚轴变化 ,因此 也将 G( ) 为谐波 传递 函数 。 j 称 w=i p c( . , ,0 0(i l a e0 5 5 10 ) ; ns p 频率特性 还可表示 为 ss= p (, — — ] 0) %建立模型 1K 5 y l zk[[ ] 0 1 2, 0; 1 ,= G( 缈) =A(oe c) C(o) ,缈) r( ) j ̄ =(( +j c o ss = p ( , 一l 一 】6 0 ; %建立模型 2 K= 0 y2 zk[[ ]0 2, 0 ) , 3 因此频率特性 还可再分 为 f u e1 i r() g 实频特性 u( ) 虚频特性 V( ) n q it y 1W) y us( s , ; s %绘制 Ny us 1 qi t图 t l( y tm q it C a t wi 5) i e( se Ny us h rs t K= ( t S h 幅 特 频 性舢 ) = :( l G f u e2 i r () g n q i ( s, ; y us s 2 W) ty %绘制 Ny us 图 2 q it 相频特性 o o = ) ( ( ) o 一 ) t l( ytm q itCh rswi 3 ( i e( s t S e Ny us a t t K= 0 ) h K= 5和 K=3 时 的系统 Ny us 0 q it曲线如 图所示 。由于 系统 般有 , )=0, ( )= o( ) ( 。 开环稳 定 ( P=0, 即 没有 在 S右半 平面 的极 点 ) ,因此 K=5时 系统是稳 定的 ( 开环 Ny u s q it曲线没 有包 围 ( ,0 一1 j )点 ,即 +”号 ) 而 K=3 ; 0时 系统是不稳定 的 ( 开环 Ny u s q it 频率特性 G( ) j 是频率 的复变函数 ,可 以在复平面上用 图中的 “ 曲线保 卫 了 ( 1, 0)点 ) 一 j 个矢量来表示。该矢量的幅值为l ),相角为 G j ) ( l j ( 。 为了验证 Ny us 定判据 ,执行 以下指令 ,分别绘制 K= q i稳 5 当 从 0一 c变化时 ,G( ) o j 的矢端轨迹 被称之为频率 特性的 和 K=3 0时 的系统 单位 阶跃 响应 ( 图) 见 : 极坐标 图或 Ny u s q it图。
实验六 线性系统串联校正的MATLAB仿真
实验六 线性系统串联校正的MATLAB 仿真一、实验目的1.熟练掌握用MATLAB 语句绘制频域曲线。
2.掌握控制系统频域范围内的分析校正方法。
3.掌握用频率特性法进行串联校正设计的思路和步骤。
二、基础知识控制系统设计的思路之一就是在原系统特性的基础上,对原特性加以校正,使之达到要求的性能指标。
最常用的经典校正方法有根轨迹法和频域法。
而常用的串联校正装置有超前校正、滞后校正和滞后超前校正装置。
本实验主要讨论在MATLAB 环境下进行串联校正设计。
1.基于频率法的串联超前校正超前校正装置的主要作用是通过其相位超前特性来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。
因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率c ω处。
例6-1:单位反馈系统的开环传递函数为()(1)KG s s s =+,试确定串联校正装置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于0.1,相角裕度045≥r 。
解:根据系统静态精度的要求,选择开环增益21()0.1101(1)ss s s s e Lim sE s Lim s K k s s →→==⨯<⇒>++取12K =,求原系统的相角裕度。
>>num0=12; den0=[2,1,0]; w=0.1:1000; [gm1,pm1,wcg1,wcp1]=margin(num0,den0); [mag1,phase1]=bode(num0,den0,w); [gm1,pm1,wcg1,wcp1]margin(num0,den0) %计算系统的相角裕度和幅值裕度,并绘制出Bode 图 grid; ans =Inf 11.6548 Inf 2.4240 由结果可知,原系统相角裕度06.11=r ,2.4/c rad s ω=,不满足指标要求,系统的Bode 图如图6-1所示。
考虑采用串联超前校正装置,以增加系统的相角裕度。
《自动控制原理》Matlab求解控制系统频域分析实验
《自动控制原理》Matlab求解控制系统频域分析实验
一、实验目的
1、加深了解系统频率特性的概念。
2、学习使用Matlab软件绘制Nyquist图、Bode图的基本方法。
3、掌握典型环节的频率特性。
二、实验仪器
Matlab2014b版
三、实验原理
1.奈奎斯特图(幅相频率特性图)
MATLAB为用户提供了专门用于绘制奈奎斯特图的函数nyquist
axis([-2,0.4,-1.5,1.5]);
k=500;
num=[1,10];
den=conv([1,0],conv([1,1],conv([1,20],[h,50])));
w=logspace(-1,3,200)
bode(k*num,den,w);
grid;
五、实验原始数据记录与数据处理
六、实验结果与分析讨论
范围是自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令:
[mag,phase,w]=bode(num,den,w)
四、实验内容及步骤
z=[]:
p=[0,-1,-2]:
k=5;
g=zpk(z,p,k):
nyquist(g);
w=0.5:0.1:10:
figure(2):
nyquist(g:w);
基于MATLAB自动控制系统时域频域分析与仿真
基于MATLAB自动控制系统时域频域分析与仿真MATLAB是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍MATLAB如何进行自动控制系统的时域和频域分析,以及如何进行仿真实验。
一、时域分析时域分析是指对系统的输入信号和输出信号进行时域上的观察和分析,以了解系统的动态特性和稳定性。
MATLAB提供了一系列的时域分析工具,如时域响应分析、稳态分析和步骤响应分析等。
1.时域响应分析通过时域响应分析,可以观察系统对于不同的输入信号的响应情况。
在MATLAB中,可以使用`lsim`函数进行系统的时域仿真。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
-定义输入信号。
- 使用`lsim`函数进行时域仿真,并绘制系统输出信号。
例如,假设我们有一个二阶传递函数模型,并且输入信号为一个单位阶跃函数,可以通过以下代码进行时域仿真:```num = [1];den = [1, 1, 1];sys = tf(num, den);t=0:0.1:10;u = ones(size(t));[y, t, x] = lsim(sys, u, t);plot(t, y)```上述代码中,`num`和`den`分别表示系统的分子和分母多项式系数,`sys`表示系统模型,`t`表示时间序列,`u`表示输入信号,`y`表示输出信号。
通过绘制输出信号与时间的关系,可以观察到系统的响应情况。
2.稳态分析稳态分析用于研究系统在稳态下的性能指标,如稳态误差和稳态标准差。
在MATLAB中,可以使用`step`函数进行稳态分析。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
- 使用`step`函数进行稳态分析,并绘制系统的阶跃响应曲线。
例如,假设我们有一个一阶传递函数模型,可以通过以下代码进行稳态分析:```num = [1];den = [1, 1];sys = tf(num, den);step(sys)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
matlab仿真一阶低通滤波器幅频特性和相频特性
freqs之宇文皓月创作模拟滤波器的频率响应语法:h = freqs(b,a,w)[h,w] = freqs(b,a)[h,w] = freqs(b,a,f)freqs(b,a)描述:freqs 返回一个模拟滤波器的H(jw)的复频域响应(拉普拉斯格式)请给出分子b和分母ah = freqs(b, a, w) 根据系数向量计算返回模拟滤波器的复频域响应。
freqs 计算在复平面虚轴上的频率响应h,角频率w 确定了输入的实向量,因此必须包含至少一个频率点。
[h, w] = freqs(b, a) 自动挑选200个频率点来计算频率响应h[h, w] = freqs(b, a, f) 挑选f个频率点来计算频率响应h 例子:找到并画出下面传递函数的频率响应Matlab代码:a = [1 0.4 1];b = [0.2 0.3 1];w = logspace(1, 1);logspace 功能:生成从10的a次方到10的b次方之间按对数等分的n个元素的行向量。
n如果省略,则默认值为50。
freqs(b, a, w);You can also create the plot with:h = freqs(b,a,w);mag = abs(h);phase = angle(h);subplot(2,1,1), loglog(w,mag)subplot(2,1,2), semilogx(w,phase)To convert to hertz, decibels, and degrees, use:f = w/(2*pi);mag = 20*log10(mag);phase = phase*180/pi;算法:freqs evaluates the polynomials at each frequency point,then divides the numerator response by the denominatorresponse:s = i*w;h = polyval(b,s)./polyval(a,s)一阶低通滤波器频响计算:%**************************************************************************%一阶低通滤波器% 取fH = 1/(2Π*R*C)% s=j w=j*2Π*f% 1 1%RC电路的电压增益 AVH = ——————— = —————————(传递函数)% 1 + sRC 1 +j(f/fH)% 1 1 %电压增益的幅值(模)|AVH| = ————————— = ———————— (幅频响应)% /—————— /————————% \ / 1 + (wCR)^2 \ / 1 +(f/fH)^2% V V%%电压增益的相位角ΦH = arctg(wRC) = arctg(f/fH) (相频响应)%**************************************************************************R=10000; %电阻的值C=0.0000001; %电容的值fZ=1; %H(e^jw)表达式分子的系数向量fM=[R*C,1]; %H(e^jw)分母的系数向量%logspace 功能:生成从10的a次方到10的b次方之间按对数等分的n个元素的行向量。
典型环节频率 特性仿真分析
-45
Phase (deg)
-90
-135
-180
-1
0
1
2
3
10
10
10
10
10
Frequency (rad/sec)
Nyquist 曲线:
Nyquist Diagram 3
2
1
Imaginary Axis
0
-1
-2
-3
-0.5
0
0.5
1
1.5
Real Axis
② 令 ξ=0,ωn 取不同值:ωn1= 1 ;ωn2= 2 ;
G(S)=
K 1 TcS
令 K 不变(取 K= 1
单位阶跃响应曲线:
; ),改变 Tc 取值:Tc1= 1
;Tc2=
2 ;Tc3= 3 ;
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2
4
Bode 图:
Step Response
6
8
10
12
14
16
18
Time (sec)
Bode Diagram 0
8
2
2.5
15
x 10
Step Response 2.5
2
1.5
Amplitude
1
0.5
0
-0.5
0
2
4
6
8
10
12
14
16
18
20
Time (sec)
Bode 图:
Magnitude (dB)
频率特性
频率特性的测试一、实验目的1. 掌握频率特性的测试方法。
2. 进一步明确频率特性的概念及物理意义。
3. 明确控制系统参数对频率特性曲线形状的影响。
4.进一步学习用MATLAB仿真软件对实验内容中的电路进行仿真。
二、实验设备和仪器1.计算机2. MATLAB软件三、实验原理一个稳定的线性系统,在正弦信号的作用下,它的稳态输出将是一个与输入信号同频率的正弦信号,但振幅和相位一般与输入信号不同,而且随着输入信号的频率变化而变化。
在被测系统的输入端加正弦电压,待平稳后,其输出端亦为同频率的正弦电压,但幅值与相位一般都将发生变化,幅值与相位变化的大小和输入信号的频率相关。
取正弦输出与正弦输入的复数比,即为被测系统(或网络)的频率特性。
改变输入信号频率,测得该频率对应的输出电压振幅,与相位及输入信号的振幅计算出振幅比,做出幅频特性和相频率特性曲线。
对于参数完全未知的线性稳定系统可以通过实验方法求出其频率特性;我们从学习测试方法的角度,可以对已知的系统测其频率特性;在生产实践中,也常常是对已知的调试完毕的控制系统确定其实际的频率特性。
四、实验内容及步骤启动MATLAB 7.0,进入Simulink后新建文档,在文档里绘制二阶系统的结构框图。
双击各传递函数模块,在出现的对话框内设置相应的参数。
点击工具栏的按钮或simulation菜单下的start命令进行仿真。
双击示波器模块观察仿真结果。
系统的结构框如图3所示。
图3频率特性测试MA TLAB仿真系统的结构框五、实验内容1.典型二阶系统2222)(nn ns s s G ωξωω++= 要求:绘制出6=n ω,1.0=ξ,0.3,0.5,0.8,2的伯德图,记录并分析ξ对系统伯德图的影响。
解:程序如下wn=6;num=[wn^2]; zeta=[0.1 0.3 0.5 0.8 2] for i=1:5den=[1 2*zeta(i)*wn wn^2]; G=tf(num,den) bode(G) hold onend2.系统的开环传递函数为(要求:绘制系统的奈氏图、伯德图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。
实验七 用MATLAB进行系统频率特性曲线绘制
g.G=tf(100*conv([1,5],[1,5]),conv([1,1],[1,1,9]));
[Gm,Pm,Wcg,Wcp]=margin(G) G_close=feedback(G,1);step(G_close),grid on
5、实验现象、实验数据记录:
内容:1)绘制控制系统奈氏图
格式一:nyquist(num,den)格式二:nyquist(num,den,w)格式三:[re,im,w]=nyquist(num,den)
a.开环开环传递函数 ,绘制其Nyquist图。
b.已知 ,绘制Nyquist图,判定系统的稳定性。
c.已知系统开环传递函数为 ,要求:分别作出 和 时的Nyquist图。比较两图的区别与特点。如果该系统变成Ⅱ型系统,即 ,情况又发生怎么样的变化?
指导教师评语和成绩评定:
本栏由指导教师填写
指导教师对学生实验报告的完成情况进行概括评论。指出学生实验报告撰写中存在的主要问题,并提出改进建议。对于问题较少或无明显错误的学生亦应给予肯定。并将实验报告成绩填写于对应位置。成绩用百分制记载。
实验报告成绩:
指导教师签字:
年 月 日
6、实验现象、实验数据的分析:
借助适当原理、公式、模型、利用必要的软件或其它分析方法、手段,对实验过程中出现的现象、所获取的实验数据进行具体、充分的分析。本部分的撰写应完整呈现出分析过程。
实验现象分析时应分析现象出现的原因。与实验预期相符合的,应给出其理论解释;实验现象与实验预期不相符的,应剖析是哪个实验环节出了问题导致该实验现象的出现。实验现象的分析应充分、具体、合理。
2、实验主要仪器设备和材料:
计算机一台 matlab软件2010a版本
自动控制原理的MATLAB仿真与实践第5章 线性系统的频域分析
7
【例5-1】 试绘制惯性环节G(jω)=1/(2s+1)的Nyquist曲线 和Bode图。
解:程序如下:
>>clear
G=tf(1,[2,1]); %建立模型
nyquist (G); %绘制Nyquist图
figure(2); bode (G); %绘制Bode图
4
ngrid;ngrid(‘new’):绘制尼科尔斯坐标网格即等 20lgM圆和等角曲线组成的网格。‘new’代表清除以前 的图形,与后一个nichols()一起绘制网格。
semilogx(w,20*log10(mag)):绘制半对数坐标下的幅 频特性曲线。
semilogx(w,phase*180/pi):绘制半对数坐标下的相频 特性曲线。
MATLAB提供了许多用于线性系统频率分析 的函数命令,可用于系统频域的响应曲线、参数分析 和系统设计等。常用的频率特性函数命令格式及其功 能见表5-1。 bode (G):绘制传递函数的伯德图。其中:G为传递
函数模型,如:tf(), zpk(), ss()。 bode(num,den):num,den分别为传递函数的分子与
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
6
5.2.1 Nyquist曲线和Bode图
MATLAB频率特性包括幅频特性和相频特性。 当用极坐标图描述系统的幅相频特性时,通常称为 奈奎斯特(Nyquist)曲线;用半对数坐标描述系 统的幅频特性和相频特性时,称为伯德(Bode) 图;在对数幅值-相角坐标系上绘制等闭环参数( M和N)轨迹图,称为尼克尔斯(Nichols)图。
运行结果如图5-2所示。
分段不同频率仿真信号matlab
分段不同频率仿真信号 MATLAB1. 介绍在信号处理和通信系统中,我们经常需要对不同频率的信号进行仿真和分析。
MATLAB是一个功能强大的工具,可以用于生成和处理各种类型的信号。
本文将介绍如何使用MATLAB生成分段不同频率的仿真信号,并进行相应的分析。
2. 生成分段信号首先,我们需要生成一个包含多个不同频率段的信号。
我们可以使用MATLAB中的chirp函数来实现这个目标。
chirp函数可以生成一个线性调频信号,其频率随时间变化。
下面是一个示例代码,生成一个包含三个不同频率段的信号:fs = 1000; % 采样频率t = 0:1/fs:5; % 时间范围为0到5秒f1 = 10; % 第一个频率段的起始频率f2 = 50; % 第二个频率段的起始频率f3 = 100; % 第三个频率段的起始频率x1 = chirp(t, f1, 5, f2, 'quadratic'); % 生成第一个频率段的信号x2 = chirp(t, f2, 5, f3, 'quadratic'); % 生成第二个频率段的信号x3 = chirp(t, f3, 5, f1, 'quadratic'); % 生成第三个频率段的信号x = [x1, x2, x3]; % 将三个频率段的信号拼接在一起在上述代码中,我们使用chirp函数生成了三个不同频率段的信号x1,x2,x3,然后使用[x1, x2, x3]将它们拼接在一起,得到了最终的信号x。
3. 信号分析生成了分段信号后,我们可以使用MATLAB中的各种信号分析工具进行进一步的分析。
下面是一些常用的信号分析方法的示例。
3.1 频谱分析频谱分析是一种常用的信号分析方法,可以将信号在频率域上进行分解,得到信号的频谱信息。
MATLAB中的fft函数可以用于计算信号的离散傅里叶变换。
下面是一个示例代码,计算信号x的频谱:N = length(x); % 信号的长度X = fft(x); % 计算信号的离散傅里叶变换f = (0:N-1)*(fs/N); % 计算频率坐标magX = abs(X); % 计算频谱的幅度谱plot(f, magX); % 绘制频谱图xlabel('频率 (Hz)');ylabel('幅度');title('信号的频谱');在上述代码中,我们使用fft函数计算信号x的离散傅里叶变换,并使用abs函数计算频谱的幅度谱。
典型环节频域特性的仿真实验
实验题目:典型环节频域特性的仿真实验一、实验目的:1、加深了解系统频率特性的概念。
2、学习使用Matlab软件绘制Nyquist图、Bode图的基本方法。
3、掌握典型环节的频率特性。
二、实验设备:Matlab三、实验内容:用Matlab绘制典型环节(比例、积分、微分、惯性、二阶)的Nyquis图、Bode图,研究频率特性。
四、实验步骤:1.绘制比例环节传递函数g(s)=K的频率特性图。
运行Matlab,进入命令窗口,键入命令:num=[1];den=[0,0,2];G1=tf(num,den)nyquist(G1) (回车)则显示传递函数g(s)=2,及对应的Nyquist图曲线,观察并分析曲线,然后记录该曲线,并要求在曲线图上注明频率ω的变化情况。
再键入命令:gridbode(G1) (回车)则显示对应的Bode图曲线,观察并分析曲线,然后记录该曲线,并要求在曲线图上注明纵、横坐标。
2.绘制积分环节传递函数g(s)=1/Ts 的频率特性图。
运行Matlab,进入命令窗口,键入命令:num=[1];den=[0,3,0];G1=tf(num,den)nyquist(G1) (回车)则显示传递函数g(s)=1/4s ,及对应的Nyquist图曲线,观察并分析曲线,然后记录该曲线,并要求在曲线图上注明频率ω的变化情况。
再键入命令:gridbode(G1) (回车)则显示对应的Bode图曲线,观察并分析曲线,然后记录该曲线,并要求在曲线图上注明纵、横坐标。
3.绘制微分环节传递函数g(s)=Ts 的频率特性图。
运行Matlab,进入命令窗口,键入命令:gridbode(G1) (回车)则显示对应的Bode图曲线,观察并分析曲线,然后记录该曲线,并要求在曲线图上注明纵、横坐标。
五、仿真和实验结果记录比例环节Nyquist图曲线(K=2)比例环节Bode图曲线积分环节Nyquist图曲线(T=3)积分环节Bode图曲线微分环节Nyquist图曲线(T=3)微分环节Bode图曲线惯性环节Nyquist图曲线(T=5) 惯性环节Bode图曲线二阶环节Nyquist图曲线(ξ=0.9)二阶环节Bode图曲线六、实验结果分析。
自控实验-自动控制系统的MATLAB仿真分析
实验名称:自动控制系统的MATLAB仿真分析一、实验目的1.熟悉MATLAB在自动控制系统仿真中的应用;2.对自动控制系统进行仿真研究;3.掌握用MATLAB绘制自动控制系统根轨迹及对数频率特性的方法,掌握根据系统根轨迹及对数频率特性分析自动控制系统性能的方法。
二、实验设备1.计算机2.MATLAB软件三、实验内容1.用MATLAB提供的Simulink仿真软件工具对实验一中的各个典型环节及二阶系统进行阶跃响应仿真研究,将仿真获得的阶跃响应结果与模拟电路获得的阶跃响应结果进行比较。
(1)比例环节传递函数为200 ()51 G s=建立仿真模型,得到的输出结果如图所示:(2)积分环节传递函数为9.8 ()G ss=建立仿真模型,得到的输出结果如图所示:(3)一阶惯性环节传递函数为3.9 ()0.21G ss=+建立仿真模型,得到的输出结果如图所示:(4)比例积分环节传递函数为0.39781 ()0.102sG ss+=建立仿真模型,得到的输出结果如图所示:(5)比例微分环节传递函数为10 ()220s G ss=++建立仿真模型,得到的输出结果如图所示:(6)比例微分积分环节传递函数为51050 ()220sG ss s+=+++建立仿真模型,得到的输出结果如图所示:(7) 二阶系统的阶跃响应 ①0.325K ξ==传递函数为2()250()10250C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:②0.510K ξ==传递函数为2()100()10100C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:③0.75K ξ==传递函数为2()50()1050C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:2. 单位负反馈系统的开环传递函数为:(1)()()(21)k s G s H s s s +=+仿真绘制K 从0~∞变化时的根轨迹,分析系统的稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果:
图10 例6系统
的*Bode图
运行结果:
图11 例6系统
*
的Bode图
二、 MATLAB频域分析实例
例7:单位负反馈系统的开环传递函数为
绘制闭环系统的Bode图。此外,继续给出闭 环频率特性性能指标谐振峰值、谐振频率和系 统带宽。
*
二、 MATLAB频域分析实例
例 7:
s=tf('s'); Gk=1/s/(0.5*s+1)/(s+1); G=feedback(Gk,1); %闭环系统传递函数 w=logspace(-1,1); %给出从 共50个(默认)频率值 [mag,phase,w]=bode(G,w); %返回闭环系统bode图参数 [Mp,k]=max(mag); %谐振峰值 resonantPeak=20*log10(Mp) %谐振峰值单位转换 resonantFreq=w(k) %谐振频率 n=1; while 20*log10(mag(n))>=-3 n=n+1; end bandwidth=w(n) % 系统带宽 * bode(G,w),grid; %系统bode图
三、MATLAB频率校正方法
1. 基于Bode图的相位超前校正步骤
(3)确定需要对系统增加的相位超前量 。 其中γ*表示期望的校正后系统的相位裕度。因为增加 超前校正装置后,会使幅值穿越频率向右方移动,因 而减小相位裕度,所以在计算相位超前量 时,应额 外加 。 (4)确定校正器衰减因子 。由 得 。 (5)确定最大超前频率 。在原系统幅值为 的频率 ,即作为校正后 系统的幅值穿越频率。 (6)确定校正网络的参数T。
运行结果:
)
图6 例4系统Nyquist曲线(
*
)
二、 MATLAB频域分析实例
例5:系统的开环传递函数为
绘制系统的Nichols曲线。 num=100; den=[1 8 0]; w=logspace(-1,2,100); nichols(num,den,w); %指定频率范围的 Nichols曲线 ngrid; %绘制等M圆和等N圆
[Gm,Pm,Wg,Wp] = margin(mag,phase,w) S = allmargin(G)
*
二、 MATLAB频域分析实例
例1:系统的开环传递函数为
绘制系统的Bode图。 s=tf('s'); G=1000*(s+1)/(s*(s+2)*(s^2+17*s+4000)); bode(G) %绘制波特图 grid %绘制网格
运行结果:
resonantPeak = 5.2388 resonantFreq = 0.7906 bandwidth = 1.2649
*
三、MATLAB频率校正方法
1. 基于Bode图的相位超前校正步骤
超前网络: 为了获得最大的相位超前量,应使得超前网络的 最大相位超前发生在校正后系统的幅值穿越频率 处,即 。根据这一思想,具体设计步骤 如下: (1)根据要求的稳态误差指标,确定开环增益 K; (2)计算校正前的系统相位裕度γ。利用已确定的 开环增益,绘制校正前的系统 Bode图,并求 取γ值。 *
*
运行结果:
图5
* 例4局部放大的系统 Nyquist曲线
例4续:
n
同样,还可通过设置 范围得到局部的Nyquist 曲线。如只绘制系统位于 的Nyquist曲线, 如图6。
num =[20 20 10]; den=conv([1 1 0],[1 10]); w=0.1:0.1:100; %设置频率范围 [re,im]=Nyquist(num,den,w); %返回指定频率范围 的Nyquist曲线数据 plot(re,im) axis([-2 2 -5 5]); grid; title('系统(20s^2+20s+10)/[(s^2+s)(s+10)]Nyquist * 图(\omega>0)','fontsize',12);
*
运行结果:
* Bode图 图2 例2系统的
二、 MATLAB频域分析实例
例3:系统的开环传递函数为 绘制K取不同值时系统的Bode图。 k=[10 500 1000]; %K分别取10,50,1000 for ii=1:3 G(ii)=tf(k(ii),[1 10 500]); end bode(G(1),'r:',G(2),'b--',G(3)) title('系统K/(s^2+10s+500)Bode图 ,K=10,500,1000','fontsize',16); grid
*
一、MATLAB频率分析的相关函数
表1 频域分析的相关函数用法及功能说明
ngrid 在Nichols曲线图上绘制等M圆和等N圆。要注在对 数坐标中,圆的形状会发生变化 绘制网格前清除原图,然后设置 hold on。后续 Nichols函数可与网格绘制在一起
ngrid('new')
*
一、MATLAB频率分析的相关函数
* 图4 例4系统的Nyquist 曲线
例4续:
n
对于图4,如果想要看清某部分细节, 也可通过设置坐标范围进行局部放大, 从而得到更清晰的局部图像,如图 5。
num=[20 20 10]; den=conv([1 1 0],[1 10]); Nyquist(num,den) axis([-2 2 -5 5]) %设置坐标范围
*
运行结果:
图1 例1系统Bode图
*
二、 MATLAB频域分析实例
例2:系统的开环传递函数为
绘制系统的Bode图。
num=5; den=conv([1 2],[1 2 1]); w=logspace(-2,3,100); %指定频率范围 [mag,phase,w]=bode(num,den,w); %返回波特图数据 magdB=20*log10(mag); %进行幅值的单位转换 subplot(2,1,1); semilogx(w,magdB); %绘制对数幅频特性图 grid;
一、MATLAB频率分析的相关函数
表1 频域分析的相关函数用法及功能说明
Nyquist(sys) Nyquist(sys,w) Nyquist(G1,'r-',G2,'gx',…) [re,im,w] = Nyquist(sys) [re,im] = Nyquist(sys,w) 绘制系统Nyquist图。系统自动选取频率范围 绘制系统Nyquist图。由用户指定选取频率范围 同时绘制多系统Nyquist图。图形属性参数可选
返回系统Nyquist图相应的实部、虚部和频率向量
返回系统Nyquist图与指定w相应的实部、虚部。
*
一、MATLAB频率分析的相关函数
表1 频域分析的相关函数用法及功能说明
nichols(G) nichols(G,w) nichols(G1,'r-',G2,'gx',…) 绘制系统Nichols图。系统自动选取频率范围 绘制系统Nichols图。由用户指定选取频率范围 同时绘制多系统Nichols图。图形属性参数可选
*
运行结果:
图7 例5系统的Nichols 曲线 *
num=100; den=[1 8 0]; w=logspace(-1,2,100); [mag,phase]=nichols(num,den,w); %返回Nichols曲线参 数 magdB=20*log10(mag); %转换为对数幅值 subplot(2,1,1) semilogx(w,magdB); %使用Nichols曲线参数绘制幅频特性 title('系统幅频特性曲线'); subplot(2,1,2) semilogx(w,phase); %使用Nichols曲线参数绘制相频特性 title('系统相频特性曲线'); figure(2); bode(num,den,w) %直接求取系统Bode图 * title('系统Bode图');
*
二、 MATLAB频域分析实例
例2续: title('系统Bode图'); xlabel('Frequency(rad/sec)'); ylabel('Gain dB'); subplot(2,1,2); semilogx(w,phase); %绘制对数相频特性图 grid; xlabel('Frequency(rad/sec)'); ylabel('Phase deg');
可利用Nichols曲线返回的幅值和 相位数据绘制波特图
运行结果:
* 图8 例5由Nichols曲线参数绘制对数坐标图
运行结果
图9 例5直接求取的系统波特图 *源自二、 MATLAB频域分析实例
例6:分别判定系统 和 的稳定性。如果系统稳 定,进一步给出系统相对稳定参数。 num1=5; den1=conv([1 2],[1 5 0]); G1=tf(num1,den1); margin(G1) figure(2) num2=200; den2=conv([1 2],[1 5 0]); G2=tf(num2,den2); * margin(G2)
频率特性仿真
主要内容
– MATLAB频率分析的相关函数 – MATLAB频率分析实例 – MATLAB频率校正方法
*
一、MATLAB频率分析的相关函数
表1 频域分析的相关函数用法及功能说明
bode(G) bode(G,w) bode(G1,'r-',G2,'gx',…) [mag,phase,w] = bode(G) [mag,phase] = bode(G,w)