Re: [問題] 轉移函數轉成C語言

看板C_and_CPP作者 (你很記者你很腦殘)時間10年前 (2015/11/06 02:50), 10年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
雙線性轉換其實他是有出現頻率扭曲的情況 在從s plane 到 z plane上 並不是全部都能對應上的 只能說 在穩定的區間對應是大約對應的 可以去看一下他的推導 在s domain上 是屬於 連續時間的控制 而他代表意義是訊號在動態情況之下發生的行為 所以如果你要分析一個轉換函數 你可以將他改變成時域的行為 例如: 系統是一個 1/s (s domain) 輸入訊號為 f(t) (time domain) 輸出就變成 1/s*F(s) ( F(s) = Laplace(f(t)) --> 在時域上就變成 ∫f(t)dt 而在運算的實現就可以用積分的數值方法去作. 但是在z domain就比較簡單了 通常一個系統都可寫成 Cn*z^n + Cn-1*z^n-1 + ... + Cn2z^2 + Cn1z^1 + Cn0z^0.... (Z轉換公式 Sum(Cn*z^(-n)) 這就是濾波器的形式 所以你先輸入的訊號 就先跟系統較早的狀態相乘 也就是作 convolution 你就可以得到結果 例如: 系統是 1*z^0 + 2*z^-1 + 3*z^-3 那就寫成 [1, 2, 3] 假設 輸入訊號在t=0時為3, t=1時2, t=3時1 是 [3,2,1] 則t=0時, 輸出為 1*3 = 3 t=1 3*2+2*1 = 8 t=2時 3*3+2*2+1*1 = 14 ..... 我想下面應該可以自己推導出來... 好 作個結論: 1. 知道系統在s-domain的狀態 轉成大約的z轉移函數 2. z轉移函數轉成冪級數 3. 以輸入訊號和系統作convolution 即可得到系統當時的輸出值 如果你是要即時得到濾波訊號的結果, 這麼作就可以 通常轉移函數是用來作分析的 因為如果你的輸入訊號是不可預測的, 你也不會知道你的輸入會是什麼函數. 而既然知道s,z domain的系統狀態, 你就一定會以回推時域的系統狀態. 但是在雙線性轉換要先提醒的是, 你要先知道你的系統的頻率. 數位訊號系統很重要的是取樣頻, 在s domain裡, s可以代成 jw j代表虛數符號, w = 2pi/T, T就是取樣頻. 你要轉成z domain, 你也要先知道取樣頻, 你才能作之後的轉換. ※ 引述《Jhih8051 (ARM)》之銘言: : 更新一下目前進度, : 依照上次各位大大的建議,讀了一些z trasform的資料, : 目前需要將s domain轉換至z domain, : 但卻不知該如何轉換, : 信號與系統似乎也沒教這一塊... : 不過網路上有找到s to z互相轉換的表 : 網址 : http://lpsa.swarthmore.edu/LaplaceZTable/LaplaceZFuncTable.html : 另外也在網路上看到一個叫tustin(中文 : 雙線性轉換)的定理, : 主要是把s 代成 2(z-1)/T(z+1) : 但我發現轉換後與s to z轉換表結果居然不一樣(例如: 1/s代出來不會是z/z-1), : 不知道究竟哪一個才是對的... : 另外最近也先嘗試用C實現一些簡單的z domain的函式, : 發現如果函式很複雜,還真不知該如何實現, : 不知道這方面有沒有書或資料可以參考? : 感謝各位大大的指導<(_ _)> : ※ 引述《Jhih8051 (ARM)》之銘言: : : 請問各位大大, : : 如何將控制系統中的轉移函數(transfer function)用C語言來實現呢? : : 在MATLAB與Simulink都可以直接使用S domain來表示, : : 例如G(s) = (S-1) / (S-2)(S-3)(S-4) : : 這在上述的模擬軟體中,都可以很值觀的照著key, : : 但對於如何用C語言來實作是完全沒有概念... : : 順便一提,小弟的專長是用C語言寫單晶片控制, : : 但碰到這個卻完全沒有頭緒... : : 還請各位大大解惑,感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.13.187 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1446749445.A.CE4.html ※ 編輯: schizophrena (123.195.13.187), 11/06/2015 02:54:40 ※ 編輯: schizophrena (123.195.13.187), 11/06/2015 03:15:34

11/06 09:39, , 1F
我試試看 謝謝囉
11/06 09:39, 1F
文章代碼(AID): #1MEwK5pa (C_and_CPP)
文章代碼(AID): #1MEwK5pa (C_and_CPP)