常用应用程序设计PPT

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

8051程序如下
设8次采样值依次存放在以DIGIT为首地址的连续单元中, 求出平均值后,结果保留在SAMP单元中。计算的中间结果 存放在FLAG和TEMP单元中,程序清单如下:
PUSH PSW PUSH A MOV FLAG, #00H MOV R0, #DIGIT MOV R7, #08H CLR A LOOP: ADD A, @R0 JNC NEXT INC FLAG
3.1 数字滤波
2.限速滤波
设顺序采样时刻tn-1、tn、tn+1所采集的参数分别为Y(n-1)、 Y(n)、Y(n+1),那么
当| Y (n) Y (n 1) | Y时,Y(n)输入计算机
当| Y(n)Y(n 1)| 〉Y时,Y(n)不采用,但仍保留,继续采样取得Y(n 1) 当| Y(n 1)Y(n)| Y时,Y(n 1)输入计算机
程序流程图
3.1 数字滤波
3.1 数字滤波
3.1.2 算术平均值滤波
实质-------把一个采样周期内对信号的n次采样值进行算术平均,
作为本次的输出 Y,(n即)
Y (n) 1 n Y (n) n i1
n值决定了信号平滑度和灵敏度。随着n的增大,平滑度提
高,灵敏度降低。
为方便求平均值,n值一般取4、8、16之类的2的整数幂,
当 |
Y(n
1)Y(n)| 〉Y时,则取
Y(n) Y(n 2
1)输入计算机
3.1 数字滤波
限速滤波是一种折衷的方法,既照顾了采样的实时性, 又顾及了采样值变化的连续性。
缺点: 第一是△Y的确定不够灵活,必须根据现场的情况不 断更换新值; 第二是不能反映采样点数n>3时各采样数值受干扰情 况。因此,它的应用受到一定的限制。 在实际使用中,可用 Y (n 1) Y (n) Y (n) Y (n 1) / 2 取代△Y,这样也可基本保持限速滤波的特性,虽增加一 步运算,但灵活性大为提高。
以使用移位来代替除法。通常流量信号取12项,压力信号取6 项,温度、成分等缓慢变化的信号取2项甚至不平均。
8086程序如下(采样首地址为DATA1单元, 采样次数为NUMBER,结果存于DATA2单元):
算术平均滤波 保护现场
… BEGIN:
REDO:
PUSH…
初始化 结果寄存器AX清零
采样首地址 BX 采样次数 CX和DX
XOR MOV MOV MOV ADC INC LOOP DIV MOV POP…
AX,AX BX,DATA1
采样值累加
CX,NUMBER DX,NUMBER
BX CX
BX+1 CX-1
AX,[BX]
BX
N CX=0?
REDO ;循环
Y
DX
[DATA2],AX 用AX除以DX(取平均值)
恢复现场
结束
;│Y(n)- Y(n-1)│和△Y比较 ;如果│Y(n)- Y(n-1)│≤△Y,
DATA2→DATA ;如果│Y(n)- Y(n-1)│>△Y,
DATA1→DATA ;恢复现场
;返回
限幅滤波能有效地克服因偶然因素引起的脉冲干 扰,但无法抑制周期性的干扰且平滑度差。
51程序
8086程序
设上次采样值存在DATA1单元,本次采样值存放在DATA2 中,滤波结果存放在DATA单元中,限幅滤波程序如下:
➢如小于此偏差值,可将信号作为本次采样值。
当采样信号由于随机干扰,如大功率用电设备的启动或 停止,造成电流的尖峰干扰或误检测,以及变送器不稳定而 引起的严重失真等,使得采样数据偏离实际值太远,可采用 程序判断滤波。
ຫໍສະໝຸດ Baidu
3.1 数字滤波
1.限幅滤波
当| Y(n)-Y(n-1)|≤△Y时,则取Y(n)= Y(n),取本 次采样值 当| Y(n)-Y(n-1)|>△Y时,则取Y(n)= Y(n-1),取 上次采样值
3.1 数字滤波
设△Y存放在LIMIT单元,两次采样值Y(n-1)、Y(n)存 放在DATA1、DATA2中,滤波结果存放在DATA单元中, 限幅滤波程序如下:
PUSH PSW PUSH A CLR C MOV DATA, DATA1 MOV A, DATA2 SUBB A, DATA JNC COMPARE CPL A INC A
BEGIN: MOV AX,[DATA1] MOV BX,AX MOV AX,[DATA2] SUB AX, BX JG CHECK1 NEG AX
CHECK1: CMP AX , LIMIT JG DONE MOV AX,[DATA2] JMP OVER
DONE: MOV AX,[DATA1]
8
OVER: MOV [DATA] ,AX
数字滤波可以对各种干扰信号,甚至极低频率的信号 进行滤波。
数字滤波由于稳定性高,滤波参数修改也方便,一种 滤波子程序可以被各控制回路调用,因此得到广泛的应用。
3.1 数字滤波
3.1.1 程序判断滤波
程序判断滤波的方法,是根据生产经验,确定出两次 采样输入信号可能出现的最大偏差△y。
➢若超过此偏差值,则表明该输入信号是干扰信号,应该去 掉;
Y(n)——第n次采样值; Y(n-1)——第n-1次采样值; △Y——相邻两次采样值所允许的最大偏差,它的大小取 决于采样周期T及被测参数Y应有的正常变化率。
一定要按照实际情况来确定△Y,否则非但达不到滤波效 果,反而会降低控制品质。△Y通常可根据经验数据获得,必
要时,也可由实验得出。
程序流程图
第3章 常用应用程序设计
▪3.1 数字滤波 ▪3.2 标度变换 ▪3.3 越限报警 ▪3.4 键盘控制程序 ▪3.5 显示程序设计
1
3.1 数字滤波
所谓数字滤波,就是在计算机中用某种计算方法对输 入的信号进行数学处理,以便减少干扰在有用信号中的比 重,提高信号的真实性。
这种滤波方法不需要增加硬件设备,只需根据预定的 滤波算法编制相应的程序即可达到信号滤波的目的。
;保护现场
;进位标志位清零
;求Y(n)–Y(n-1) ;如果Y(n)- Y(n-1)≥0,转COMPARE ;如果Y(n)- Y(n-1)<0,求补
51程序
3.1 数字滤波
COMPARE: OVER:
CLR C SUBB A, LIMIT JC OVER
MOV DATA, DATA1
POP A POP PSW RET LIMIT EQU 30H DATA1 EQU 31H DATA2 EQU 32H DATA EQU 33H
相关文档
最新文档