<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

標準二階系統的Matlab代碼示例分析

牛牛牛 ? 來源:模擬小笨蛋 ? 作者:模擬小笨蛋 ? 2023-11-30 12:27 ? 次閱讀

當我們已知一個系統的閉環傳遞函數時候,我們通常有兩種方法來判斷系統的穩定性。第一種是時域分析方法,可以觀察閉環傳遞函數的階躍響應;第二種是頻域分析法,可以觀察閉環傳遞函數的頻率響應。頻域分析方法中,伯德圖一般被廣泛使用。這兩種分析方法都可以借助Matlab工具得到直觀的曲線,非常有助于我們對問題的分析。

Note1:時域分析時,除了常用的階躍信號作為輸入激勵外,還常使用脈沖信號和斜坡信號作為激勵。Note2:頻域分析法,我們既可以選擇環路增益的伯德圖,也可以選擇閉環傳遞函數的伯德圖。

以一個非常有代表性的標準二階系統為例,可以通過Matlab研究該系統的特性。其閉環傳遞函數如下(公號不支持公式編輯也真是個亮點,直接上圖吧):圖片下面針對公式2進行分析。01 時域

當ζ取不同的值時,該系統的階躍響應會是怎樣的呢?設計如下所示的Matlab代碼。仿真波形如圖1所示,三維波形如圖2所示。

% G(s)=ωn^2/(s^2+2ζωn s+ωn^2 ).whenωn=1,research unit-step response

% with different ζvalues.

%------------------------------------------------------------------------

t=0:0.2:10;

zt=[0.1 0.2 0.4 0.6 0.8 1.0];

for n=1:6

num=[1];

den=[1 2*zt(n) 1];

[y(1:51,n),x,t]=step(num,den,t);

[y(1:51,n),x,t]=impulse(num,den,t);

end

plot(t,y)

grid

title(‘plot of unit_step response curves with omega_n=1 and zeta=0.1,0.2,0.4,0.6.0.8,1.0’)

xlabel(‘t secs’)

ylabel(‘response’)

text(3.7,1.7,‘zeta=0.1’)

text(3.5,0.8,‘zeta=1.0’)

% to plot a three-dimensional diagram,enter the command mesh(t,zeta,y‘)

figure(2)

mesh(t,zt,y’)

title(‘three-dimensional plot of unit-step response curves’)

xlabel(‘t secs’)

ylabel(‘zeta’)

zlabel(‘response’)

圖片

圖 1 ζ取不同值時的閉環階躍響應曲線

圖片

圖 2 ζ取不同值時的三維圖形

當ζ從0不斷增大時,系統將逐漸從欠阻尼狀態(0<ζ<1)過渡到臨界阻尼狀態(ζ=1)再過渡到過阻尼狀態(ζ>1)。

觀察閉環階躍響應曲線,當ζ<0.6時,系統表現出很大的減幅振蕩;當ζ≥0.6時,系統趨于穩定,可以看到ζ=1.0時已非常穩定。也可以發現,當系統的穩定性有保障之后,響應速度隨著ζ越大而越來越慢。在工程控制中,為了平衡系統穩定性和響應速度,ζ一般取0.707。

02 頻域

其實也可以在頻域上觀察系統的穩定性,設計如下的Matlab代碼,仿真結果如圖3所示。

% G(s)=ωn^2/(s^2+2ζωn s+ωn^2 ).whenωn=1,the plot of bode digram

% with different ζvalues.

%------------------------------------------------------------------------

zt=[0.1 0.2 0.4 0.6 0.8 1];

%zt=[0.1:0.1:1];

for n=1:6;

num=[1];

den=[1 2*zt(n) 1];

G=tf(num,den);

hold on;

bode(G)

end

grid

title(‘plot of bode diagram with omega_n=1 and zeta=0.1,0.2,0.4,0.6.0.8,1.0’)

圖片

圖 3 ζ取不同值時的閉環頻率響應曲線

觀察閉環頻率響應曲線,因為ωn=1,發現1rad/s附近有好幾條曲線具有正的增益,這其實是系統不穩定的表現。重點觀察ζ=0.1時的曲線,因為ωn=1時,所以曲線在大約1rad/s處出現尖峰(意味著極大增益),實際會表現為振蕩。同理,如果ωn=2,ζ=0.1時曲線會在2rad/s附近出現尖峰。(注:如果ζ=0,會發現在ωn處有無窮大增益)。工程控制中一般取ζ=0.707是非常有道理的,此時系統在穩定性和響應速度方面可以說達到了最好平衡。此時,閉環系統的頻響平坦區范圍基本上是0~ωn。

