文档

设计线性滤波器在频域

这个主题描述函数在频域进行过滤。在空间域信息设计过滤器,明白了图像在空间域滤波是什么?

二维有限脉冲响应(杉木)过滤器

图像处理工具箱™软件支持线性滤波器的一个类:二维有限脉冲响应滤波器(杉木)。万博1manbetxFIR滤波器有一个有限的程度上一个单点,或冲动。所有图像处理工具箱过滤器设计函数返回FIR滤波器。

FIR滤波器有几个特征,使其适合在MATLAB图像处理®环境:

  • FIR滤波器容易表示矩阵的系数。

  • 二维FIR滤波器是一维FIR滤波器的自然扩展。

  • 有几个著名的、可靠的数字滤波器设计的方法。

  • 冷杉过滤器是容易实现。

  • 线性相位FIR滤波器可以设计,这有助于防止变形。

另一类过滤器、无限脉冲响应(IIR)过滤器,并不适合图像处理应用程序。它缺乏固有的稳定和易于数字滤波器的设计和实现。因此,该工具箱不提供IIR滤波器的支持。万博1manbetx

请注意

在这一节中描述的设计方法的大部分工作通过创建一个二维滤波器从一维滤波器或窗口使用信号处理工具箱创建功能。虽然这个工具箱不是必需的,你可能会发现很难设计过滤器如果没有信号处理工具箱软件。

一维滤波器转换成二维冷杉过滤器

这个例子展示了如何将一维滤波器转换成二维滤波器使用ftrans2函数。这个函数可以是有用的,因为它是更容易设计一维滤波器比相应的二维特性特殊的过滤器。频率变换方法保留了大部分一维滤波器的特点,特别是过渡带宽和脉动特性。一维频率响应的形状的二维反应中一览无遗。

这个函数使用一个变换矩阵,一组元素定义了频率变换。这个函数的默认近圆对称变换矩阵生成过滤器。通过定义自己的变换矩阵,可以获得不同的对称性。(见Jae Lim,二维信号和图像处理,1990,详情。)

创建一维滤波器使用firpm从信号处理工具箱™函数。

b = firpm (10 [0 0.4 0.6 1] [1 1 0 0])
b = 1到9列0.0537 -0.0000 -0.0916 -0.0001 0.3131 0.4999 0.3131 -0.0001 -0.0916列10到11 -0.0000 - 0.0537

将一维二维滤波器过滤。

h = ftrans2 (b);
h = 1到9列0.0001 0.0005 0.0024 0.0063 0.0110 0.0132 0.0110 0.0063 0.0024 0.0005 0.0031 0.0068 0.0042 -0.0074 -0.0147 -0.0074 0.0042 0.0068 0.0024 0.0068 -0.0001 -0.0191 -0.0251 -0.0213 -0.0251 -0.0191 -0.0001 0.0063 0.0042 -0.0191 -0.0172 0.0128 0.0259 0.0128 -0.0172 -0.0191 0.0110 -0.0074 -0.0251 0.0128 0.0924 0.1457 0.0924 0.0128 -0.0251 0.0132 -0.0147 -0.0213 0.0259 0.1457 0.2021 0.1457 0.0259 -0.0213 0.0110 -0.0074 -0.0251 0.0128 0.0924 0.1457 0.0924 0.0128 -0.0251 0.0063 0.0042 -0.0191 -0.0172 0.0128 0.0259 0.0128 -0.0172 -0.0191 0.0024 0.0068 -0.0001 -0.0191 -0.0251 -0.0213 -0.0251 -0.0191 -0.0001 0.0005 0.0031 0.0068 0.0042 -0.0074 -0.0147 -0.0074 0.0042 0.0068 0.0001 0.0005 0.0024 0.0063 0.0110 0.0132 0.0110 0.0063 0.0024列10到11 0.0005 0.0001 0.0031 0.0005 0.0068 0.0024 0.0042 0.0063 -0.0074 0.0110 -0.0147 0.0132 -0.0074 0.0110 0.0042 0.0063 0.0068 0.0024 0.0031 0.0005 0.0005 0.0001

查看过滤器的频率响应。

[H, w] = freqz (b, 64,“整体”);colormap(飞机(64))情节(w / pi-1 fftshift (abs (H)))图,freqz2 (H, [32 32])

一维频率响应

相应的二维频率响应

频率抽样法

频率采样方法创建一个过滤器根据期望的频率响应。给定的矩阵点定义频率响应的形状,该方法创建一个滤波器的频率响应通过这些点。频率采样地点没有限制的行为频率响应给定的点之间;通常,涟漪在这些领域的响应。(涟漪在一个常数值振荡。实际滤波器的频率响应经常涟漪理想滤波器的频率响应是平的)。

