详细讨论了高斯滤波器在单片机系统中的快速实现方法,并给出了对于MCS-51系列单片机的具体实现程序,介绍的方法在实时控制、信号检测与处理方面有很大的实用价值。本文引用地址:http://www.eepw.com.cn/article/151154.htm

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

1 算法原理

高斯滤波器是一个低通滤波器,其方程

,可以证明,高斯滤波器可用均值滤波器多次逼近,一般情况下,大于或等于三次逼近就可近似于高斯滤波器,所以,在设计高斯滤波器时,可以用设计均值滤波器逼近代替高斯滤波器。

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

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

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

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

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

单片机高斯滤波器 c语言,高斯滤波器在实时系统中的快速实现相关推荐

  1. c语言 4x4矩阵乘法,C中的快速4x4矩阵乘法

    我试图找到一个函数的优化C或汇编实现,该函数将两个4x4矩阵相乘.平台是基于ARM6或ARM7的iPhone或iPod. 目前,我使用的是一种相当标准的方法--只是展开一个小循环. #define O ...

  2. 概率假设密度滤波 matlab,高斯混合概率假设密度滤波器

    [实例简介] 高斯混合 概率假设密度 滤波器 目标跟踪matlab代码及对应论文.可以直接按照说明运行出结果. [实例截图] [核心代码] GM_PHD_Filter_v110 └── GM_PHD_ ...

  3. fir滤波 c语言,分享MSP430单片机实现的FIR滤波器C语言程序

    分享MSP430单片机实现的FIR滤波器C语言程序 [复制链接] #include #define FRAME        180 short int h[19] = { 399,-296,-945 ...

  4. c语言 高斯日记,高斯日记 – 蓝桥杯

    标题:高斯日记 – 蓝桥杯 内容:2013年第四届蓝桥杯软件大赛预赛第一题. 题目描述 题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日 ...

  5. 卡尔曼滤波器_使用卡尔曼滤波器和路标实现机器人定位

    本文为 AI 研习社编译的技术博客,原标题 : Robot localization with Kalman-Filters and landmarks 作者 | Jannik Zürn 翻译 | 郭 ...

  6. 空间滤波-统计排序滤波器-修正阿尔法均值滤波器

    目录 1. 介绍 2. 代码实现 3. code 1. 介绍 本章内容介绍的是修正阿尔法均值滤波器,它也是属于统计排序滤波器的一种.和之前的统计排序滤波不同的是,修正阿尔法均值滤波器会将kernel处 ...

  7. 数字IC经典电路(4)——经典滤波器的实现(滤波器简介及Verilog实现)

    数字IC经典电路(4)-经典数字滤波器(滤波器简介及verilog实现) 写在前面的话 数字滤波器分类 经典数字滤波器 FIR滤波器 FFT-FIR滤波器 并行FIR滤波器 串行FIR滤波器 CIC滤 ...

  8. python 高斯金字塔_12、高斯金字塔、拉普拉斯金字塔与图片尺寸缩放(示例代码)...

    一.引言 我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: (1)resize函数.这是最直接的方式, (2)p ...

  9. 学单片机需要多少C语言基础,C语言单片机编程教程

    很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...

最新文章

  1. jmeter分析性能报告时的误区
  2. SQL 自学笔记1(W3School)
  3. 泛域名Wildcard Domain
  4. Git工作流程和rebase与合并问题
  5. redis安装(linux)
  6. 51单片机智能小车循迹完整程序_电气与信息工程学院双创协会开展循迹小车培训...
  7. Oracle 10.2.0.5升级至11.2.0.4
  8. 2-算法 矩阵 数组类
  9. python 优先队列_示例讲解:python队列原理及实现方法与操作思路
  10. [PED07]Feature Selection for Clustering:A Review聚类特征选择综述
  11. how to assign more that 31 VFs to one VM
  12. 关于 Thread.currentThread()
  13. windows11 git 安装SSH密钥
  14. linux socket函数详解,linuxSocket_函数.doc
  15. ROS-3DSLAM(二)lvi-sam项目认识
  16. c语言intrins函数,【转载】KEIL C 头文件INTRINS.H中的几个函数说明
  17. CNC操机的几个步骤
  18. matlab学习笔记(四)
  19. 机械-传动结构-减速机-谐波减速机
  20. 144基于springboot的易卖网商城源码下载

热门文章

  1. 正版软件,官方授权。RadiAnt DICOM Viewer - 软件版 / CD/DVD版
  2. 5G协议与信令(笔记)
  3. 开发工程师的自我评价_配方工程师-简历范文,工作经历+项目经验+自我评价怎么写...
  4. 【元胞自动机】元胞自动机车流密度不变下的双向两车道仿真(T 字形路口)【含Matlab源码 1290期】
  5. PHP高并发商品秒杀问题的解决方案
  6. pdf.js 库的使用
  7. 什么蓝牙耳机音质好?发烧友力荐四款好音质蓝牙耳机
  8. 魔百和cm311-3-YST、烽火HG680-MC免拆机升级教程
  9. 【贝克汉姆win7主题】
  10. option的默认选中与thinkphp中eq标签的使用