03 總結

ζ=0.707時,系統的穩定性和響應速度之間達到最好的折衷,此時閉環頻率響應的平坦區范圍可到ωn;

ζ=0.707不一定是所有二階系統的最優選擇 ,在穩定性得到保障之后,ζ具體取多大還要看實際系統的具體需求;

一個不穩定的二階系統,很可能會在ωn附近出現振蕩行為;

使用Matlab可以對任意已知傳遞函數的系統進行階躍響應、脈沖響應、斜坡響應的分析。脈沖響應可直接使用impulse(num,den,t)命令。斜坡響應較為復雜,沒有直接的命令可用。這時就需要進行公式轉換,斜坡響應的拉普拉斯表示為1/s2,將其乘以G(s)得到G(s)/s2,因此G(s)的斜坡響應可通過G(s)/s的階躍響應得到。

參考:

[1] 現代控制工程,Katsuhiko Ogata,P123~P149

[2] 控制系統計算機輔助設計,薛定宇,P170~P190

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    175

    文章

    2925

    瀏覽量

    228615
  • 函數
    +關注

    關注

    3

    文章

    4026

    瀏覽量

    61386
  • 代碼
    +關注

    關注

    30

    文章

    4566

    瀏覽量

    66962
  • 時域分析
    +關注

    關注

    0

    文章

    33

    瀏覽量

    11024
  • 閉環系統
    +關注

    關注

    0

    文章

    14

    瀏覽量

    9377
收藏 人收藏

    評論

    相關推薦

    labview虛擬儀器技術實驗教程-二階開環系統的仿真實現

    實驗目的  學習Labview中微分方程組的解法  二階開環系統的仿真原理  高階微分方程描述物理系統 ,如一個二階系統 :  用Labvi
    發表于 12-31 15:23

    二階鎖相環

    采用后向Euler數值積分法實現二階鎖相環的一個仿真模型,對二階鎖相環進行仿真,那位大俠做過?可以參考下原代碼不?
    發表于 05-28 17:21

    基于MATLAB二階系統分析

    基于MATLAB二階系統分析
    發表于 05-29 19:35

    LabVIEW實驗5_二階開環系統

    LabVIEW實驗5_二階開環系統
    發表于 08-13 09:11

    二階有源RC低通濾波器的分析

    二階有源RC低通濾波器的分析
    發表于 08-18 15:57

    二階系統的時域響應

    二階系統的時域響應
    發表于 04-10 20:56

    請問用matlab對圖像進行無方向性的二階微分如何調用函數

    請問用matlab對圖像進行無方向性的二階微分該怎么調用函數呀?我現在在做散焦圖像復原,遇到matlab調用函數的問題,希望哪位可以給我一些指導!
    發表于 05-18 21:30

    二階系統問題

    設計一個二階系統,輸入脈沖要求脈沖的寬度占空比等值能改變,然后得到響應曲線,該怎么設計???畢設問題急求啊
    發表于 05-29 12:02

    二階系統的單位階躍響應

    本帖最后由 MEKER 于 2014-3-26 23:27 編輯 二階系統的單位階躍響應
    發表于 03-26 23:25

    求助LabVIEW自動控制原理實現一系統二階系統實驗

    本科論文題目基于LabVIEW的自動控制原理實驗平臺設計,只要實現一系統二階系統仿真。求高手幫忙,重謝!有意著聯系QQ:895420475
    發表于 05-14 17:04

    有沒有哪位大神做過一二階測試系統的,求賜教

    有沒有哪位大神做過一二階測試系統的,求賜教
    發表于 06-11 17:08

    二階濾波電路

    二階濾波電路的電阻怎么選擇,是Rf||R1=R||R嗎?
    發表于 03-27 21:04

    如何實現一慣性濾波器和二階濾波器的算法?

    MATLAB怎么進行軟件濾波仿真一二階電路濾波器的軟件方式實現
    發表于 04-06 08:11

    如何保證二階系統的穩定性?

    如何保證二階系統的穩定性?
    發表于 06-24 06:59

    嵌入式平臺C語言實現二階濾波器的方法

    最近想從嵌入式平臺上用C語言實現二階濾波器,于是先從Matlab上驗證二階濾波器公式,再編寫C語言來驗證。算法移植(實現過程)①先用Matlab自帶公式的
    發表于 12-15 09:12
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>