余弦滤波器

2024-09-06

余弦滤波器(共4篇)

余弦滤波器 篇1

最初的脉冲成形滤波器设计是在频域上进行, 目前, 在时域实现基带脉冲成形的方法主要有两种, 查表法和滤波器法[1]。本文介绍利用MATLAB软件编程仿真, 用滤波器法设计一种的基带成形滤波器。

1、基带成形滤波器原理

通过采用合适的滤波器对码流进行滤波生成基带信号的过程又称“基带成形滤波”。升余弦滤波器[2]作为基带成形滤波, 频率响应为升余弦响应函数Hrc (f) 。发送端与接收端的频率响应均采用根升余弦HT (f) 与HR (f) 。

理想的升余弦滚降滤波器的传输函数是:

其中, fN是奈奎斯特采样频率, sT是调制后的符号周期, sR为符号速率, α为滚降因子。

根升余弦滚降滤波器的传输函数的幅度响应为[3]:

由奈奎斯特定理可推出, 脉冲响应hT (n) 与幅频响应Hrc (f) 的关系:

2、升余弦滚降基带成形滤波器的软件实现

2.1 R_cosine () 函数

R_cosine () 函数是MATLAB中自带函数。

输入的变量为f、alpha、T, 分别对应于其中公式 (1) 中的输入信号的频率f、滚降系数α和采样间隔sT。

输出的F_R即公式中的表示为滤波器的幅频响应。

2.2 RRC () 函数

RRC () 函数为自定义函数, 根据公式 (3) , 调用R_cosine () , 得到一个对称线性相位的根升余弦滚降滤波器的脉冲响应hT (n) 。

输入端参数为k、N、T、alpha, 其中k是每个符号周期内的采样率, 一般取得4即可满足奈奎斯特准则;N是为滤波器阶数 (奇数) , 也即是冲激响应序列的长度;T是输入数据符号周期;alpha为滚降系数α。

3、基带成形滤波器仿真与分析

3.1 滤波器的波形图仿真与分析

根据滤波器的性能分析方法, 设置的参数每符号周期采样K为4个, 信号源码元符号周期T为1/1000, 对脉冲响应、幅频响应图、相频响应图进行分析。

3.1.1 α=0.25, N=33时脉冲响应图分析

根据图1可以看出, 在N=33时, 冲激响应的序列长度也为33, 抽头系数是设计值 (33) , 脉冲响应的波形图也很近似sinx/x的图形。

3.1.2 α=0.25, N=33时耗损函数曲线分析

从图2得到, 在频域上当频率小于0.2rad/s时, 幅度衰减很小, 可以看作是0;在0.2rad/s时开始明显衰减, 从0.2rad/s到0.3rad/s衰减了约19dB;在0.3rad/s时急速衰减, 到0.325rad/s时已经衰减了37dB;从0.2rad/s到0.325rad/s。仿真计算得到根升余弦滚降滤波器的3dB带宽为0.25rad/s, 通带的最大衰减为0.083dB, 阻带最小衰减为38dB。通带边界频率为0.195rad/s, 阻带边界频率0.318rad/s, 过渡带宽为0.123rad/s, 波纹幅度为37.917dB。计算得到过渡比约为0.613。

3.1.3α=0.25, N=65时耗损函数曲线分析

观察图3得到, 在频域上当频率小于0.2rad/s时, 幅度衰减很小, 可以看作是0;在0.2rad/s时开始明显衰减, 从0.2rad/s到0.3rad/s衰减了约18dB;在0.3rad/s时急速衰减, 到0.32rad/s时已经衰减了37d B。3d B带宽为0.25rad/s, 在通带的最大衰减为0.035dB, 阻带最小衰减为42dB。通带边界频率为0.192rad/s, 阻带边界频率0.316rad/s, 过渡带宽为0.123rad/s。波纹幅度为41.965dB。计算得到过渡比约为0.607。

3.1.4α=0.15, N=65时耗损函数曲线分析

根根据据图图4得得到到, , 在在频频域域上上当当频频率率小小于于0.23rad/s时时, , 幅幅度度衰衰减减很很小, 可以看作是0;在0.23rad/s时开始明显衰减, 从0.23rad/s到0.28rad/s衰减了约19dB;在0.28rad/s时急速衰减, 到0.31rad/s时已经衰减了43d B。3d B带宽为0.24rad/s, 通带的最大衰减为0.041dB, 阻带最小衰减为40dB。通带边界频率为0.215rad/s, 阻带边界频率0.305rad/s, 过渡带宽为0.09rad/s, 波纹幅度为39.049dB。计算的到过渡比约为0.705。

