平滑濾波器

来自testwiki
跳转到导航 跳转到搜索

Template:Refimprove 平滑濾波器Template:Lang-en)是增加低頻的空間域濾波技術。空間域濾波技術即不經由傅立葉轉換,直接處理影像中的像素,主要用於模糊化和去除雜訊。平滑濾波器的輸出是濾波器遮罩的鄰域所含像素的平均,遮罩越大平滑的效果越好,然而若遮罩過大平滑效果會使邊緣的信息失真越嚴重,使输出的圖像過度模糊,因此需合理選擇遮罩的大小。


實現

簡易型平滑濾波器

最簡易型的平滑濾波器可表示為下式

y[n]=12L+1τ=nLn+Lx[τ]

可改寫為

y[n]=x[n]*h[n]


h[n]如下圖所示

簡易型平滑濾波器的脈衝響應h[n]
y[n]=τx[nτ]h[τ]=τ=LLx[nτ]12L+1=12L+1τ=LLx[nτ]


y[n]=12L+1τ=nLn+Lx[τ]


y[n1]=12L+1τ=n1Ln1+Lx[τ]


則可以把y[n]改寫為遞迴形式

y[n]=y[n1]+12L+1(x[n+L]x[n1L])


一般型態平滑濾波器

一般型態平滑濾波器可表示成下列式子

y[n]=x[n]*h[n]=τ=nLx[nτ]h[τ]

而h[n]需符合下列條件

{ 1.h[n]=h[n] 2.|h[n1]||h[n2]||n1|>|n2|

任何隨著|n|遞減的偶函數都可以當成平滑濾波器

一般型平滑濾波器的脈衝響應範例h[n]

應用

平滑濾波器多用來模糊化、去除雜訊,找出信號長期趨勢。

下列為平滑濾波器簡單的範例

% matlab code %

 y =[0:0.1:5]';                       %產生信號
 y = y+ 0.15.*randn(length(y), 1);    %信號加上雜訊
 y2 = smooth(y');                     %使用平滑濾波器去信號雜訊

 subplot(2,1,1),plot(b,y);
 title('x[n]');
 subplot(2,1,2),plot(b,y2); 
 title('x[n] after smoother');

模擬結果

一般型平滑濾波器的脈衝響應範例h[n]

參考書目、資料來源

  1. Jian-Jiun Ding, Advanced Digital Signal Processing, the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2015.