[其他] 差分方程定義出的函數非LTI

看板Math作者 (QQ)時間2年前 (2022/05/24 01:39), 2年前編輯推噓0(001)
留言1則, 1人參與, 2年前最新討論串1/1
先大致說明一下問題, 之後再提供這些問題的定義: 很常聽到差分方程 = IIR(無窮脈衝響應), 而且也是LTI系統(線性非時變系統) 但是我照定義走一次後發現差分方程定義的系統並非LTI 我猜測要馬是: (1) 我差分方程定義系統的定義問題 要馬就是: (2) 差分方程真的不是LTI系統 -------------------------------------------------------------- 【符號】 F := R or C, 實數域或是複數域 Z := 整數域 N := 正整數域 S := {x:Z→F}, 所有對應域為F的數列所成的集合 L := S → S, 把數列打到數列的函數, 訊號處理稱之為系統 * := 乘法 【定義LTI】 We say L:S→S is a LTI system if (1) for any x, X€S and a,b€F, we have L{a*x+b*X}_n = a*L{x}_n + b*L{X}_n for any n€Z (2) for any x€S, and K€Z, defining X_n := x_(n-K) for any n€Z we have L{X}_n = L{x}_(n-K) for any n€Z <Note> (a) 我們稱(1)為線性, (2)為非時變 (b) (2)的K有資料寫K€N, 但是"LTI等價於摺機"的推導是需要K€Z的 所以我還是採用K€Z的定義比較完善 【由差分方程定義系統】 Given a_i, b_j€F, i = 1~A, j=0~B-1, n_0€Z, a_A != 0, b_(B-1) != 0 we define D:S→S by D{x}_n := y_n as follows: For any x€S, y_n := 0 , n<n_0 Σ_{i=1~A} a_i*y_(n-i) + Σ_{i=0~B-1} b_i*x_(n-i), n>=n_0 <Note> (a) {y_n,n<n_0}為初始值, 直接定義成0是因為若有非0初始值就可以推導出D非線性 所以我直接定義成0 (b) D並不會滿足"非時變", 直接用y_n = y_(n-1) + x_n, x_n := n, n_0 := 1 就可以得到反例 【問題分析】 從數學角度來看差分方程求解確實要給初始值, 但是從工程角度我最初不怎麼在乎初始值 就沒check差分方程是否會滿足LTI 結果因為今天要證明他是LTI, 就必須嚴格定義出差分方程為一個系統 也就是說, 要明確給定固定的n_0與初始值{y_n│n<n_0}才能將差分方程定義為系統 但也就是這個操作, 讓D失去了非時變性 因為圖形上要讓D有非時變性就要讓n_0可以隨著輸入而變動 但是如果真的這麼做, D就不是well-defined函數 【答案猜測】 (1) 以上定義沒錯, 而且差分方程不是LTI系統 (如果是這樣的話, 對整個訊號處理的理論應該影響不小吧?) (2) 以上定義要修正, but how? -------------------------------- 再請板友幫忙, 謝謝~ <Update> 在搜尋相關的問題後發現癥結點, 舉例如下:(|a|<1) 令脈衝響應 h_n = 0 , n<0 a^n, n>=0 則 L{x} := x*h 為一LTI系統, 且為IIR類型(因為h沒有support), *為摺積 接著寫開 y_n := (x*h)_n = Σ_{k=0~∞} h_k*x_(n-k) = Σ_{k=0~∞} a^k*x_(n-k) --(●) 然後發現 y_n = a*y_(n-1) + x_n --(◎) 這裡就可以發現到, 任給數列x_n, (●)就有唯一定義的y_n 但是(◎)卻要給初始值才有well-defined的y_n 以x_n恆等於1為例, 在(●)的y_n化簡出來是y_n = 1/(1-a) 但是在(◎)卻是要給初始值y_init = 1/(1-a)才能得到相同結果 你如果給其他初始值就會產生其他解 因此IIR跟差分方程本來就有落差 最後答案就是: (1) IIR當然是LTI (2) 【由差分方程定義系統】中的D並非是LTI (3) IIR的輸出可以寫成一個差分方程, 並且給適當的初始值(與IIR跟輸入都有關)後 解與IIR的解一致 (4) 差分方程可以藉由極限忽略法定義出一個IIR (以上面y_n = a*y_(n-1) + x_n為例 = a^K*y_(n-K) + Σ_{k=0~K} a^k*x_(n-k) 接著把K取∞後, 忽略y_(-∞), 我們得到y_n = Σ_{k=0~∞} a^k*x_(n-k) 此式為一個其中h_k := a^k, 為一個IIR) 完整解釋應該就是這樣吧? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.225.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1653327556.A.E79.html

05/25 23:55, 2年前 , 1F
digital filter本來就要指定initial state 尤其IIR
05/25 23:55, 1F
嗨r大, IIR本身沒有初始值的問題, 因為照定義IIR就只是h沒有支撐而已, 定義式還是y_n = (x*h)_n 可是差分方程就有初始值問題, 才會有這篇"差分方程好像不是LTI" 不過不考慮細節的話, 就有一種"差分方程 = IIR, 都是LTI"的感覺... ※ 編輯: znmkhxrw (114.44.232.28 臺灣), 05/26/2022 19:53:03
文章代碼(AID): #1YYyR4vv (Math)