{%hackmd @themes/orangeheart %} # Discrete Time Signal And System 建立時間:24/05/08 \ 作者:Aaron Huang 下面會依據題目 Procedures 的要求列出結果,有關 R 的原始碼可以參考我的 [Github gist](https://gist.github.com/aaronhuang1005/00ca93fed938ec3607388b38606d820b) ## Basic sequence 首先將題目給定: $$x[n] = \begin{cases} 0.3^n &, 0\leq n \leq19 \\0 &, otherwise\\\end{cases}$$\ $$y[n] = \begin{cases} 0.5^n &, 0\leq n \leq30 \\0 &, otherwise\\\end{cases}$$\ **a.**&**b.** 在R語言中呈現,並繪製: ![image](https://hackmd.io/_uploads/SJ6YTlFfA.png) **c.** 接下來將兩序列做卷積: ![image](https://hackmd.io/_uploads/SkdTpgYGC.png) ## Filter system **d.** 這是手動計算題目給定moving average filter: $$y[n]= \frac{1}{9}(x[n]+x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]+x[n-6]+x[n-7]+x[n-8])$$ 手動計算 Impulse response: ![image](https://hackmd.io/_uploads/Hy8F4bFM0.png) **e.** 根據題目給定的ECG訊號讀入並顯示: ![image](https://hackmd.io/_uploads/ry2PBWtzA.png) **f.** 將ECG訊號做前述的 moving average filter 濾波: ![image](https://hackmd.io/_uploads/BytMKbYGA.png) **g.** 利用卷積函式`conv()`做 moving average filter 的濾波: ![image](https://hackmd.io/_uploads/HyyiYbtzC.png) **i.** 利用 differentiation filter 做濾波,根據題目上面公式 $filter = [\frac{1}{2}, 0, -\frac{1}{2}]$ 計算: ![image](https://hackmd.io/_uploads/BkfP6fYzR.png) **j.** 將上設的濾波器(Average, Differentiation)串接計算: ![image](https://hackmd.io/_uploads/HkpvTfFf0.png) **k.** 將上步驟兩個濾波器交換串接位置計算: ![image](https://hackmd.io/_uploads/BkROpGtfA.png) ## 討論 **a.** Average filter 與 Differentiation filter 的影響會是甚麼?\ Average filter 的作用會將訊號平滑化,減少雜訊的產生\ 而 Differentiation filter 的作用會將訊號的插值更加明顯,低頻訊號減少\ \ **b.** 將兩個串接的濾波器交換為何訊號會相同?\ Average filter 是將高頻訊號去除,而 Differentiation filter 是將低頻訊號去除,兩者加起來作用便是帶通濾波器的作用,因此不管如何交換,作用都會相同