单片机系统中应用的几种数字滤波方式

合集下载

单片机数字滤波程序设计与实现

单片机数字滤波程序设计与实现
/ gtdt() 获 取 采 样 值 的 子 函数 % e a a 为 /
采样次数 Ⅳ越大 , 平滑 效果越好 , 但系统灵敏度将下 降 ; 同时 Ⅳ越大 , 将使 系统 的存 储空 间及 运算量 增大 , 为此 需合 理选择 Ⅳ值。一般情况 , 压力 的测量 , N = ; 对 取 4 对流 量 的
泛 的 应 用 。
ln n um =0 ; o g i ts
f ( = ;<N;+ +)/ 连 续读 入 N 个 采样 值 , 累加 o i 0i r i / 并 {
X i e— a () []=gtdt a ; sm += x i ; u []

Y = s m/N : u
ith a a ng ftr ) n u l o i e( l
— _
采 样 值 的 子 函 数 /
# en df eN?/ 依 实际情况设定采样 次数 N i /
i u n su nts a h
— —

ie ft ( ) lr
收 稿 日期 :0 2— 6—1 21 0 7 作者简介 : 东( 96 ) 男 , 余 17 一 , 硕士 , 讲师 , 主要从事单片机应用技术开发 、 网络通信研究 。
xi [ ++] e dt() / 读入采样值 =gt aa ; / —
i i =N = ; f = ( )i 0 f ( = ;<N;+ +) / o j 0j r j / 累加 队 列 中 N个 采 样 值 sm + = xj ; u []
最 老 的数 据 , 终 保 持 队 列 中 Ⅳ个 数 据 为最 近 的数 据 。 计 算 始 平 均 时 , 要 把 队列 中 Ⅳ 个 数 据 进 行 算 术 平 均 , 可 得 新 的 只 即

单片机中断加滤波的方法

单片机中断加滤波的方法

单片机中断加滤波的方法在嵌入式系统中,单片机中断和滤波是非常重要的技术。

中断可用于实时响应外部事件,而滤波则可用于去除信号中的噪声。

本文将介绍如何在单片机中使用中断和滤波技术,以实现高效的数据处理和响应。

首先,让我们来了解一下中断和滤波的基本概念。

中断是一种机制,允许微处理器在发生特定事件时立即中断当前程序的执行并跳转到一个特定的中断服务程序。

这种机制可以用于实时处理来自传感器、通信接口或定时器的数据,以及其他外部事件。

滤波是一种信号处理技术,用于去除信号中的噪声或不需要的成分,以提取出我们感兴趣的信息。

在嵌入式系统中,滤波通常用于传感器数据的处理,以消除由于电磁干扰、机械振动或其他环境因素引起的噪声。

在单片机中,可以将中断和滤波结合起来,以实现对传感器数据的实时处理和去噪。

以下是一种常见的方法:1. 配置中断,首先,我们需要配置单片机的中断控制器,以使其能够响应传感器数据的变化。

例如,如果我们使用的是一个模拟传感器,可以配置定时器中断来定期采样传感器数据;如果使用的是数字传感器,可以配置外部中断来在数据变化时触发中断。

2. 采样数据,当中断被触发时,中断服务程序将被执行。

在这个程序中,我们可以读取传感器的数据,并将其存储在一个缓冲区中。

3. 滤波处理,一旦数据被采样,我们可以对其进行滤波处理。

常见的滤波方法包括移动平均滤波、中值滤波和低通滤波等。

这些滤波方法可以用于去除数据中的噪声,以提取出我们感兴趣的信号。

4. 数据处理,最后,经过滤波处理的数据可以被用于进一步的数据处理,比如计算平均值、峰值、或者进行控制决策等。

通过结合中断和滤波技术,我们可以实现对传感器数据的实时响应和去噪处理,从而提高系统的稳定性和可靠性。

当然,在实际应用中,我们还需要考虑中断的优先级、滤波算法的复杂度和实时性等因素,以实现最佳的性能和效果。

希望本文对您有所帮助,谢谢阅读!。

单片机众数滤波

单片机众数滤波

单片机众数滤波
单片机中的众数滤波是一种数字信号处理技术,旨在通过识别数据集中的众数(出现频率最高的数值)来消除噪声和异常值,从而获得更平滑和可靠的数据。

在实际应用中,众数滤波通常用于处理传感器数据或其他采样数据,以提高系统的稳定性和准确性。

以下是单片机中众数滤波的基本原理和实现步骤:
1. 原理:众数是数据集中出现频率最高的数值。

通过识别众数,可以消除由于噪声或异常值引起的波动,从而得到更加稳定和真实的数据。

2. 步骤:
- 数据采集:首先,单片机需要采集一组数据,这些数据可能包含噪声或异常值。

- 数据处理:对采集到的数据进行排序,然后统计每个数值的出现次数。

- 计算众数:确定出现频率最高的数值,即众数。

- 滤波处理:将众数作为滤波后的输出值,用于替代原始数据集中的值。

3. 优缺点:
- 优点:众数滤波简单易实现,能够有效消除一些噪声和异常值的影响,适用于一些特定场景下的数据平滑处理。

- 缺点:众数滤波可能无法处理连续变化或频繁波动的数据,对于某些数据集合并不适用。

4. 应用场景:
- 适用于需要快速处理的实时数据,如传感器数据采集。

- 可用于简单的信号处理场景,要求对实时性和精度要求不高的情况下。

单片机数字滤波算法

单片机数字滤波算法

单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。

但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。

下面主要是介绍如何用单片机实现数字滤波。

在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。

为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。

滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。

1采用数字滤波算法克服随机干扰的误差具有以下优点:1.数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。

尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。

2.数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。

3.只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性,这对于滤除低频干扰和随机信号会有较大的效果。

4.在单片机系统中常用的滤波算法有限幅滤波法、中值滤波法、算术平均滤波法、加权平均滤波法、滑动平均滤波等。

2限幅滤波算法该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值A进行比较。

A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次采样有效;否则取上次采样值作为本次数据的样本。

算法的程序代码如下:#define A //允许的最大差值char data; //上一次的数据char filter(){char datanew; //新数据变量datanew=get_data(); //获得新数据变量if((datanew-data)>A||(data-datanew>A))return data;elsereturn datanew;}说明:限幅滤波法主要用于处理变化较为缓慢的数据,如温度、物体的位置等。

基于proteus的模拟信号数字滤波及动态波形输出

基于proteus的模拟信号数字滤波及动态波形输出

智能仪器基础与设计设计报告学院(系):机电工程学院专业:测控技术与仪器学生:指导教师:完成日期 : 2015 年 1 月智能仪器基础与设计基于单片机C语言编程及LCD液晶显示器的数字滤波显示系统设计Design of Digital Filter and Display System Based on Clanguage Programming and Single-Chip Computers基于单片机C语言编程及LCD液晶显示器的数字滤波显示系统设计[摘要]本次实验设计的主要内容是在Proteus仿真环境下,借助单片机和c 语言编程,实现对模拟信号的采集、滤波以及对滤波后信号的LCD动态显示。

本次设计主要采用了三中滤波方式:平均值滤波、中位置滤波、递推平均滤波。

应用的主要器件有:MCS-51单片机,TLC549 8位串行AD,KS0108控制的12864 LCD。

通过对叠加了噪声信号的模拟信号的模数转换实现信号采集,在单片机内部采用函数滤波滤出信号上面叠加的高频噪声,最后通过单片机控制两个LCD分别输出采集到的叠有噪声的信号和滤波后的结果。

[关键字]数字滤波 LCD动态显示 MCS-51 TLC549 KS0108 12864[Abstract]This experiment design is mainly based on the environment of Proteus 8.0, single-chip computer and C language programming. This design managed to collect analog signal, filter signal and dynamic display signal on LCD. In this design, we used 3 diffident filter methods: mean filter; medium filter; recursive average filtering. The devices we used are: MCS-51 single-chip computer; 8-bit serial ADC TLC549; LCD 12864 with its driver KS0108.[Keyword]Digital filtering LCD dynamic display MCS-51 TLC549 KS0108 12864目录1 引言 (5)1.1课题背景介绍 (5)2 各部分器件简单介绍 (6)2.1 MCS-51单片机 (6)2.2 AD转换器TLC549 (7)2.3 LCD液晶显示器12864 (9)3 数字滤波器设计 (10)3.1 数字滤波原理介绍 (10)3.2 单片机电路 (18)3.3 数据采集电路 (19)3.4 显示电路 (19)3.5 总电路 (20)4 程序设计 (21)4.1程序流程图 (21)4.2 总程序关键点解析 (22)4.3 LCD12864驱动子程序 (23)4.4 画坐标子程序 (25)4.5 坐标图字模 (25)4.6 主程序 (27)参考文献 (31)附录 (31)1 引言1.1课题背景介绍1.1数字滤波器的研究背景与意义当今,数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。

单片机测控系统中的数字滤波器设计

单片机测控系统中的数字滤波器设计
数字序列 。
近年来 , 随着计算机技 术 的迅 速发展 , 计数字 滤波器 为设
对被测模拟信号 的处 理过程 如图一所示 。被测模拟 量首 先经过采样/ 保持 电路(/ )送至模/ SH , 数转换器( D ) A C 转换成
( it i r英文缩写为 D ) Dga Ft , il l e F 创造了条件。数字滤波器是数
字信号处理器的一种 , 亦称软件滤波器 。它通过计算机执行一 段相应的程序来滤 除夹杂在数字信号 中的干扰信号。 采样 / 保持 电路 (, sH)
模, 数转换 器( D ) A C
数字量, 然后通过数字滤波器( F 滤除其中的干扰信号。 D) 最后
通过数模转换器 ( A ) D C 获得模 拟量输出。
维普资讯
第6 卷第 2 期
20 0 6年 6月
湖 南 工 业职 业 技 术 学 院 学 报
J R L O NA I D T OL E H C OU NA F HU N N US RY P YT C NI
V0. N 16 n 2
Jl. 0 6 II2 0 I
单片机测控系统中的数字滤波器设计
陶炎焱 。黄会雄
( 湖南省商务职业技术学院,湖南 长沙 402 ) 107
[ 摘 要】 在传统的模拟滤波器 基础上。 提出了 数字滤波器的新 算法, 井根据单片机测控系 统在受到不同干扰时, 提出了 数字滤
波 器的 谩 计 步 骤 和 设 计 思 路 。 ’
t i v le po o e e h ytm e evn ie n tr rn e l yf a t o wa ef tra i rp sd wh nte sse rc iigdf r tne e c . e i fe

微型计算机控制技术第二版课后习题答案独立整理版-潘新民

第二章6 采样-保持器有什么作用?说明保持电容大小对数据采集系统的影响。

答:为了提高模拟量输入信号的频率范围,以适应某些随时间变化较快的信号的要求,可采用带有保持电路的采样器,即采样保持器。

保持电容对数据采集系统采样保持的精度有很大影响。

保持电容值小,则采样状态时充电时间常数小,即保持电容充电快,输出对输入信号的跟随特性好,但在保持状态时放电时间常数也小,即保持电容放电快,故保持性能差;反之,保持电容值大,保持性能好,但跟随特性差。

7 在数据采样系统中,是不是所有的输入通道都需要加采样-保持器,为什么?答:并不是所有的模拟量输入通道都需要采样保持器的,因为采样保持器是为了防止在A/D转换之前信号就发生了变化,致使A/D转换的结果出错,所以只要A/D转换的时间比信号变化的时间短就不需要。

8 采样频率的高低对数字控制系统有什么影响?举出工业控制实例加以说明?9 A/D和D/A转换器在微型计算机控制系统中有什么作用?答:答:A/D的作用主要是把传感器检测到的模拟电信号转换为数字电信号,方便用于单片机中进行处理。

D/A的作用,在单片机处理完毕的数字量,有时需要转换为模拟信号输出,D/A的作用正是用于把数字信号转换为模拟信号。

10 A/D转换器转换原理有几种?他们各有什么特点和用途?答:逐次逼近型,分辨率高,误差较低,转换速度快,应用十分广泛;双积分型:性能比较稳定,转换精度高,抗干扰能力强,电路较简单,工作速度低,多用于对转换精度要求较高,对转换速度要不高的场合,如数字电压表等检测仪器中,用的十分普遍。

并联比较型:转换速度快,精度高,但使用的比较器和触发器多,适用于速度高,精度要求不高的场合。

11 说明逐次逼近型A/D转换器的转换原理。

答:开始转换以后,时钟信号首先将寄存器的最高有效位置为1,使输出数字为100…0,这个数码被D/A转换器转换成相应的模拟电压U0,送到比较器中并与比较电压U1比较,若U0>U1,将高位的1清除;若U0<U1,将最高位保留。

单片机测控系统的数字滤波算法研究


单 片机 测 控 系统 的数 字滤 波算 法研 究米
刘 琪 芳
( 西 农 业 大 学 信 息 科 学 与 工 程 学 院 , 山西 太 谷 山 000 ) 3 8 1
摘 要 : 随着 数 字 技 术 的发 展 , 数 字 滤 波 技 术 在 单 片 机 系 统 中 的 应 用 也 越 来 越 广 泛 。 介 绍 了几 种 常 用 的数 字 滤 波 器 算 法 ,给 出 了基 于 单 片 机 C 1 言 的 程 序 代 码 ,并 对 这 些 方 法 的 优 缺 点 及 适 用 范 围进 行 了分 析 ,总 结 出 5语
F r( = ;j o j 0 <N 一1 + +)/ 排 序 ;J /
f ( =0 <N ~ ;i +) o i ;i r j +

sm + = gt a ( ;/ 数 据 求 和 u e— d ) /
dl ( ; ea ) y
rtm ( h r ( u / ; e u c a ) s m N)
采 样 时间增 长 。其算 法程 序 代码 如下 :
# e n d f e N 21 i
就是 寻找 作为 本 次采 样 的平 均值 , 使该 值 与本 次 各 采样值 之 间 的误差 e 的平 方 和 E最 小 ,即 :
Ⅳ ~
C a f el ( hr h r ) i
第 3期 ( 第 1 6期 ) 总 6
21 0 1年 6 月
机 械 工 程 与 自 动 化
M ECH ANI CAL ENGI NEERI NG & AUTOM ATI ON
NO 3 .
Jn u.
文章 编 号 :6 2 6 1 ( 0 1 0 — 1 5 0 1 7 ・4 3 2 1 ) 3 0 6 ・ 2

单片机测控系统中的软件抗干扰技术

244 •电子技术与软件工程 Electronic Technology & Software Engineering单片机技术• SCM Technology【关键词】单片机 抗干扰技术 数字滤波技术1 引言如图1所示,单片机测控系统是在程序化管理下形成的测控系统,它可以在工业生产过程中提高机械控制的效率。

但是,工业现场环境复杂,具有电磁功能的大量设备频繁启动、停止,产生的干扰影响了单片机系统的正常运行。

本文针对单片机测控系统中的抗干扰问题,单片机测控系统中的软件抗干扰技术文/陈欣从软件抗干扰技术方面进行了分析和研究,并提出了解决方案。

工业单片机测控系统的常见影响如下:1.1 干扰加大数据采集的误差测试系统通道的输入部分受到干扰信号的入侵,有用信号和外来干扰信号相互叠加,加剧了该通道数据采集的误差。

尤其在当前系统输入的是小电压信号时,数据干扰的现象更加严重。

1.2 干扰使数据发送变化单片机系统中的程序是存放在存储器EPROM 中,这些程序不易发生变化。

但是单片机系统的RAM 数据区是可以读写的,它可能会受到读入信息的干扰从而发生变化。

因为干扰渠道的区别,以及数据性质的区别,单片机系统受损害的情况也各不相同,可能造成控制失灵,也可能造成数值误差,更严重的会改变单片机系统某些部件(如串行口、定时器/计数器等)的运行状态等。

1.3 干扰使控制状态失灵在单片机系统中,控制状态依赖于特定条件的输入状况和处理结果,干扰的侵入会造成条件状态错误,引起虚假的信号,从而加大输出控制的误差,甚至控制失常。

1.4 干扰使程序运行失常单片机系统正常运行的前提是CPU 正常工作,如果干扰信号影响到了CPU ,则程序计数器不能正常运行,从而引起系统混乱、控制失灵,即通常说的程序“跑飞”。

现在使用的单片机抗干扰技术主要分为硬件与软件两类。

硬件抗干扰技术固然可以降低系统受干扰的程度,但是成本较高,灵活性不足,而且容易受电磁干扰。

单片机 fir滤波器算法实现

单片机 FIR 滤波器算法实现1. 引言FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,它在信号处理中起到了重要的作用。

本文将介绍单片机上如何实现 FIR 滤波器算法。

2. FIR 滤波器原理FIR 滤波器是一种线性时不变(LTI)系统,其输出信号是输入信号与滤波器的冲激响应进行卷积运算得到的。

FIR 滤波器的冲激响应是一个有限长度的序列,因此称之为有限脉冲响应滤波器。

FIR 滤波器的输入输出关系可以表示为以下公式:y[n] = b[0]*x[n] + b[1]*x[n-1] + b[2]*x[n-2] + ... + b[N]*x[n-N]其中,y[n] 是输出信号,x[n] 是输入信号,b[0] 到 b[N] 是滤波器的系数。

3. 单片机上的 FIR 滤波器实现在单片机上实现 FIR 滤波器算法需要以下步骤:3.1. 定义滤波器的系数首先需要定义 FIR 滤波器的系数。

系数的选择决定了滤波器的特性,可以根据具体的需求进行设计。

常见的系数设计方法包括窗函数法、频率采样法等。

3.2. 定义输入输出缓冲区为了实现滤波器的运算,需要定义输入和输出的缓冲区。

输入缓冲区用于存储输入信号的历史数据,输出缓冲区用于存储滤波器的输出结果。

3.3. 实现滤波器算法根据 FIR 滤波器的原理,可以使用循环结构实现滤波器的算法。

具体的实现过程如下: 1. 读取输入信号 x[n]; 2. 将输入信号保存到输入缓冲区; 3. 使用滤波器的系数和输入缓冲区的数据进行卷积运算,得到输出信号 y[n]; 4. 将输出信号保存到输出缓冲区; 5. 更新输入缓冲区的数据,将最新的输入信号放到缓冲区的开头; 6. 重复步骤 1 到步骤 5,直到处理完所有的输入信号。

3.4. 实现滤波器的输入输出接口为了方便使用滤波器,可以实现输入输出接口,使得用户能够方便地输入输出信号。

输入接口可以从传感器、外部设备等获取输入信号,输出接口可以将输出信号发送到显示器、存储设备等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

# $ & ( (本次测量值 V 不 可 用 ) 取最近一次测量 ? J E I ? 95 S S $ 真值 ) 返回 ’
@! 结束语
数字滤波的方法是很多的 ) 从某种角度上讲 ) 只要能利 用 软件将采样值中的误 差 剔 除 ) 获得正确的采样值都可称为数 我们还要考虑处理器的速度和存储 字滤波 * 在程序编写 中 ) 空间的限制 ) 尽量编写节约 ( + , 周期和存储空间的代码 * 如 在均值滤波中 ) 如要 得 到 的 采 样 值 需 为 浮 点 型 数 据 * 不 必 每 次采样后 ) 将采 样 值 ! 再 求 均 值) 可在求均 3 换 算 为 浮 点 数) 值后再将 " 换算为浮点型 * 这 样 ) 循环体内的运算为整形数 据的累加运算 ) 而 不 是 浮 点 型 数 据 的 换 算) 可大大节约 ( + , 周期 ) 提高实时性 * 上述介绍的几种数字滤波方法 ) 都经过笔者的实际应 用 ) 效果是十分明显的 * 参考文献 姚志诚 ) 刘光 斌6 一 种 简 单 的 数 字 滤 波 方 法6 仪器仪 #! 杨剑 ) 表学报 ) ) " % + 增刊 ! $ $ \ < 姚志诚 ) 刘东 6 单片机实用抗干扰技术 6 北京 + 人民 !! 刘光斌 ) 邮电出版社 ) ! $ $ <6 曹国华 6 单 片 机 原 理 及 接 口 技 术6 西 安+ 西安电子 <! 余锡存 ) 科技大学出版社 ) ! $ $ $6 作者简介 杨剑 ) 男) " ) 第 二 炮 兵 工 程 学 院 导 航制导与 # a = $年 生 % 研究方向为智能仪器及控制 系统可 靠 控制专业硕士研究生 ) 性与电磁环境控制 * 刘光斌 ) 男) " ) 第 二 炮 兵 工 程 学 院 教 授) 博士 # a % <年生% 生导师 ) 研究方向为 智 能 仪 器 及 控 制 电 磁 兼 容系统可靠性 与电磁环境控制 *
& : ; % 0 ’ & ( 0 C @ @ E 8 5 M @ 5 E J ? @ 9 8 L @ U 4 ? E 8 9 E J M M J G E @ 9R ? 4 G J L L @ 9 8 U 5 J AL @ 9 8 5 L @ 98 I E 4;U J 8 L I ? J8 9 A8 I E 4;G 4 9 E ? 4 5 L L T D DH R DL R D N E J U L 6. @ U @ 9 E&( ,L L E J U$ 8 L E H J? J ? J L J 9 E 8 E @ 4 94 M J U O J A A J AL L E J UE H 8 EH 8 P JL 4 U JL J G @ 8 5 A J U 8 9 A L4 M ? J 8 5 E @ U J D8 N R N R $ $ 8 9 AU J U 4 ? 8 8 G @ E L 4 U J8 5 @ J AQ 8 L4 MA @ @ E 8 5 M @ 5 E J ? @ 9 8 P JO J J ? @ 9 E ? 4 A I G J A @ 9E H @ LR 8 J ? @ 9 G 5 I A @ 9 H JR ? 4 ? 8 U L NG R N R R N D DH R DE D 4 M ? J 8 5 @ X @ 9 8 E H J U 8 E @ G L4 M E H 4 L J M @ 5 E J ? @ 9 6 DU D &&( $ < $ > * ’ 4 % ,$ U O J A A J AL L E J U$ C @ @ E 8 5 M @ 5 E J ? @ 9 + ? 4 ? 8 U N D D D = 数字滤波是自动测 控 系 统 中 $ 对测量信号进行采样后处 是非 常 重 要 和 必 要 的!而 由 于 单 片 机 速 度 理中的关键环节 $ 和存储容量都很有限 $ 实际应用中由于实时性和存储量的限 在普通单片机上要 实 现 复 杂 的 数 字 滤 波 是 不 太 可 能 和 实 制$ 际的 ! 因而 $ 本文针对单片机等系统 $ 讨论了一些数字滤波 方 有算法简单 ’ 存储空间 消 式 ! 所讨论的这几种数字滤波方式 $ 耗小和滤波效果好的 特 点 $ 在各种算法后给出了具体实现的 程序 ! 均值滤波的实现程序为 )设定采样次数 7 的大小 J M @ 9 J1? !) +A * + $ ( ) ) @ 9 ES 1 N ! 采样数组 5 4 9 @ 9 E L I U( D ( @ 9 E @ ! ,, " M 4 ? @ [$( @ @ hh # (1( * + "# ( )返回采样值 S@ [G X G !) N * + ( L I U[S $ " M 4 ? @ [#( @ @ hh # (1( * + ( L I Uh[S@ ) [L I U 1( N ,, ?6 @! 限幅滤波 限幅滤波是克服输入中窜入尖脉冲干扰 ! 其基本思想 是
第! "卷 第#期 ! $ $ % 年 # 月 !!
微 计 算 机 应 用 & ’ ( ) * ( *&+ , ’ ). + + / ’ ( . 0 ’ *1 2
3 4 5 6 ! "1 4 6 # !! 7 8 9 6 ! $ $ %
单片机系统中应用的几种数字滤波方式
杨 ! 剑 ! 刘光斌
" 第二炮兵工程学院 ! 西安 !" # # $ $ ! :
"[
将获得的采样值与参 考 值 进 行 比 较 $ 根据经验设定允许的最 大偏差 ! 如果 采 样 值 和 参 考 值 的 差 值 超 过 了 允 许 的 最 大 偏 差$ 则认为本次采样值中窜入了干扰 $ 应重新采样 ! 其软件实现如下 & )! 设定参考值 J M @ 9 J .1b.*! ? !) +A !( ? ) ) A J M @ 9 J (]. c ] ’ + ! ! ! ! 设定偏差范围 @ 9 EW(
在均值滤波中 $ 采样 次 数 和 运 算 量 ’ 存 储 空 间 是 矛 盾 的! 在一定 范 围 内 $ 采 样 次 数7 越 大$ 均 值 滤 波 的 效 果 越 好( 但7 越大 $ 运算量和存储空间的开销也越大 ! 因此 $ 我们要综合 考 虑三者的关系 $ 选择合适的 7 值 !
万方数据 本文于 ! $ $ \;$ =;< $ 收到 !
摘!要! 在自动化测控系统中 ! 数字滤波在对采样信号的 处 理 上 占 据 着 重 要 的 作 用 " 针 对 以 单 片 机 为 代 表 ! 对实时性 和存储量有特殊要求的嵌入式系统 ! 介绍了几种实用数字滤波方式 ! 并给出实现相应滤波算法的原程序 " 关键词 ! 单片机 ! 嵌入式系统 ! 数字滤波 ! 程序
万方数据 型’ 可用于剔除采样信号中的无用信息 (
# # % ! " # $ % @ M W(L K ! # $ & W[LK & ’ ’ W W[ K # $ & ( (返回经过处理后得到的测量真值 ? J E I ? 9L E W W ’
微 计 算 机 应 用 ! ! " # $ % @ M S [[ 5 S S @ !Whh & ’ " @ M W" [&% ! # $ & 5 S S $ [V & ( (本次测量值 V 为测量真值 ) 返回 ? J E I ? 9V ’ J 5 L J
!7 h # "7 [ #; "7;# -$ 式中 ! 为数字滤波器的时间常 数 ’ 实 际取值取决于滤波时间 常数和采样周期 % !7 为第7 次 采 样 时 的 滤 波 器 输 入 % "7 为 第
/# 5$ -[ 实现上述滤波方法的程序如下 !
&! 设定 7 的长度 J M @ 9 J1# $!& +A % &! 定义基准向量 @ 9 E L E 1. ! & # $ & & @ 9 E L X 5 O @ 9 EV ! - 为测量值 + ’ ’ ’ % @ 9 E @KW W W # M 4 ? @ [$% @ @ hh $ (1;#% . . % L E@ [L E@ h# . % L E 1;# [V # M 4 ? [$% hh $ (1;!% K K K + . % W[L EK # M 4 ? @ [ h#% @ @ hh $ (1;#% K + # . $ @ M W[[L E @ . L h[#% K , , . % W[L $ W W[$% # M 4 ? [#% hh $ (1;#% K K K
7 次采样时滤波器输出 ( 若采样间隔 . 则滤波器的截止频率为 ! N足够小 ’ M[ 6 ! N / . 其算法流程如图 ! 所示 (
一阶低通数字滤波器在程序上的实现比较简单 ! &若 采 样 周 期 . ’ 则 J M @ 9 J $ : % :% N为 < $ $I L +A !8 !$6 !& 截止频率 6 $] X M [< )S $ )N # $ % 7$ [8 h# #;8 9 ;# Q# ?6 B! 占优滤波 采样信号中常伴随 着 干 扰 信 号 的 存 在 ’ 干扰信号的类型 多样 ’ 产生因素复杂 ( 这 里 介 绍 一 种 占 优 滤 波 的 方 法 适 用 于 连续变化的采样信号 ’ 而不需要考虑干扰信号的 类 处理线性 *
#期 !
杨剑 等 ! 单片机系统中应用的几种数字滤波方式 !
# # :
图 !! 一阶低通滤波流程图 主要思想是 ! 设计一 个 长 度 为 7# 7 可根据具体需要设定 大小 $ 的基准 向 量 # 初 值 可 为 $$ ’ 基 准 向 量 内 装 载7 次 测 量 的 值 ( 在 7h# 次测量 后 ’ 将 测 量 值 与 基 准 向 量 进 行 比 较’ 取这 图 #! 限幅滤波流程图 "" ( Z! #$ % &! 获得采样值 S [G X G !!!& N % & &! 作差值 W[S ;( .1b.* ! # $ @ M W($ ! W[;W% ! & &! 判断差值是否小于 $ & &! 小于 $ 则取其绝对值 # $ & 则重采样 @ MW"(]. c ] ’ ! &! 如果大于偏差范围 ’ 4 E 4( Z% D "" ?6 !! 低通滤波 一阶 低 通 数 字 滤 波 器 是 用 软 件 实 现 硬 件 ) 以 ( 滤 波 器’ 抑制干扰信号 ( 一阶低通数字滤波公式为 向量中重复次数最多的值作为 7h# 次测量的真值 ( 具体而言 ’ 我们 用 一 个 长 度 为 7 的 一 维 数 组/# 作为基 7$ 准向量 ! $ ’ $ ’ "’ $ , /[ + /# $ /# # /# 7;# 在进行 7h# 次测量后得到 测 量 值 -’ 将基准向量内的值 平移一位 ! $ $ ’ $ $ ’ "’ /# $ [ /# # /# # [ /# ! # $ # $ / 7;! [ / 7;# 将测量值 - 存到向量的最后一位 ! $ /# 7;# [ 统计向量中各值重复次数为 7# $ ’ $ ’ "’ $ ! $ 7# # 7# 7;# # $ $ ’ $ ’ "’ $ $ 7# 5$ [U 8 S 7# $ 7# # 7# 7;# 取向量中重复次数最大的值作为 7h# 的测量真值 !
相关文档
最新文档