3.2 结语

根据以上分析得到表1如下:

由于通带的最大衰减越小越好, 阻带最小衰减描述它阻碍该阻碍的波段的能力的高低 (理想状态是100%衰减) , 阻带最小衰减越大, 则能力越好。过渡比为通带边界频率比阻带边界频率, 越接近1说明过渡带越窄, 选择性越好。运用本设计的方案, 调整N与α, 可设计出满足指标要求的余弦响应基带成形滤波器。

摘要:利用MATLAB的基本函数Rcosine () , 编程设计自定义函数RRC () 。对余弦响应基带成形滤波器进行了仿真计算, 给出了三组参数下的部分性能曲线, 提供了部分相关计算结果。其仿真计算方法可用于无线城域网的基带成形滤波器的具体设计。

关键词:基带成形,滤波器,设计

参考文献

[1]秦志强, 张水莲, 孙萍.阶数可变的成形滤波器FPGA实现.通信技术, 2009.42:261-265.

[2]韦岗, 季飞, 傅娟.通信系统建模与仿真[M].北京:电子工业出版社, 2007, 6.

[3]吴明森, 梁继业, 刘海涛.CDMA20001x基带成形滤波器---一种低复杂度的设计和实现[J].电子测量与仪器学报, 2006, 20:67-70.

余弦滤波器 篇2

关键词:数学滤波,平方根,余波

1 基本流程及功能指标

平方根升余弦FIR滤波器的设计,首先要得出滤波器系数。使用Matlab中的rcosine函数得出滤波器系数,之后编写VHDL程序,进行波形仿真,验证结果是否符合要求。

平方根升余弦滤波器设计目标:

滤波器类型:平方根升余弦FIR滤波器;阶数:32;信号传输速率:8.448Mbps;过采样点数:4Point/bit;升余弦系数:0.6。

2 基本原理

在实际通信系统中,如果用升余弦滤波器做奈奎斯特滤波器,一般发送端的成型滤波器和接收端的匹配滤波器都采用平方根升余弦滚降滤波器。

数字滤波器的系统函数可以表示为:

直接得出表示输入输出关系的常系数线性差分方程为:

由此可以知道数字滤波器是把输入序列经过一定的运算变换成输出序列。一般普通的数字滤波器是线性时不变(LTI)滤波器,对于因果的FIR系统,系统函数仅有零点(除z=0的极点外),并且系数a k全为零,所以上式简化为:

可以认为是x(n)与单位脉冲相应h(n)的直接卷积。阶数为N的FIR滤波器是数学表达式为:

其系统函数为:

其中h(n)为第n级系数,x(n-k)为延时n阶的输入信号。

3 实现结构

由于系数是对称的,即h(n)=h(N-n).可得

4 Matlab仿真

调用matlab中的rcosine计算滤波器的系数,程序如下:

5 FPGA实现

根据实现原理,FPGA实现平方根升余弦滤波器的实质就是乘法累加器,代码如下:

6 FPGA仿真

设定输入后,在modelsim中的仿真结果如下

从仿真结果图中可以看出,由于没有对累加输出进行截断,输出位数为25位,并用输入值进行计算,可得仿真结果正确在quartus中综合报告的结果如下:

若将仿真结果中的输入、输出数据用图形表示,则如下所示:

结论

本方法采用Matlab仿真设计,VHDL实现并使用Altera公司的FPGA进行验证,设计达到预定要求。经与我单位传统设计比较(DSP实现),系统效率有了大幅度提升,表明此种FIR滤波器的实现方法高效可行。

参考文献

余弦滤波器 篇3

