浅谈高斯滤波器在快速实时系统中的实现

时间:2011-06-14

  在信号处理、信号检测、通信领域中滤波器都有非常重要的应用,在实时系统中,对滤波器的性能和处理速度有非常严格的标准,特别是快速实时系统中,处理速度至关重要。目前,用DSP技术是理想的选择,它可以满足快速处理的需求,。但是,在实时控制系统中,大多是用单片机实现的,它不仅完成信号的采样,还需完成信号的处理和控制等功能,如果单片机系统本身可以完成信号的快速处理任务,将非常方便,我们在一个用MCS-51单片机组成的强噪声背景下的通信系统中,满足了系统的需要,实现了高斯滤波器的快速实现。

  1 算法原理

  高斯滤波实质上是一种信号的滤波器,其用途是信号的平滑处理,我们知道数字图像用于后期应用,其噪声是的问题,由于误差会累计传递等原因,很多图像处理教材会在很早的时候介绍Gauss滤波器,用于得到信噪比SNR较高的图像(反应真实信号)。与此相关的有Gauss-Lapplace变换,其实就是为了得到较好的图像边缘,先对图像做Gauss平滑滤波,剔除噪声,然后求二阶导矢,用二阶导的过零点确定边缘,在计算时也是频域乘积=>空域卷积。

  滤波器就是建立的一个数学模型,通过这个模型来将图像数据进行能量转化,能量低的就排除掉,噪声就是属于低能量部分。

  其实编程运算的话就是一个模板运算,拿图像的八连通区域来说,中间点的像素值就等于八连通区的像素值的均值,这样达到平滑的效果。

  若使用理想滤波器,会在图像中产生振铃现象。采用高斯滤波器的话,系统函数是平滑的,避免了振铃现象。

  高斯滤波器是一个低通滤波器,其方程高斯滤波器在实时系统中的快速实现,可以证明,高斯滤波器可用均值滤波器多次逼近,一般情况下,大于或等于三次逼近就可近似于高斯滤波器,所以,在设计高斯滤波器时,可以用设计均值滤波器逼近代替高斯滤波器。

高斯滤波器在实时系统中的快速实现

  式中n为当前采样点序号,N为窗口宽度,显然均值滤波器实际上可由加法运算,减法运算和除法运算完成,而与窗口的宽度无关,若取窗口宽度 ,上述累加和只需右移k位即为均值。

  显然,上述算法不管窗口大小如何,其速度都一样快,所以,本算法对宽窗口滤波更为有效。

  上面程序如采用89系列单片机,用24MHz晶振,只需几个μs,如需速度更快,改用16位单片机,累加和在一个寄存器中,还可减少加法和减法的时间。

  作者用上述方法在照明线数据通信系统中,对二值信号进行实时处理,由于窗口宽度小于256,累加和中只用一个字节,所以,处理时间只需5μs,令人非常满意。

  本文讨论了在单片机系统中高斯滤波器的快速实现。这种方法,特别适用于实时数据采集、处理、控制系统中的滤波。实践表明,这种方法具有很高的实用价值,非常值得推广。


  
上一篇:一种系统芯片的功能测试方案
下一篇:浅析移相法用于SSB信号的调制

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料