工具箱函数fsamp2实现了采样频率的二维FIR滤波器的设计。fsamp2返回一个过滤器h频率响应,通过点的输入矩阵高清。过滤器使用。下面的例子创建了一个每组11行11列fsamp2和情节导致滤波器的频率响应。(freqz2函数在这个例子计算二维滤波器的频率响应。看到计算滤波器的频率响应为更多的信息。)

高清= 0(11日11);高清(4:8,4:8)= 1;(f1、f2) = freqspace(11日meshgrid);网格(f1, f2,高清),轴([1 1 1 1 0 1.2]),colormap(飞机(64))h = fsamp2 (Hd);图中,freqz2 (h,[32 32]),轴([1 1 1 1 0 1.2])

实际所需的二维频率响应(左)和二维频率响应(右)

注意实际的频率响应的涟漪,而所需的频率响应。这些涟漪基本问题频率抽样设计方法。他们哪里有发生急剧转变所需的响应。

可以减少空间的波动程度通过使用一个更大的过滤器。然而,一个更大的过滤并不减少波纹的高度,需要更多的计算时间和过滤。实现平滑近似理想的频率响应,考虑使用频率变换方法或窗口的方法。

窗口的方法

窗口的方法包括乘理想的脉冲响应与窗函数来生成一个相应的过滤,形成理想的脉冲响应。如频率抽样法,窗口方法产生一个滤波器的频率响应近似理想的频率响应。窗口的方法,然而,往往会产生更好的结果比频率抽样法。

工具箱提供了两个函数窗口过滤设计,fwind1fwind2fwind1设计一个二维滤波器通过使用一个二维窗口,它创建从一个或两个一维你指定的窗口。fwind2设计一个二维滤波器通过使用一个二维窗口直接指定。

fwind1万博1manbetx支持两种不同的方法进行二维windows使用:

  • 改变一个一维窗口创建一个二维窗口,几乎是圆对称的,通过使用一个类似于旋转过程

  • 创建一个矩形,可分窗口从两个一维的窗户,通过计算其外的产品

下面的例子使用fwind1过滤器创建一个每组11行11列从所需的频率响应高清。这个例子使用了信号处理工具箱汉明函数创建一个一维的窗口,它fwind1然后延伸到一个二维窗口。

高清= 0(11日11);高清(4:8,4:8)= 1;(f1、f2) = freqspace(11日meshgrid);网格(f1, f2,高清),轴([1 1 1 1 0 1.2]),colormap(飞机(64))h = fwind1(高清,汉明(11));图中,freqz2 (h,[32 32]),轴([1 1 1 1 0 1.2])

实际所需的二维频率响应(左)和二维频率响应(右)

创建所需的频率响应矩阵

滤波器的设计功能fsamp2,fwind1,fwind2所有基于所需的频率响应创建过滤器级矩阵。频率响应是一个数学函数描述增加一个过滤器,以应对不同的输入频率。

您可以创建一个适当的期望频率响应矩阵使用freqspace函数。freqspace返回正确的,任何尺寸的均匀间隔的频率值响应。如果您创建了一个理想的频率响应矩阵使用频率点返回的以外freqspace,你可能会得到意想不到的结果,如非线性阶段。

例如,创建一个圆形理想低通和截止频率响应为0.5,使用

(f1、f2) = freqspace(25日meshgrid);高清= 0 (25、25);d =√f1。^ 2 + f2。^ 2) < 0.5;高清(d) = 1;网格(f1, f2,高清)

理想的圆形低通频率响应

注意,频率响应,产生的过滤器fsamp2,fwind1,fwind2是真实的。这个结果是可取的大多数图像处理应用程序。实现这一一般来说,理想的频率响应应该对称的频率源(f1=0,f2=0)。

计算滤波器的频率响应

freqz2函数计算一个二维滤波器的频率响应。没有输出参数,freqz2创建一个网格块频率响应。例如,考虑这冷杉过滤器,

h = [0.1667 0.6667 0.1667 0.6667 -3.3333 0.6667 - 0.1667 0.6667 - 0.1667);

这个命令计算并显示64 - 64点的频率响应h

freqz2 (h)

一个二维滤波器的频率响应

获得频率响应矩阵H和频率点向量f1f2,使用输出参数

(H, f1, f2) = freqz2 (H);

freqz2可实现频率f1f2这1.0的值对应于采样频率的一半,或者π弧度。

一个简单的——- - - - - -n反应,如上所示,freqz2使用二维快速傅里叶变换函数fft2。您还可以指定任意频率点的向量,但在这种情况下freqz2使用较慢的算法。

看到傅里叶变换更多的信息快速傅里叶变换及其应用线性过滤和滤波器的设计。

这个主题有帮助吗?