根升余弦成形滤波器是数字信号处理中的重要部件, 它能对数字信号进行成形滤波, 压缩旁瓣, 减少干扰的影响, 从而降低误码率。根据文献[1], 它的传统FPGA实现方式基于乘累加器 (Multiplier Add Cell, MAC) 结构, 设计方便, 只需要乘法器、加法器和移位寄存器即可实现, 但是在FPGA中实现硬件乘法器十分耗费资源。特别是当滤波器阶数很高时, 资源耗费不可忽视。若采用乘法器复用的结构, 运算速度较慢。分布式算法 (Distribute Arithmetic, DA) 是另一种应用在FPGA中计算乘积和的算法。根据文献[2], 分布式算法结构的FIR滤波器利用FPGA中的查找表 (LUT) 来替代乘法器, 这种方法可以极大地减少硬件电路规模, 有效提高逻辑资源的利用率, 而且有较高的处理速度, 满足实时处理的要求。分布式算法的处理速度仅与输入的位宽有关, 对于大规模乘积和的运算, 其计算速度有着明显的优势。当输入位宽过大时, 可以通过将DA算法改进成并行结构而获得更快的处理速度。根据文献[3], 对多速率系统来说, 还可以引入多相结构来减少计算量, 提高处理速度。本文针对根升余弦成形滤波器提出一种基于多速率信号处理技术和分布式算法的FPGA实现技术, 使得计算量大幅减少, 处理速度得到较大提高, 而且使得FPGA资源利用更合理。

1 根升余弦滤波器原理与结构

奈奎斯特第一准则提出消除码间干扰, 系统从发送滤波器经信道到接收滤波器总的传输特性所应满足的条件, 据此可以求出满足奈奎斯特准则的成形滤波器。根据文献[4], 在实际中得到广泛应用的是幅频响应, 它是具有奇对称升余弦形状过渡带的一类滤波器, 即升余弦滤波器, 它的冲激响应为:

h (n) =sin (πn/Τ) πn/Τcos (aπn) /Τ1- (4a2n2) /Τ2 (1)

式中:T为输入码元速率;a为滚降系数, 实际应用在0~0.4之间。除了抽样点n=0之外, 它在其余所有抽样点上均为0, 而且它的衰减很快, 随着n的增大, 呈平方衰减。这样, 对于减小码间干扰及对定时误差的影响非常有利。

本文要求实现的基带成形滤波器滚降系数为0.35。它的频率响应要求如图1所示。

由于在FPGA中数据由定点数表示, 所以需要对系数进行量化。本设计中, 采用整系数表示方法, 对滤波器系数先放大127倍, 然后取整量化为8位整数, 量化后它的冲激响应系数如表1所示。

所实现的幅频和相频响应如图2所示。

2 分布式算法与多相原理

2.1 分布式算法原理

分布式最初由Croisier于1973年提出, 但直到出现查找表结构的FPGA之后, 分布式算法才被广泛应用于乘积计算中。FIR滤波器采用分布式算法可以极大地减少硬件电路的规模, 很容易实现流水线技术, 提高电路的执行速度。

根据文献[5], 长度为N的因果有限冲激响应滤波器 (FIR) 可以用下列传输函数H (z) 来描述。

Η (z) =k=0Ν-1h[k]z-k (2)

在时域中, 上述FIR滤波器的输入输出关系为:

y[n]=k=0Ν-1h[k]x[n-k] (3)

式中:y[n]和x[n]分别是输出和输入的序列;h[k]为冲激响应在时间序号k时的系数。若y (n) 表示滤波器的输出, Ak表示滤波器的系数, xk (n) 表示第k个输入变量, 则N阶线性、时不变FIR滤波器的输出为:

y (n) =k=0Ν-1Akxk (n) (4)

在FPGA的实现中, 根据文献[6]数据采用二进制补码表示, 所以变量xk可以表示为:

xk=-xk0+b=1B-1xkb2-b (5)

式中:xkbxk的第b比特位;B为输入变量xk的数据位数。将式 (5) 代入式 (4) 可得:

y (n) =k=0Ν-1Ak (-xk0+b=1B-1xkb2-b) =-k=0Ν-1Akxk0+k=0Ν-1Akb=1B-1xkb2-b=-k=0Ν-1Akxk0+b-1B-12-b (k=0Ν-1xkbAk) (6)

这里, k=0Ν-1xkbAk利用一个查找表来实现, 即把所有可能的2N个中间数据存储在一个查找表中, 以一个N位输入向量xb作为地址, 输出为对应该向量的一个特定值。

对于并行分布式算法结构滤波器, 从低位到高位, 依次乘以2N, N=0, 1, 2, …, 然后相加得到输出值。

2.2 多速率FIR的多相表示

设FIR滤波器转移函数为:

Η (z1) =n=0Ν-1h (n) z1-n (7)

