问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

二维FIR数字滤波器设计——窗函数设计法

创作时间:
作者:
@小白创作中心

二维FIR数字滤波器设计——窗函数设计法

引用
CSDN
1.
https://m.blog.csdn.net/u013600306/article/details/144532828

二维FIR(Finite Impulse Response)数字滤波器设计中,窗函数法是一种常用的方法。它基于一维窗函数的设计思想扩展到二维空间。

二维FIR数字滤波器设计步骤

1. 确定理想频率响应

首先定义理想的频率响应Hd(u, v),其中u和v是频率变量。这通常是一个理想的低通、高通、带通或带阻滤波器的响应。对于图像处理来说,这些滤波器可以用来平滑图像(低通)、锐化图像(高通)等。

2. 计算理想的脉冲响应

利用傅里叶逆变换从理想的频率响应Hd(u, v)中计算出对应的理想脉冲响应hd(m, n),即滤波器的系数。这里m和n是离散空间坐标。然而,这个理想的脉冲响应通常是无限长的,并且包含有吉布斯现象(Gibbs phenomenon),即在不连续点附近出现的振荡。

3. 设计窗函数

选择一个适当的二维窗函数W(m, n)来截断并加权理想的脉冲响应hd(m, n),以创建有限长度的滤波器系数。常用的窗函数包括矩形窗、汉宁窗(Hanning window)、汉明窗(Hamming window)、布莱克曼窗(Blackman window)等。二维窗函数可以通过一维窗函数的乘积形式得到,例如:

W(m, n) = w(m) × w(n)

其中w(m)和w(n)是相同或不同的窗函数。也有专门为二维设计的窗函数(如圆形窗)。窗函数的选择会影响滤波器的过渡带宽和阻带衰减特性。

4. 加窗处理

将理想的脉冲响应hd(m, n)与窗函数W(m, n)相乘,并获得有限长度的实际脉冲响应h(m, n):

h(m, n) = hd(m, n) × W(m, n)

这样做不仅限定了滤波器的尺寸,而且通过窗函数的应用可以减少吉布斯现象的影响。

5. 滤波器实现

使用获得的滤波器系数h(m, n)对输入信号进行卷积操作,从而实现滤波功能。在图像处理中,这意味着对图像像素值应用该卷积核。

6. 性能评估

最后,对设计好的滤波器进行性能评估,检查其是否满足特定的应用需求,如通带纹波、阻带衰减、过渡带宽等指标。如果必要,可以根据评估结果调整窗函数或其他参数重新设计滤波器。

  • 窗函数的选择:不同类型的窗函数会影响滤波器的频域特性。例如,矩形窗会提供最窄的主瓣但旁瓣较高;而其他窗函数可能会增加主瓣宽度但减少旁瓣电平。
  • 滤波器尺寸:较大的滤波器尺寸可以更好地逼近理想的频率响应,但也会增加计算复杂度。
  • 边界效应:在实际应用中,需要注意处理好图像边缘处的卷积运算,避免边界效应带来的失真。

不同结构的滤波器设计

在一维FIR数字滤波器设计——窗函数设计法的基础上,二维滤波器窗函数设计法有圆对称和可分离两种。

圆对称滤波器

  1. 确定理想频率响应

首先,定义理想的频率响应Hd(u, v)。对于圆对称滤波器,理想频率响应是一个圆盘形状,即在某个半径内为1,之外为0。

Hd(u, v) =
\begin{cases}
1 & \text{if } \sqrt{u^2 + v^2} \leq \omega_c \
0 & \text{otherwise}
\end{cases}

其中,ωc是截止频率。

  1. 计算理想脉冲响应

通过逆离散傅里叶变换(IDFT)将理想频率响应转换为时域的脉冲响应hd(m, n):

hd(m, n) = IDFT{Hd(u, v)}

  1. 应用圆对称窗函数

应用高斯窗函数w(m, n)来平滑边缘,减少吉布斯现象。

win = fspecial('gaussian',21,2);
win = win ./ max(win(:));

  1. 设计滤波器系数

将理想脉冲响应与矩形窗函数相乘,得到实际的滤波器系数h(m, n):

h(m, n) = hd(m, n) ⋅ w(m, n)


可分离滤波器

  1. 定义理想频率响应

定义理想的频率响应Hd(ejω1, ejω2)。对于可分离滤波器,理想频率响应是一个矩形形状:

Hd(ejω1, ejω2) =
\begin{cases}
1 & \text{if } |\omega_1| \leq \omega_c \text{ and } |\omega_2| \leq \omega_c \
0 & \text{otherwise}
\end{cases}

其中,ωc是截止频率。

  1. 计算理想脉冲响应

通过逆离散傅里叶变换(IDFT)将理想频率响应转换为时域的脉冲响应hd(m, n):

hd(m, n) = IDFT{Hd(ejω1, ejω2)}

  1. 分解脉冲响应

将hd(m, n)分解为两个一维滤波器的乘积:

hd(m, n) = h1(m) ⋅ h2(n)

  1. 应用窗函数

应用矩形窗函数w(m)和w(n)来平滑边缘,减少吉布斯现象。

w(m) =
\begin{cases}
1 & \text{if } |m| \leq M/2 \
0 & \text{otherwise}
\end{cases}

w(n) =
\begin{cases}
1 & \text{if } |n| \leq N/2 \
0 & \text{otherwise}
\end{cases}

M、N为滤波器尺寸。

  1. 设计滤波器系数

将理想脉冲响应与矩形窗函数相乘,得到实际的滤波器系数h(m, n):

h(m, n) = h1(m) ⋅ w(m) ⋅ h2(n) ⋅ w(n)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号