




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文 基于单片机的软件滤波系统的设计基于单片机的软件滤波系统的设计 学生姓名 陈 飞 班 级 07 自 Y 指导教师 王 崴 常州工学院 年 月 常州工学院毕业设计论文 CHANGZHOU INSTITUTE OF TECHNOLOGY 毕毕 业业 设设 计计 说说 明明 书书 题目 题目 基于单片机的软件滤波系统的设计基于单片机的软件滤波系统的设计 二级学院 直属学部 延陵学院 专 业 自动化 班级 07 自 Y 学生姓名 陈飞 学号 07121203 指导教师姓名 王崴 职称 讲师 评阅教师姓名 职称 年 月 KC021 1 常州工学院毕业设计论文 I 摘摘 要要 数字滤波器具有比模拟滤波器更高的精度 甚至能够实现后者在理论上也 无法达到的性能 随着集成电路成本的不断降低 数位滤波器变得越来越常见 并且已经成为了如收音机 蜂窝电话 立体声接收机这样的日常用品的重要组 成部分 本文设计了一种基于 AT89S52 单片机 在时域上对信号进行滤波 去除干 扰的软件滤波系统 系统通过 A D 转换芯片 TLC549 把模拟信号转换成数字信号 数字信号通过单片机 AT89S52 进行软件滤波 去除干扰的方法有十种 一 限 副滤波 二 中位值滤波法 三 算术平均滤波法 四 递推平均滤波法 五 中位值平均滤波法 六 递推中值平均滤波法 七 限幅平均滤波法 八 消 抖滤波法 九 一阶滞后滤波法 十 加权递推平均滤波法 在硬件电路设计中 在满足控制要求的前提条件下 尽可能将相关电路简 化 在软件设计上主要对数据采样 键盘选择 液晶显示 数字滤波等方面作 了详细的介绍 综合硬 软件设计 在反复调试和改进的基础上 完成了本课 题 最后对本课题进行了总结 关键词关键词 软件滤波 单片机 LCD1602 TLC549 常州工学院毕业设计论文 II Abstract Digital filters with higher precision than analog filter even can realize the latter in theory cannot achieve performance as the integrated circuit costs continue to reduce digital filter is becoming more and more common and has become such as radio cell phones stereo receivers such an important part of daily articles This paper presents a digital filters with AT89S52 whith filtering the signal in time domain The analog signals into digital signals through the A D converter chip then Filtering software use AT89S52 There are ten ways to remove the interference First the limit of Vice filter Second median filtering Third the arithmetic mean filter four recursive average filter five median average filtering method six recursive median average filtering method VII Limiting average filtering method eight debounce filter September the first order lag filter ten the weighted average filter recursive The hardware circuit design the premise of meeting the control requirements under the conditions of the relevant circuit simplified as much as possible Mainly in the software design of data sampling keyboard options LCD display digital filtering etc are introduced in detail Integrated the design of hardware and software debug and ireprove in repeated basis and ultimately complete the set Finally a summary of the design and bring up with the disadvantage Keywords software filter LCD1602 常州工学院毕业设计论文 III 目 录 摘 要 I Abstract II 第一章 概述 1 1 1 数字滤波器发展现状 1 1 2 本论文的主要研究内容 3 第二章 数字滤波器的总体方案设计 4 2 1 基于单片机滤波器的总体结构 4 2 2 基于单片机滤波器硬件主芯片选择 4 2 2 1 核心芯片单片机选择 4 2 2 2 A D 转换芯片选择 5 2 3 基于单片机滤波器软件设计方案 6 第三章 系统的硬件设计 7 3 1 系统总体硬件结构介绍 7 3 2 单片机接口及最小系统电路 7 3 3 A D 转换电路 8 3 4 键盘选择电路 9 3 5 1602 液晶显示器电路 10 第四章 系统的软件设计 12 4 1 软件程序主框图 12 4 2 A D 转换子程序 12 4 3 键盘扫描子程序 13 4 4 1602 液晶显示子程序 14 4 5 数字滤波的十种方法 14 4 5 1 限副滤波法 14 4 5 2 中位值滤波法 15 4 5 3 算术平均滤波法 16 4 5 4 递推平均滤波法 17 4 5 5 中位值平均滤波法 18 4 5 6 递推中值平均滤波法 19 4 5 7 限幅平均滤波法 21 4 5 8 消抖滤波法 22 4 5 9 一阶滞后滤波法 23 4 5 10 加权递推平均滤波法 23 结 论 24 致 谢 25 附 件 A 滤波器的使用说明书 26 附 件 B 原理图 28 附 件 C 部分程序清单 29 参考文献 42 常州工学院毕业设计论文 1 第一章 概述 随着数字技术越来越广泛的应用 数字信号处理技术正在飞速的发展 它 不仅自成一门 更是用不同的形式影响并渗透到其它学科 它和国民经济紧密 相连 与国防建设息息相关 它影响 改变着我们的生活 生产方式 所以受 到了人们普遍关注 数字滤波是由数字乘法器 加法器和延时单元组成的一种 计算方法 其功能是对输入离散信号的数字代码进行运算处理 以达到改变信 号频谱的目的 由于电子计算机技术和大规模集成电路的发展 数字滤波已可 用计算机软件实现 也可用大规模集成数字硬件实时实现 1 1 数字滤波器发展现状 当代信息技术发展的数字化 智能化和网络化是大趋势 而数字化又是智 能化与网络化的基础 在实际生活中我们遇到的信号是多种多样的 例如遥感 遥测信号 通信信号 电视信号 广播信号 雷达信号 控制信号 气象信号 生物医学信号等 在近代的电信设备和各类大的控制系统中 数字滤波器的应用极为广泛 这里我列举了部分应用成功的领域 1 语音的处理 语音处理是最早应用于数字滤波器的领域之一 它也是 最早推动数字信号处理和理论发展的领域之一 语音处理这领域主要包括了五 个方面的内容 第一 语音信号的分析 就是对语音信号的波形和统计特性 模型的参数进行分析计算 第二 语音的合成 就是利用专门的数字硬件或者 在通用计算机上来产生语音 第三 语音的识别 就是用专门的硬件或计算机 识别人讲的话 第四 语音的增强 就是从噪音或干扰中提取出被掩盖的语音 信号 第五 语音的编码 主要应用于语音数据的压缩 目前已经建立了一系 列的语音编码国际标准 大量的应用于通信和音频处理 最近几年来 这五个 方面都取得了不少的研究成果 并且在市场上已出现了一些相关的软件和或硬 件产品 例如 语音应答机 盲人阅读机 口授打印机 哑人语音合成器 各 种会说话的玩具 以及视听通信产品中大量使用的音频压缩编码技术 2 图像的处理 数字滤波技术已经成功地应用于图像的恢复或增强 数 据的压缩 去除噪音和干扰 图像的识别和层析 X 射线摄影 还成功地应用于 声纳 雷达 红外信号和超声波的可见图像的成像 常州工学院毕业设计论文 2 3 通信领域 在现代通信技术的领域内 几乎每一个分支都受到数字滤 波技术的影响 信源编码 信道编码 调制 多路复用 数据压缩和自适应信 道均衡等 都广泛地用到数字滤波器 特别是数字通信 网络通信 图像通信 多媒体通信 在这些应用中 若离开了数字滤波器 就可能寸步难行 其中 被 人们认为是通信技术未来发展方向的软件无线电技术 就是以数字滤波技术为 基础的 4 电视领域 数字电视取代模拟电视已是大势所趋 高清晰电视的普及 已是指日可待了 与之配套的视频光盘技术已经形成具有巨大市场的产业 可 视电话或会议电视产品的不断更新换代 视频压缩或音频压缩技术取得的成就 和标准化工作 促使了电视领域产业的蓬勃发展 其中数字滤波器以及其相关 技术是视频压缩或音频压缩技术的重要基础 5 雷达领域 雷达信号所占有的频带非常宽 并且数据传输速率也很高 因此压缩数据量并降低数据传输速率是雷达信号数字处理所面临的首要问题 滤波数字器件的出现促进了雷达信号处理技术的发展 在现代雷达的系统中 对数字信号的处理部分是不可以缺少的 因为从数字信号的产生 滤波 加工 到目标参数的估计和目标成像显示都不能离开数字滤波技术 雷达信号的数字 滤波系统是最近几年十分活跃的研究领域之一 6 声纳领域 声纳信号处理分为两个大类 第一类是有源声纳信号处理 第二类是无源声纳信号处理 有源声纳系统涉及到的许多理论和技术与雷达系 统相同 例如 它们都要产生并发射脉冲式探测信号 它们的信号处理任务主 要都是对微弱的目标回波进行检测分析 从而达到对目标进行探测 定位 跟 踪 成像显示等目的 它们所要应用到的主要信号处理技术包括滤波 谱估计 门限比较等 7 生物医学的信号处理 数字滤波器在医学中的应用已经是日益广泛了 例如对脑电图或心电图的分析 胎儿心音的自适应检测 层析摄影的计算机辅 助分析等 8 音乐领域 数字滤波器已经为音乐领域开辟出了一个新局面 在对音 乐信号进行编辑 合成 以及在音乐信号中加入交混回响 合声等特殊效果特 殊等方面 数字滤波技术都显示出了强大的作用 数字滤波器还可以应用于作 常州工学院毕业设计论文 3 曲 录音和播放 或者对旧录音的音质进行恢复等 1 2 本论文的主要研究内容 数字滤波器的实现 大体上有下面几种方法 在微型计算机上用软件来实 现 用单片机来实现 用专门用于信号处理的 DSP 片来实现 目前单片机的发展速度非常快 功能也越来越强 依靠单片机的硬件环境 和信号处理软件已经可用于实际的工程 例如数字控制和医疗仪器等 本课题 主要用 51 单片机来实现滤波 主要研究内容具体如下 1 滤波器的数字滤波实现方法 数字滤波是本滤波器的基本功能 对滤 波的算法是该课题的关键 2 控制系统和显示系统的设计 包括硬件设计与软件设计 硬件设计的 主要研究内容包括整个系统的主要组成 软件设计主要通过 A D 转换采集模拟 信号进行有效的滤波 常州工学院毕业设计论文 4 第二章 数字滤波器的总体方案设计 数字滤波是对一个离散时间系统 按预定的算法 将输入离散时间信号转 换为所要求的输出离散时间信号的特定功能装置 依靠单片机的硬件环境和信 号处理也可以实现滤波功能 2 1 基于单片机滤波器的总体结构 在模拟信号中通常有一些干扰 模拟信号通过 A D 装换成数字信号后干扰 也伴随着转换过来 通过单片机的信号处理可以去取这些干扰 对数字信号进 行滤波 滤波系统构架框图如图所示 模拟信号 有干扰 A D转 换器 51单片机 液晶显示屏 键盘 电源 图 2 1 滤波系统构架框图 本课题的系统共有 10 种方法进行滤波 键盘可以对滤波方法进行选择 选择方法的编号通过液晶显示屏显示出来 2 2 基于单片机滤波器的硬件芯片选择 在本课题中 芯片选择是一关键问题 在整个装置设计中 主要考虑速度 A D 转换器的位数 功耗等 2 2 1 核心芯片单片机的选择 可靠性高 功能强 速度快 功耗低 一直都是衡量单片机性能的重要指 标 早期的单片机主要由于工艺和设计水平不高 功耗高抗干扰性能差等原因 大多数都采用了较高的分频系数对时钟分频 这就使得指令周期长 执行速度 慢 在后来的CMOS单片机虽然采用提高时钟分频等措施 但这种状态并没有被 彻底改观 常州工学院毕业设计论文 5 51单片机的推出 打破了这种旧设计格局 去除了机器周期 抛弃了复杂 的指令集 采用了精简的指令集CPU 综上分析 并结合数字滤波器 在此选择了ATMEL公司研发的Atmega系列的 At89S52 At89S52是一个低功耗 高性能的CMOS八位单片机 器件采用ATMEL公 司的高密度 非易失性存储技术制造 并兼容标准MCS 51指令系统和80C51引脚 结构 2 2 2 A D 转换芯片选择 在 A D 转换器中 因为输入的模拟信号在时间上是连续的 而输出的数字 信号却是离散的 所以转换器只能在一系列选定的瞬间对输入信号进行取样 然后再将这些取样的值转换成输出的数字量 所以 A D 转换的过程是首先就 是对输入的模拟电压信号取样 取样结束后进入一个保持时间 在这段时间内 要将取样的电压量转化为数字量 并且按一定的编码形式给出转换结果 然后 再开始下一次的取样 A D 转换器工作的取样频率必须高于一定的频率 原则上来说 A D 转换器 取样频率的高低直接影响滤波器的滤波效果 但是取样频率提高后留给每次的 进行转换的时间也就相应的缩短了 这就要求了转换器必须具备更快的工作速 度 综上所述本课题选用了 A D 转换器 TLC549 它是美国德州仪器公司生产的 8 位串行 A D 转换器芯片 它可与通用微处理器 控制器通过 CLK CS DATA OUT 三条口线进行串行接口 它具有 4MHz 片内系统时钟和软 硬件控制电路 转换时间最长 17 s TLC549 为 40 000 次 s 总失调误差最大为 0 5LSB 它应该满足本课题的要求 常州工学院毕业设计论文 6 2 3 基于单片机滤波器的软件设计方案 本课题的软件设计采用模块化设计思想 在软件设计中 运用结构化 模 块化的设计思想 这样可以提高软件开发效率 并且减少设计的重复性 增强 软件的可扩展性 可维护性和可调试性 在实时多任务系统中 只有模块化的 软件结构才能将系统功能划分为几个相对独立的任务模块 并在实时内核的调 用下协同工作 课题共有四大模块 分别为A D转换模块 键盘选择模块 液晶显示模块以 及单片机滤波模块 通过对四大模块的设计与组合 最后完成整个基于单片机 的软件数字滤波系统 常州工学院毕业设计论文 7 第三章 系统的硬件设计 3 1 系统总体硬件结构介绍 系统主要包括单片机部分 键盘选择部分 液晶显示部分 模数转换部分 模数转换部分是对模拟信号的采样 然后装换为数字信号 键盘选择是控制选 择滤波方法的部分 液晶显示是显示正在用的滤波方法的模块 单片机就是进 行信号处理的滤波部分 为了能够直观的看见滤波器的工作 加了两排 LED 灯 一排 LED 显示模数 转换器转来的数字信号 另一排 LED 灯显示经过单片机处理后的信号 这样给 人一种直观的感觉 系统结构原理图见附录 B 3 2 单片机接口及最小系统电路 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST 9 RXD 10 TXD 11 P32 12 P33 13 P34 14 P35 15 P36 16 P37 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE PTOG 30 EA VPP 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 AT 12 Y1 30pF C2 30pF C1 VCC 10uF C3 S1 R1 图 3 2 AT89S52 单片机引脚及最小系统 1 复位电路 AT89S52 的复位功能设计得比较完善 在这里简单介绍一下人工复位 人工复位 无论是单片机在正常运行程序 还是处在睡眠状态或者出现死 机状态 只要在人工复位端加入一个低平信号 就可以让单片机复位 AT89S52 的复位电路是外接的 1 个按钮和 1 个电容并联 再串联一个电阻 电路如图 3 3 所示 2 系统时钟电路 数字电路的工作离不开时钟信号 每一步的细微动作都是在一个共同的时 常州工学院毕业设计论文 8 间基准信号协调下完成的 时基发生器的时钟震荡电路为整个单片机芯片的工 作提供系统的时钟信号 也为单片机和其他外接芯片之间的通讯提供可靠的同 步时钟信号 AT89S52 的时钟电路是由片内的一个反相器和一个反馈电阻 与外接的 1 个石英晶体和 2 个电容 共同构成的一个自激多谐振荡器 电路如图 3 4 所示 10uF C3 S1 R1 12 Y1 30pF C2 30pF C1 图 3 3 复位电路 图 3 4 时钟电路 3 3 A D 转换电路 TLC549 是 8 位串行 A D 转换器芯片 可与通用微处理器 控制器通过 CLK CS DATA OUT 三条口线进行串行接口 TLC549 电路连接图如图所示 REF AIN REF GND VCC CLK D0 CS TLC549 1 2 3 4 8 7 6 5 VCCVCC VCC 图 3 5 TLC549 引脚及电路 TLC549A D 转换电路采用差分参考电压的高阻输入 这样接法可以有效的 减少模拟信号接入 A D 转换器时的干扰 并且可按比例量程校准转换范围 VREF 接地 当VREF VREF 1V 时 可用于较小信号的采样 CS CLK D0 这三 常州工学院毕业设计论文 9 个引脚与单片机相连接 单片机通过这三个引脚就可以控制 TLC549 开始工作了 TLC549 作为本课题滤波器的采样模块 它的正常工作直接影响着滤波器的 滤波效果 所以滤波器工作时一定要满足 TLC549 的工作环境 TLC549 的极限 参数如下 电源电压 6 5V 输入电压范围 0 3V VCC 0 3V 输出电压范 围 0 3V VCC 0 3V 峰值输入电流 任一输入端 10mA 总峰值输入电流 所有输入端 30mA 工作温度 TLC549C 0 70 TLC549I 40 85 TLC549M 55 125 3 4 键盘选择电路 键盘是选择滤波方法的一种输入模块 本课题共有十种滤波方法 所以我 选择了 4x4 键盘 但 4x4 键盘共有 16 个按键 而本课题只有十种方法 所以根 据 4x4 键盘的原理 简化版的十键键盘就应运而生了 十键键盘电路连接图如 图所示 1 2 34 5 6 7 图 3 6 十键键盘电路连接图 把七个引脚接入单片机的 IO 口 通过对单片机的编程就可以起到控制选择 十种方法了 3 5 1602 液晶显示器电路 用液晶显示器是为了显示出当前正在滤波的方法编号 由于十种方法的滤 波效果和适用环境有所不同 液晶屏显示方法编号是很有必要的 液晶显示屏 电路连接如图所示 常州工学院毕业设计论文 10 VSS VDD BLK BLA D7 D6 D5 D4 D3 D2 D1 D0 E R W RS VL 1 2 3 4 5 6 7 8 16 10911131214 15 VCC 图 3 7 液晶显示屏电路连接图 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VL 为液晶显示器 对比度调整端 接正电源时对比度最弱 接地时对比度最高 对比度过高时会 产生 鬼影 使用时可以通过一个 10K 的电位器调整对比度 第 4 脚 RS 为寄 存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 R W 共同 为低电平时可以写入指令或者显示地址 当 RS 为低电平 R W 为高电平时可以读 忙信号 当 RS 为高电平 R W 为低电平时可以写入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚背光源正极 第 16 脚背光源负极 常州工学院毕业设计论文 11 第四章第四章 系统的软件设计系统的软件设计 4 1 软件程序总框图 结合硬件电路的设计 实现上述功能 在主程序中 首先进行初始化 然 后主程序分为两条线路 一条是把模拟信号转换为数字信号 另一条是进入键 盘选择子程序选择滤波方法后进行滤波 主程序流程见图 4 1 开开始始 初初始始化化 A A D D转转换换 滤滤波波后后信信号号传传入入P P3 3口口 滤滤波波子子程程序序 键键盘盘扫扫描描 液液晶晶显显示示 延延时时子子程程序序 延延时时子子程程序序 转转换换后后信信号号传传入入P P1 1口口 图 4 1 主程序流程图 4 2 A D 转换子程序 TLC549 均有片内系统时钟 该时钟与 I O CLOCK 是独立工作的 无须特殊 的速度或相位匹配 当 CS 为高时 数据输出 DATA OUT 端处于高阻状态 此时 I O CLOCK 不起 作用 这种 CS 控制作用允许在同时使用多片 TLC549 时 共用 I O CLOCK 以 减少多路 片 A D 并用时的 I O 控制端口 TLC549 工作流程如图 常州工学院毕业设计论文 12 开开始始 初初始始化化 1 1 4 4u us s后后 置置I I O O C CL LO OC CK K为为高高 C CS S置置低低 结结束束 是是第第八八位位 读读 置置I I O O C CL LO OC CK K为为高高 图 4 2 TLC549 工作流程图 TLC549 工作步骤为 第一步 将 CS 置低 内部电路在测得 CS 下降沿后等待两个内部时钟上升 沿和一个下降沿 然后确认这一变化 最后自动将前一次转换结果的最高位 D7 位 输出到 DATA OUT 端上 第二步 前四个 I O CLOCK 周期的下降沿依次移出第 2 3 4 5 个转换位 D6 D5 D4 D3 片上采样保持电路在第 4 个 I O CLOCK 下降沿开始采样模 拟输入 第三步 接下来的 3 个 I O CLOCK 周期的下降沿移出第 6 7 8 个转换位 D2 D1 D0 第四步 片上采样保持电路在第 8 个 I O CLOCK 周期的下降沿将移出第 6 7 8 个转换位 D2 D1 D0 保持功能将持续 4 个内部时钟周期 然后再 开始进行 32 个内部时钟周期的 A D 转换 第 8 个 I O CLOCK 后 CS 必须置高 或 I O CLOCK 保持低电平 这种状态需要维持 36 个内部系统时钟周期以等待保 持和转换工作的完成 如果 CS 为低时 I O CLOCK 上出现一个有效干扰脉冲 则 微处理器 控制器将与器件的 I O 时序失去同步 若 CS 为高时出现一次有效低 电平 则将使引脚重新初始化 从而脱离原转换过程 常州工学院毕业设计论文 13 在 36 个内部系统时钟周期结束之前 实施步骤一到四 可重新启动一次新 的 A D 转换 与此同时 正在进行的转换终止 此时的输出是前一次的转换结 果而不是正在进行的转换结果 若要在特定的时刻采样模拟信号 应使第 8 个 I O CLOCK 时钟的下降沿与 该时刻对应 因为芯片虽在第 4 个 I O CLOCK 时钟下降沿开始采样 却在第 8 个 I O CLOCK 的下降沿开始保存 4 3 键盘扫描子程序 键盘扫描程序的实现是首先是把键盘的接口分为两个口线 即横为一个口 线 列为一个口线 然后在口线上都送上高电平 再在一个循环体内依次在端 口 P1 经锁存器送上一个只有一位为 0 其余为 1 的电平 即十六进制数 0 xFE 循 环左移一位实现 通过判断移位的次数和两个口线中的哪个为低电平 通过这 样就可以实现按键的功能 键盘扫描程序流程如图所示 开开始始 扫扫描描横横口口线线 有有低低电电平平 扫扫描描列列口口线线 有有低低电电平平 进进入入所所对对应应的的子子程程序序 图 4 3 键盘程序流程图 4 4 1602 液晶显示子程序 液晶 1602 显示程序是由 RS RW E 这 3 个端口对信号进行控制的 连接方 式由具体硬件而决定 RS 端是 1602 液晶屏的数据命令控制端 高电平时为数 据 低电平时为指令 RW 端是 1602 液晶屏的读写控制端 高电平时为读 低 常州工学院毕业设计论文 14 电平时为写 端 E 是 1602 的使能端 液晶 1602 显示程序工作流程如图 开开始始 液液晶晶屏屏初初始始化化 写写液液晶晶指指令令的的子子程程序序 读读液液晶晶数数据据的的子子程程序序 读读液液晶晶屏屏状状态态的的子子程程序序 写写行行字字符符的的子子程程序序 图 4 4 液晶显示程序流程图 4 5 数字滤波的十种方法 4 5 1 限值滤波法 限值滤波法又称程序判断滤波法 这种滤波方法的思路是 先根据经验判断 确定两次采样允许的最大偏差值 设为 A 每次检测到 新值时进行判断 1 如果本次采样值与上次采样值的差 A 则本次值有效 滤波器结果等 于新的采样值 2 如果本次采样值与上次采样值的差 A 则本次值无效 放弃本次采样值 用 上次的采样值代替本次采样值 这种滤波方法能有效克服因偶然因素引起的脉冲干扰 但是它无法抑制那 种周期性的干扰 所以平滑度很差 限值滤波法滤波程序如下 define A 5 char value char filter 常州工学院毕业设计论文 15 char new value new value get ad if new value value A value new value A return value return new value 4 5 2 中位值滤波法 中位值滤波法体现了 中庸 的哲学思想精髓 它的方法就是连续的采样 N 次 N 取奇数 把 N 次采样值按大小排列 取中间值为本次有效值 中位值滤波法能有效的克服因偶然因素引起的波动干扰 它对温度 液位 的缓慢变化的被测参数有较好的滤波效果 但是对流量 速度等快速变化的参 数就不适合用中位值滤波法了 中位值滤波滤波程序如下 define N 11 char filter char value buf N char count i j temp for count 0 count N count value buf count get ad delay for j 0 j N 1 j for i 0 ivalue buf i 1 常州工学院毕业设计论文 16 temp value buf i value buf i value buf i 1 value buf i 1 temp return value buf N 1 2 4 5 3 算术平均滤波法 算数平均滤波法的方法顾名思义就是连续取 N 个采样值进行算术平均运算 当 N 值较大时 信号的平滑度较高 但灵敏度较低 当 N 值较小时 信号的平 滑度较低 但灵敏度较高 所以对 N 值的选取一般用于流量时 N 12 用于压力 时 N 4 算数平均滤波法一般适用于对具有随机干扰的信号进行滤波 这样的信号 特点是 有一个平均值 信号在这一个平均值的附近上下波动 但对于测量速 度较慢或者要求数据计算速度较快的实时控制时就不适用算数平均滤波法 这 种算法还比较浪费 RAM 算数平均滤波法滤波程序如下 define N 12 char filter int sum 0 for count 0 count N count sum get ad delay return char sum N 常州工学院毕业设计论文 17 4 5 4 递推平均滤波法 递推平均滤波法又称滑动平均滤波法 它的方法是把连续取 N 个采样值看 成一个队列 队列的长度固定为 N 每次采样到一个新数据放入队尾 并扔掉原 来队首的一次数据 先进先出原则 把队列中的 N 个数据进行算术平均运算 就 可获得新的滤波结果 N 值的选取当用于流量时 N 12 当用于压力时 N 4 当用于液面时 N 取 4 到 12 当用于温度时 N 取 1 到 4 递推平均滤波法对周期性干扰有良好的抑制作用 平滑度较高 所以递推 平均滤波法适用于高频振荡的系统 但由于它灵敏度低 对偶然出现的脉冲性 干扰的抑制作用差 且不易消除由于脉冲干扰所引起的采样值偏差 所以不适 用于脉冲干扰比较严重的场合 这种滤波方法也比较浪费 RAM 递推平均滤波法滤波程序如下 define N 12 char value buf N char i 0 char filter char count int sum 0 value buf i get ad if i N i 0 for count 0 count N count sum value buf count return char sum N 4 5 5 中位值平均滤波法 中位值平均滤波法又称防脉冲干扰平均滤波法 它相当于 中位值滤波法 和 算术平均滤波法 相组合 具体方法是连续的采样 N 个数据 去掉一个最 常州工学院毕业设计论文 18 大值 去掉一个最小值 然后计算这 N 2 个数据的算术平均值 N 值的选取一 般为 3 到 14 之间 中位值平均滤波法融合了两种滤波法的优点 对于偶然出现的脉冲性干扰 它可消除由于脉冲干扰所引起的采样值偏差 这种方法的缺点就是测量速度较 慢 和算术平均滤波法一样比较浪费 RAM 中位值平均滤波法滤波程序如下 define N 12 char filter char count i j char value buf N int sum 0 for count 0 count N count value buf count get ad delay for j 0 j N 1 j for i 0 ivalue buf i 1 temp value buf i value buf i value buf i 1 value buf i 1 temp 常州工学院毕业设计论文 19 for count 1 countmax max queue i else if queue i a data o 1 data o a data o data o 1 else data o newvalue for i 0 i N return new value delay new value get ad 常州工学院毕业设计论文 22 return value 4 5 9 一阶滞后滤波法 一阶滞后滤波法是一个很实用的滤波方法 它的方法为取一个 0 到 1 的值 a 本次滤波结果 1 a 本次采样值 a 上次滤波结果 一阶滞后滤波法对周期性干扰具有良好的抑制作用 适用于波动频率较高 的场合 但它的缺点是 相位滞后 灵敏度低 滞后程度取决于 a 值大小 而 且一阶滞后滤波法不能消除滤波频率高于采样频率的 1 2 的干扰信号 一阶滞后滤波法滤波程序如下 为加快程序处理速度假定基数为 100 a 0 100 define a 50 char value char filter char new value new value get ad return 100 a value a new value 4 5 10 加权递推平均滤波法 加权递推平均滤波法是对递推平均滤波法的改进 就是不同时刻的数据加 以不同的权 通常是 越接近现在时刻的数据 权取得越大 给予新采样值的 权系数越大 则灵敏度越高 但信号平滑度越低 加权递推平均滤波法适用于有较大纯滞后时间常数的对象和采样周期较短 的系统 它的缺点是 对于纯滞后时间常数较小 采样周期较长 变化缓慢的 信号不能迅速反应系统当前所受干扰的严重程度 滤波效果较差 加权递推平均滤波法滤波程序如下 coe 数组为加权系数表 存在程序存储区 define N 12 char code coe N 1 2 3 4 5 6 7 8 9 10 11 12 常州工学院毕业设计论文 23 char code sum coe 1 2 3 4 5 6 7 8 9 10 11 12 char filter char count char value buf N int sum 0 for count 0 count N count value buf count get ad delay for count 0 count0 x for y 110 y 0 y void write com uchar com 根据写时序图写出指令程序 lcdrs 0 P3 com delay2 5 lcden 1 delay2 5 lcden 0 void write data uchar date 根据写时序图写出数据程序 lcdrs 1 P3 date delay2 5 lcden 1 delay2 5 lcden 0 void init lcden 0 使能端为低电平 write com 0 x38 显示模式设置 常州工学院毕业设计论文 31 write com 0 x0f 开显示 显示光标 光标闪烁 write com 0 x06 地址指针自动 1 且光标 1 写字符屏幕不会移动 write com 0X01 write com 0X80 0 x10 初始化指针在显示屏外 主函数 void main keyscan if P0 0 x01 方法 1 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 1 清行 write com 0 x80 0 x53 换行 而且指针在屏幕外 for num 0 num 12 num write data table1 num delay2 50 常州工学院毕业设计论文 32 for num 0 num 16 num write com 0 x1f 1f 是右移 18 是左移 delay2 50 while 1 P3 TLC549 GetValue 读取 TLC549 转换后的 AD 值 输出 于 P2 IO 口上 delay 20000 延时 while 1 else if P0 0 x02 方法 2 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table2 num delay2 50 for num 0 num 16 num 常州工学院毕业设计论文 33 write com 0 x1f delay2 50 while 1 else if P0 0 x03 方法 3 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table3 num delay2 50 for num 0 num 16 num write com 0 x1f delay2 50 while 1 else if P0 0 x04 方法 4 常州工学院毕业设计论文 34 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table4 num delay2 50 for num 0 num 16 num write com 0 x1f delay2 50 while 1 else if P0 0 x05 方法 5 xie 0 init for num 0 num 9 num write data table0 num delay2 50 常州工学院毕业设计论文 35 write com 0 x80 0 x53 for num 0 num 12 num write data table5 num delay2 50 for num 0 num 16 num write com 0 x1f delay2 50 while 1 else if P0 0 x06 方法 6 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table6 num delay2 50 常州工学院毕业设计论文 36 for num 0 num 16 num write com 0 x1f delay2 50 while 1 else if P0 0 x07 方法 7 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table7 num delay2 50 for num 0 num 16 num write com 0 x1f delay2 50 while 1 常州工学院毕业设计论文 37 else if P0 0 x08 方法 8 xie 0 init for num 0 num 9 num write data table0 num delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table8 num delay2 50 for num 0 num 16 num write com 0 x1f delay2 50 while 1 else if P0 0 x09 方法 9 xie 0 init for num 0 num 9 num write data table0 num 常州工学院毕业设计论文 38 delay2 50 write com 0 x80 0 x53 for num 0 num 12 num write data table9 num delay2 50 for num 0 num 16 n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我的梦想规划作文14篇
- 爱犬小黑写物作文11篇范文
- 爱的真谛妇女节作文(12篇)
- 祖国我为你自豪话题作文(12篇)
- 2025年宁波市事业单位招聘考试综合类面试真题试卷
- 八年级寒假假期生活作文范本10篇
- 描述校园的春天作文9篇范文
- 起重工资格证考试题(附答案)
- 周末的点滴生活周记类作文8篇
- 2025年理财规划师(三级)考试试卷全真模拟与答案
- 2025年公路市场调研报告
- 五年级(下)语文选择题专项165道
- 生物+2025云南新高考自主命题冲刺金卷及答案
- 糖尿病眼病试题及答案
- 期末模拟卷(南京专用)(含解析)2024-2025学年译林版英语七年级下册
- 石油化工工程防渗技术规范
- 25年企业员工岗前安全培训考试试题【模拟题】
- 高中语文跨学科阅读教学研究-以《红楼梦》为例
- 腕管综合征诊治循证临床实践指南(2024)解读
- 送桶装水合同协议
- 长期处方管理规范
评论
0/150
提交评论