式中:N为滤波器长度。假设满足条件N=DQ (其中D, Q为整数) , 则H (z1) 可以写成:

Η (z1) =n=0Q-1h (nD+0) (z1D) -n+z-1n=0Q-1h (nD+1) (z1D) -n++z1D-1n=0Q-1h (nD+D-1) (z1D) -n (8)

令:

Ek (z1D) =n=0Q-1h ( (nD+k) Τ1) (z1D) -n, k=0, 1, , D-1 (9)

H (z1) 的多相分量, 则:

Η (z1) =n=0Q-1z1-kEk (z1D) (10)

根据文献[7], 传统的滤波后再抽取的多速率系统如图3所示。

图3中, T2=DT1。可以看出, 卷积运算在下采样之前进行。通过对滤波器进行多相分解, 得到多相分解表示如图4所示。

Ek (z1D) 相当于一组滤波器, 利用多采样率系统中结构的互易性对滤波器位置进行等效变换, 将抽取操作前置, 这样卷积运算已经变换到在低抽样率下进行, 滤波运算量减少到原来的1/D, 大大减少运算量, 如图5所示。

由图5可知, 每相仍然相当于低阶的FIR滤波器, 下节对其采用DA算法, 可以看到运算速度将进一步提高, 运算量也将大幅减少。

3 多速率DA根升余弦滤波器的结构及其FPGA实现

按查找表的方式, DA算法可以分为串行实现方式和位并行实现方式两种。本文采用位并行方式实现。因为本文针对的是一个48阶平方根升余弦滤波器, 从表1可以看到结构是对称的, LUT的规模随地址空间, 也就是输入系数N的增加而呈指数增加。这里系数N=48, 用单个LUT不能够执行全字 (输入LUT位宽等于系数的数量) 。为了减小LUT的规模, 根据文献[8]可以利用部分表计算, 并将结果相加, 即用m个滤波系数为k的滤波单元构成系数为N (N=m×k) 的滤波单元。如果再加上流水线寄存器, 这一改进并没有降低速度, 却可以极大地减少设计规模, 这里采用4输入LUT, 如图6所示。考虑滤波器的对称性, 需要6种LUT, 对于每个4输入LUT:

b0~b3为x[n]~x[n-3]的第0位, 构成了一组查找表的查找地址。

LUT表中存储的是所有可能使用到的数值, 是滤波器系数的16种组合形式。

3.1 串行实现结构

对于串行分布式算法结构滤波器, LUT输出值与寄存器值左移1位 (乘以21) 后的数值相加, 并将相加后的结果存入寄存器。首先计算高位 (b=0) , 再计算低位, 所以寄存器的值要先左移1位再相加, 从而减少资源消耗。当b=0时, 做减法运算;当b>0时, 做加法运算。经过1次减法和B-1次加法, 在B次查询循环后完成计算, 实现框图如图7所示。

3.2 位并行实现结构

另一个DA结构的改进即并行算法是以增加额外的LUT、寄存器和加法器为代价提高速度的。并行算法是速度最优的高阶分布式算法, 实现框图如图8所示。

3.3 滤波器实现框图

本设计的48阶根升余弦滤波器的设计框图如图9所示。

根据文献[10], 利用VHDL语言, 输入数据位宽限定为8 b, FIR滤波器的系数是常数, 存在ROM中, 工作频率为78.643 2 MHz。

4 结果分析

本文实现选用的FPGA是Altera的Stratix Ⅱ EP2S60F1040C4, 在Quartus Ⅱ 7.2平台上进行仿真。输入数据位宽限定为8 b, 整个处理过程没有截位, 因此该滤波器的频率响应与其他形式实现的滤波器频率响应是一样的。区别集中在以下三点:

(1) 节省资源开销

通过仿真综合后, 得到根升余弦滤波器的三种实现方式的资源消耗情况。根据文献[9], 把1个DSP block 9 b 折合成82个ALUTs和82个寄存器计算, 得到表2。

可见, 传统的实现结构占用资源量大, 而基于并行DA算法的实现结构所占用的ALUTs只是前者的27.6%, 寄存器只是它的35.7%, 只是Memory bits大幅增加, 不过相对来说, FPGA中Memory资源很丰富, 可以不考虑。

