---
# System prepended metadata

title: Biomedical Signal Processing Lab (Discrete Time Signal And System)
tags: [R, signal processing]

---

{%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 是將低頻訊號去除，兩者加起來作用便是帶通濾波器的作用，因此不管如何交換，作用都會相同
