Re: [問題] Simulink 轉移函數使用問題

看板MATLAB作者 (風)時間10年前 (2015/01/16 10:19), 10年前編輯推噓2(205)
留言7則, 2人參與, 最新討論串2/2 (看更多)
在simulink裡面 模擬是在時間下面進行 所以所有的transfer function會被轉成state space的表現方式 再用solver (ode45 etc)做積分 當其中一個transfer fcn的分子階數大於分母階數的時候 這個transfer fcn將無法用state space表示 這也是你看到的error想告訴你的(tf2ss...) 至於PID當中的D 在實際應用的時候 會和一個low pass filter放在一起 所以不會有分子階數大於分母的問題 在laplace transfer裡面 s相當於是做一次微分 從時間軸的角度來看 如果無法預知未來 就無法做微分 所以分子階數大於分母的時候 表示未來的狀態會影響現在的結果 基本上違反時間上的因果論 數學上可以把它寫出來 實際上做不到 至於bode plot 這是個有點危險的工具 因為不管你是什麼樣的系統 只要你可以寫成transfer fcn的形式 你就可以算bode plot 即使是個unstable system 你也可以畫 只是如果系統不是穩定的 bode plot可能沒有意義 我建議可以看一下你的系統是不是有其他系統一起 還有你想做什麼樣的分析 數值分析上來看 是可以做些假設做近似 ※ 引述《ap4318 (gorockboy)》之銘言: : 是這樣的 : 在Simulink裡,使用Transfer fcn "分子階數不能大於分母階數" : 但是我現在系統下有一個block:He(s)=s^2/a^2+s/ab+1的函數 : 此函數的意義是考慮sample data effect(不太重要) : a、b是常數,也就是說我分子2階、分母0階 : 所以會error不讓我放 : 不過心想奇怪,那如果是PID中的D,不也是分子一階分母零階嗎? : 於是就google找其在simulink的做法 : 找到方法如圖:http://ppt.cc/4U1c 左上角第一張圖 : 也確認過此方法是OK的(隨意取一系統用此法跟PID block做step response比較) : 但目前卡住的點是不知道分子2階要怎麼接 : 我用的是迴授路徑在加一個積分器,但block的頻率響應就不如預期了 : 還請各位前輩指導! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.167.53.138 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1421374757.A.C92.html ※ 編輯: windg (73.167.53.138), 01/16/2015 10:24:34

01/16 11:29, , 1F
感謝w大,著實解決了我的疑惑
01/16 11:29, 1F

01/16 11:30, , 2F

01/16 11:32, , 3F
H(e)如上圖所是,整個系統是穩定的,但H(e)放不進去simuli
01/16 11:32, 3F

01/16 11:32, , 4F
nk裡,這個問題到現在還是無解,準備寄信問作者了
01/16 11:32, 4F

01/16 11:46, , 5F
可以分享一下完整的文章嗎?
01/16 11:46, 5F

01/16 16:20, , 6F
paper title:System Modeling and Stability Design for
01/16 16:20, 6F

01/16 16:20, , 7F
Peak Current-mode Buck Power Converter
01/16 16:20, 7F
文章代碼(AID): #1Kk7KboI (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1Kk7KboI (MATLAB)