本文所采用的并行DA算法实现结构与Quartus Ⅱ自带的基于DA算法的FIR滤波器IP core相比各有优势, 虽然Memory bits 比较多, 但是关键性指标ALUTs和寄存器有大幅减少, 约为IP core实现的60%左右。可见, 本文设计实现的滤波器在资源开销方面有较明显的优势。

(2) 提高计算速度

DA算法的计算速度与系统阶数无关, 只与输入位宽有关, 处理时钟/输入位宽即是系统的工作速度, 这种工作速度与阶数无关的性质非常适合大规模乘积和的计算, 在阶数很高的滤波器中运算优势明显。对于位宽较大的输入, 可以将其拆分, 让电路并行工作成倍地提高处理速度, 但速度的提高是以电路规模的同倍数扩大为代价的, 在实际工作中需要仔细斟酌, 寻找一个速度与资源的平衡点。

(3) 提高系统工作频率

对本设计而言, 系统对速度的要求比较高, 该FIR滤波器的工作频率为64×1.228 8 MHz。对该传统结构的滤波器设计进行时序分析显示, clock时钟的时序逻辑所需的最小时钟周期为5.902 ns, 信号的最大时钟频率为169.4 MHz。对基于并行DA算法的根升余弦成形滤波器设计进行时序分析显示, clock时钟的时序逻辑所需的最小时钟周期为3.823 ns, 信号的最大时钟频率为261.57 MHz。同样基于并行DA算法的IP core FIR滤波器相应的指标为292.74 MHz, 3.416 ns。可以看出, 相比IP core还有差距, 但与传统结构相比, 有很大提高。

5 结 语

从结果分析中的几点可以看出, 一方面并行DA算法性价比高于传统算法;另一方面由于对滤波器引入多相结构, 使得大部分电路工作在较低频率下, 减少了计算量, 而且还降低了系统功耗, 因此基于多速率处理技术和并行DA算法实现的根升余弦滤波器比以往的设计具有明显优势, 尤其是在减少逻辑资源开销方面, 非常适合逻辑资源受限的应用设计中。

参考文献

[1]Sanjit K Mitra.Digital Signal Processing:A Computer-based Approach[M].Mc Graw Hill, 1998.

[2]Uwe Meyer-Baese.数字信号处理的FPGA实现[M].刘凌, 胡永生, 译.北京:清华大学出版社, 2003.

[3]Chi-Tsong Chen.Digital Signal Processing Spectral Computa-tion and Filter Design[M].北京:电子工业出版社, 2002.

[4]张辉, 曹丽娜.现代通信原理与技术[M].西安:西安电子科技大学出版社, 2002.

[5]王世一.数字信号处理[M].北京:北京理工大学出版社, 2004.

[6]Wu Dong, Wang Yuhong, Lu Huangzhang.Distributed A-rithmetic and its Implementation in FPGA[J].Journal ofNational Uniersity of Defense Technology, 2000, 22 (3) .

[7]宗孔德.多抽样率信号处理[M].北京:清华大学出版社, 1996.

[8]陈圣俭, 郭晶晶.基于FPGA的FIR升余弦滚降滤波器设计与实现[J].通信电源技术, 2007 (24) :19-21.

[9]吴继华, 王诚.Altera FPGA/CPLD设计 (基础篇) [M].北京:人民邮电出版社, 2005.

余弦滤波器 篇4

图像去噪是图像预处理的一个基本内容,与图像处理相关的许多应用如分割、配准、边缘提取等,通常均需要使用有效的去噪算法进行预处理来获得更可靠的效果。因此,图像去噪吸引了大量研究者的关注,其中图像中高斯白噪声的去除一直是图像处理中的一个重要研究方向。

Buades A,Coll B和Morel J M在对许多典型的去噪算法进行比较研究的基础上,提出了非局部均值(non-local means,NLM)去噪算法[1],并将其应用到图像和视频的去噪处理中。NLM算法无论从理论上还是实验上均优于其他经典的去噪方法,如双边滤波[2]、各向异性扩散方程算法[3]和小波的方法[4]。NLM算法是利用图像中的冗余信息,结构相似的像素上叠加的噪声是随机的,所以通过加权平均就可以有效地去除噪声,同时也可以消除传统邻域滤波算法中出现的伪影;但其自身也存在一些不足。NLM算法是利用图像块来表示像素点的特征,并通过图像块之间的相似度来度量像素点之间的相似度;图像块之间的相似度可根据块内灰度值向量空间之间的高斯加权欧氏距离来衡量,然而噪声的存在、特别是当噪声水平较高时,基于块内灰度值向量空间的高斯加权欧氏距离将不能很好地反映原始图像块之间的相似度,因而NLM算法去噪后的图像仍残留了大量的噪声,特别是边缘部分。此外,在NLM 算法去噪时,以参考像素点为中心的图像块要与以图像中所有像素点为中心的图像块或者局部区域中所有像素点为中心的图像块进行比较,计算量非常大。因此,有效改进NLM算法的去噪效果和加快计算速度是对该算法研究的两个重要方面。

为了得到更精确的高斯加权欧氏距离去除图像残留噪声,本文提出基于离散余弦变换(discrete cosine transform,DCT)的非局部均值滤波算法。对测试图像的实验结果表明,相对于NLM算法,该算法能够更为有效地去除噪声,具有更高的峰值信噪比(peak signal to noise ratio,PSNR),去噪图像内容更加清晰。

1 非局部均值去噪算法

设噪声图像为z=x+n,x为未受高斯白噪声污染的原始图像,n为高斯白噪声。对于噪声图像中的任何一个像素,非局部均值利用整幅图像中所有像素值的加权平均来得到该点的估计值,即:

ΝL[z](i)=jRiω(i,j)z(j)(1)

式(1)中,权值ω(i,j)依赖于像素ij之间的相似度,并满足0≤ω((i,j)≤1且jω(i,j)=1。像素ij之间的相似度由灰度值矩阵NiNj之间的相似度决定,其中Ni表示以像素i为中心的大小为M×M的方形邻域,虽然理论上参与加权的像素是图像中所有的像素,但为了提高计算效率,往往限定为局部区域的像素。各邻域灰度矩阵之间的权值ω(i,j)通过高斯加权欧式距离来度量,即:

ω((i,j)=1Cexp(-z(Νi)-z(Νj)2,α2h2)(2)

Ci=jexp(-z(Νi)-z(Νj)2,α2h2)(3)

其中,Ci是归一化因子,‖·‖2,α是高斯加权的欧氏距离函数,α是高斯核的标准差,h控制着指数函数的衰减速度,决定滤波的程度。

2 离散余弦变换

DCT是一种正交变换,其变换核为实数余弦函数。对一幅图像进行离散余弦变换后,有关图像的许多重要可视信息都集中在DCT变换的小部分低频系数中。因此,其经常在信号处理和图像处理中使用,用于图像压缩、数字水印和信号检测等。

假设给定大小为N×N的二维信号f,其DCT定义为:

F(u,v)=2Νc(u)c(v)i=0Ν-1j=0Ν-1f(i,j)×cos[(2i+1)uπ2Ν]cos[(2j+1)vπ2Ν](4)

反离散余弦变换IDCT定义为:

f(i,j)=u=0Ν-1v=0Ν-1c(u)c(v)F(u,v)cos[(2i+1)uπ2Ν]×

cos(2j+1)vπ2Ν](5)

式(5)中

正是由于离散余弦变换具有很强的“能量集中”特性,可以由通过少量低频DCT系数进行重构得到的重构图像代替噪声图像计算图像块之间的相似度权重值。如图1所示,(a)为加入10%高斯白噪声的噪声图像,(b)为由28%的低频DCT系数重构的重构图像。由图1可知,通过少量低频DCT系数进行重构得到的重构图像能够保护图像的主要内容,并且能够滤除部分噪声。

3 基于离散余弦变换的非局部均值算法

对大小为N×N的二维噪声图像f,其基于散余弦变换的非局部均值算法的具体流程如下:

(1)DCT变换:对噪声图像f进行DCT变换,F=DCT(f),F为经DCT变换后的频域信息。

(2)低频系数:定义大小N×N、值为0的矩阵F1,从F中通过Zigzag扫描选取28%低频DCT系数,赋给F1。

(3)IDCT变换:对低频系数矩阵F1进行IDCT变换得到重构图像,f1=IDCT(F1),f1为经IDCT变换后得到的重构图像。

(4)NLM算法:通过f1计算图像块之间的相似度权值ω(i,j),将NLM算法用于噪声图像f进行去噪处理,f2=NLM(f),f2为最终的滤波结果图像。

4 实验结果与分析

为了验证算法的有效性和可行性,现在Matlab7.0环境下以大小为128×128的Lena、Peppers图像作为测试图像对本文算法进行仿真实验,为了使不同算法具有可比性,根据文献[5,6,7,8,9,10]的大量研究和测试,搜索窗口范围为11×11,像素邻域大小为7×7,滤波参数h=12σ( σ为所加噪声的标准差)。

本文采用峰值信噪比PSNR作为评价的客观准则对不同算法进行比较,峰值信噪比定义为:

PSNR=10lg(2552/MSE) (6)

式(6)中,MSE为均方差。图2所示为被标准差分别为25和50的高斯噪声污染的Lena、Peppers图像,图3所示为不同算法对被标准差为25的高斯噪声污染的图像的去噪效果,图4所示为不同算法对被标准差为50的高斯噪声污染的图像的去噪效果。从整体上来看,本文算法去噪图像的主观视觉效果好于NLM算法和文献[5]的算法,有更少的模糊现象,保留了更多的边缘与细节信息。

表1给出了采用NLM算法、文献[5]算法及本文算法对被标准差为5、10、15、20、25、30、40、50的高斯白噪声污染的图像去噪后的PSNR。当噪声的标准差σ=5时,本文算法去噪图像的PSNR高于NLM算法,但略低于文献[5]算法;当噪声的标准差σ>5时,本文算法去噪图像的PSNR均不同程度的超过文献[5]算法及NLM算法。

5 结论

在分析传统滤波算法和一些改进算法的基础上,提出了一种基于离散余弦变换的非局部均值滤波算法。首先,利用DCT的低频系数重构图像,以达到滤除部分噪声的同时保护图像的主要内容。其次,利用重构图像较准确块计算图像块之间的欧氏距离,将NLM去噪算法用于噪声图像。仿真结果表明,较NLM算法,本文算法去噪后的图像视觉效果得到了较好的改善,并能够保留大量的细节信息;当噪声标准差σ大于5时,本文算法去噪效果提高更加明显。

摘要:要非局部均值(non-local means,NLM)去噪算法已成为较有效去除图像噪声的算法之一。然而,当噪声水平较高时,NLM不能准确地计算图像块之间的相似度权重值,影响图像的去噪效果。针对上述问题,结合离散余弦变换(discrete cosinetransform,DCT)提出了基于DCT的非局部均值滤波算法。首先,利用DCT的低频系数重构图像,以达到滤除部分噪声的同时保护图像的主要内容。其次,利用重构图像较准确地计算图像块之间的相似度权重值,将NLM去噪算法用于噪声图像。实验结果表明,该算法能够得到较高的峰值信噪比(peak signal to noise ratio,PSNR)和更好的视觉效果。

关键词:图像去噪,非局部均值(NLM),离散余弦变换(DCT)

参考文献

[1]Buades A,Coil B,Morel J M.A review of image denoising algo-rithms,with a new one.Multiscale Modeling and Simulation,2005;4(2):490-530

[2]蔡超,丁明跃,周成平,等.小波域中的双边滤波.电子学报,2004;32(1):128-131

[3]Perona P,Malik J.Scale-space and edge detection using anisotropicdiffusion.IEEE Transactions on Pattern Analysis and Machine Intelli-gence,1990;12(7):629-639

[4]Coifman R R,Donoho D L.Translation-invariant de-noising.Proceed-ings of Wavelets and Statistics Springer Lecture Notes in Statistics,New York:Springer,1995;103:125-150

[5]胡金蓉,蒲亦非,张意.DCT子空间的非局部均值去噪算法.计算机辅助设计与图形学学报,2012;24(1):89-96

[6]张权,罗立民,桂志国,等.一种基于优化参数的非局部均值滤波算法.计算机应用与软件,2012;29(3):78-138

[7]孙伟峰,彭玉华.一种改进的非局部平均去噪算法.电子学报,2010;38(4):923-928

[8]Brox T,Cremers D.Iterated nonlocal means for texture restoration.In:Proc International Conference on Scale Space and Variational Methodsin Computer Vision.F Sgallari,A Murli,N Paragios,et a1.New York:Springer,2007;4485:13-24

[9]Buades A,Con B,More1J M.Nonlocal image and movie denoising.International Journal of Computer Vi~on,2008;76(2):123-139

上一篇:怎样正确对待问题学生下一篇:儿科护士的压力与调适