滤波器设计问题汇总.docx
- 文档编号:27709383
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:15
- 大小:104.24KB
滤波器设计问题汇总.docx
《滤波器设计问题汇总.docx》由会员分享,可在线阅读,更多相关《滤波器设计问题汇总.docx(15页珍藏版)》请在冰豆网上搜索。
滤波器设计问题汇总
12.2.3数据处理
计算机测控系统中的数据处理从一般意义上说应包括三方面内容:
一是对传感器输出信号进行放大、滤波、I/V转换等预处理,通常称之为信号调理;二是对采集到计算机中的信号数据进行数字滤波、数值计算、逻辑判断、非线性补偿和标度变换等加工处理,通常称之为一次处理;三是对经前两步得到的测量数据进行分析,寻找规律,判断事物性质,生成所需控制信号,甚至进一步研究以前控制效果,决策后一时刻的控制方案等,此称为二次处理。
信号调理都是由硬件完成,对不同性质的传感器输出信号进行信号调理及与微机接口的通常方法如表12.5所示;而一次处理和二次处理则一般由软件实现。
不过通常所说的数据处理多指上述的一次处理。
本节讨论的范围也仅限于此。
一次处理的主要任务是提高检测数据的精确度和可信度,并使数据格式化、标准化,以便运算和显示、打印、记录。
而检测数据的精确度和可信度主要受检测过程的随机误差和系统误差的影响。
随机误差可用统计方法处理而削弱其影响;系统误差则可通过自校准或特性补偿技术来加以削弱或消除。
下面分别讨论之。
1.随机误差的处理
随机误差主要指外部干扰信号和内部噪声源或某些意外情况出现所造成的检测误差。
由随机过程数理统计理论可知,随机误差虽然具有不可预知性,但总体上服从于统计规律,多数情况下接近于正态分布。
在多次检测中,随机误差的绝对值的波动有一定界限,且正负误差出现的概率几乎相同,即是说,随机误差具有对称性、互抵性及有界性,因此其算术平均值趋于零。
据此,为了提高信噪比,每个采样周期中进行多次重复采样,以其算术平均值作为该周期的采样值是可取的。
可以验证,采用这种方法进行采样,信噪比的提高程度与重复采样的次数的平方根成正比,如果将采样次数适当增加,甚至可以从甚高噪声背景中提取极其微弱的信号。
表12.5传感器输出信号与信号调理的对应关系
由于在数据采集过程中有强干扰或意外情况偶尔出现,可能会产生粗大误差或个别数据丢失现象。
这些偶尔出现的错误数据点叫做奇异点。
奇异点的存在会使数据处理误差大大增加。
为了尽可能减小数据处理误差,一般要在求取算术平均值之前将这些奇异点检拾出来,同时用一合适值取而代之。
1)检拾奇异点
我们知道,任何物理量的变化无论在时间上还是幅值上都是连续的,不可能出现间断和突跳。
利用这一特性,我们便可用预测方法来检拾并剔除奇异点。
例如可以用最简单的一阶差分方法计算预测值,然后与实测值比较,根据允许的误差大小决定此点的性质和取舍。
设t时刻的检测值为xt,而预测值为
,根据一阶差分方程表达式,可求
:
=xt-1+(xt-1-xt-2)(12.1)
式(12.1)说明,t时刻的值可以用(t-1)和(t-2)时刻的检测值来推算。
当采样频率的选择符合采样定理时,这种预测方法是有足够精度的。
我们将t时刻的预测值
与t时刻的实际测量值xt进行比较,对该实际数据点是否奇异点做出判断。
判断准则是,根据采样频率和被测物理量变化特性,给定一个误差容限或称误差窗口W,看xt和
之差是否超出W,若超出则为奇异点,将xt舍弃而用
取而代之。
有时,为确保检测结果的正确性、真实性,还对连续出现的奇异点进行计数,以防系统误差造成的数据平移等假象。
比如设定连续三次剔除奇异点时,应舍弃这次数据,重新检测;如多次发生此类现象,则应给出报警信息。
图12.22给出了按上述思想、方法剔除奇异点后再求算术平均值的程序流程图。
图12.22剔除奇异点并求平均值流程图
2)数字滤波
所谓数字滤波,就是对采样的数据(有时是经过剔除奇异点的采样数据)用计算机软件的办法进行平滑加工,提高其有用信号,消除或削弱各种干扰及噪声造成的随机误差。
采用数字滤波器较之采用模拟滤波器的优点是肯定的,首先是降低了硬件滤波器件的费用,此外还能克服采用模拟电容器构成滤波器时由于受电容器容量的限制难以滤除低频干扰的问题。
然而最大的优点该是数字滤波程序种类繁多,可根据实际要求选择不同的滤波方法或改变滤波器的参数,以获得最佳的效果。
通常对变化比较缓慢的参数,例如温度、成分等,可选用程序判断滤波及一阶滞后滤波;对那些变化较快的脉冲参数,如压力、流量等,则宜选用算术平均滤波和加权平均滤波。
此外,对测量精度要求较高的系统还可采用复合滤波方法。
但是,任何工具的应用都有其局限性。
尽管数字滤波是一种用来消除计算机测控系统中干扰成分的有效工具,但如使用不当,有时反而造成失误。
例如在自动调节系统中,不恰当的数字滤波有时会将作为调控依据的偏差值滤掉,从而使系统失去调节功能。
因此一定要以仿真实验及现场实验的结果为依据,最后确定所采用的数字滤波环节是否恰当。
下面介绍几种常用的、简便有效的数字滤波方法。
(1)程序判断滤波法
程序判断滤波的基本思想是根据生产经验事先确定相邻两次采样输入信号可能出现的最大偏差值ΔX;在采样过程中若超出此ΔX,表明属于干扰信号,予以舍弃;若小于ΔX,则表明是正常采样值。
程序判断滤波有限幅滤波和限速滤波两种。
①限幅滤波。
限幅滤波程序将相邻的两次采样值相减,求出差值(以绝对值表示),然后将此差值与设定的两次采样最大偏差值ΔX相比较,若结果小于或等于ΔX,则取本次采样值;若结果大于ΔX,则仍取上次采样值权当本次采样值,即:
若|Xn-Xn-1|≤ΔX,则Xn=Xn,取本次采样值;
若|Xn-Xn-1|>ΔX,则Xn=Xn-1,取上次采样值。
其中Xn为第n次采样值,Xn-1为第n-1次采样值。
②限速滤波。
设顺序采样时刻t1、t2、t3所采集的参数分别为X1、X2、X3,则:
当|X2-X1|≤ΔX时,X2输入计算机;
当|X2-X1|>ΔX时,X2不被采用,但仍保留,再继续采样一次,得X3;
当|X3-X2|≤ΔX时,X3输入计算机;
当|X3-X2|>ΔX时,取(X2+X3)/2输入计算机。
此法是一种折中方法,兼顾了采样的实时性与连续性。
(2)中值滤波法
中值滤波法是将连续n次(n为奇数)采样值先排序整理,使之从小到大(或相反顺序)排列,然后取其中间的那个采样值作为本次采样值。
中值滤波,对去掉脉动干扰较为有效,但对快速变化的参数(例如流量)则不宜使用。
(3)算术平均滤波
算术平均滤波是将连续n次采样值相加,再求取其算术平均值
作为本次的采样值,即
=
。
式中:
为n次采样值的算术平均值,Xi为第i次采样值,n为采样次数。
这种滤波方法主要适用于对压力、流量等周期脉动的采样值进行平滑加工,但对脉冲性干扰的平滑效果欠佳。
平均次数n取得大,平滑度提高,但灵敏度下降。
一般对流量检测对象n取2,对压力检测对象n取4,对温度检测对象如无噪声干扰则可不平均。
(4)加权平均滤波法
上述算术平均滤波虽然可对采样数据起到一种平滑与滤波的作用,但是由于在平均区段中正常数据往往也有一定的变化,使这种平均滤波不仅平滑了噪声,也平滑了正常数据的变化部分,从而引入了处理本身带来的方法误差,并且这种方法误差随n值的增大而增大,所以不够理想。
为了取得更好的平滑效果,常采用将n个采样值先加权再平均的所谓加权平均滤波方法。
就是说,在平均区段内,各点的权重是不同的,平滑处理中心点附近的数据权值大,越偏离中心权值越小。
这样就减小了对数据本身的平滑作用,从而减少了处理本身引起的方法误差。
为使数据向平滑中心靠近,常采用对称平滑处理的方法。
假设第i点加权系数为Wi,加权平均值
的一般表达式为:
=
(12.2)
式中N若等于2,则相当于连续采样点数n=5;N=3,则相当于n=7,…。
总之,上式是求(2N+1)个采样数据点的加权平均值。
而取得权系数Wi的依据是使平滑后的数据X0以最小均方差逼近真实数据X0。
根据最小二乘法理论,可求得N=2(n=5)时,加权平滑处理公式为:
=
(-3X-2+12X-1+17X0+12X1-3X2)(12.3)
N=3(n=7)时,加权平滑处理公式为:
=
(-2X-3+3X-2+6X-1+7X0+6X1+3X2-2X3)(12.4)
实际中,当对一些快速变化的动态特性进行检测时,一般点数并不宜取得太多,所以较常采用的是5点加权平滑处理。
(5)比较取舍滤波法
也就是经常听到的“去两头取平均”的方法。
其一般形式是:
=
(12.5)
式中,Xi为有序化处理后的采样数据(一般Xj-1<Xi<Xj+1=;n为采样数据点数;k为每端剔除的奇异点数;
为滤波值。
在一般工程应用中,取n=5,k=1就可满足绝大多数系统的要求,此时式(12.5)可化简为:
=
(X2+X3+X4)(12.6)
X1和X5被认为是奇异点。
这种方法能有效地滤除偶然的脉冲干扰。
(6)平滑滤波法
前几种数字滤波法有一个共同特点,即每个采样周期需重复采样多次。
这在实时性要求很高的测控系统中使用会有一定的困难。
平滑滤波法可避免这一缺陷,它采用固定长度(设为N)的队列,每进行一次新的采集,即将采集结果放入队尾,而扔掉原队首的数据,这样便可对N个“最新数据”计算均值,作为最近一次采样数据值。
这种方法的根据是物理量不能突变的原理。
(7)一阶递推滤波法
前述几种滤波算法基本上属于静态滤波,主要适用于变化过程比较快的参数,如压力、流量等。
但对慢速随机变化采用在短时间内求取平均值的方法,其滤波效果欠佳。
若采用动态滤波即一阶递推滤波算法,则可提高其滤波效果,其公式为:
=αXn+(1-α)
(12.7)
式中Xn为第n次采样值;Yn-1和
分别为第n-1次和第n次采样后滤波结果的输出值;α为滤波平滑系数,α=
(τ为数字滤波器时间常数,T为采样周期)。
这种一阶递推滤波法实质上是一种利用软件代替硬件RC低通滤波器的算法。
2.系统误差的处理
系统误差主要指系统内在的特性误差,包括非线性误差,传感器的分散性、温度特性带来的误差,系统的动态特性引起的误差等。
下面分别介绍用软件处理各类系统误差的常用方法。
1)查表法
测控系统中有些参数计算繁琐,尤其在使用汇编语言编写测控程序时,用通常的计算法编出程序不仅复杂冗长,难度很大,而且执行时间也长。
这种场合,如果采用查表法来实现有关的计算功能,则要方便得多。
所谓查表法是将预先计算或通过测量获得的数据按顺序排列成表格形式存放在ROM中,由查表程序根据被测参数的值通过查表找出相应的结果。
查表程序设计的优劣及所用的检索时间的长短,除取决于表格本身的长短之外,还与表格的排列方法有关。
若表格中的各项按大小或按其他顺序排列的则称为有序表格。
查表可使用顺序查表法、计算查表法及对分查表法。
2)曲线拟合法
查表法只能得到表格中所含点上的精确结果,对于点间的参数值则无法精确表示。
应用数学上的曲线拟合法,可以建立近似连续函数来模拟一组代表传感器特性的实测数据。
拟合的方法有多种,如最小二乘法、平均法、样条函数法等,但应用最广并能以最小误差逼近的还是最小二乘法。
最小二乘曲线拟合法的实质,就是利用一组N对实测数据(xi,yi)(其中i=1,2,…,N),拟合成一条m次方的有理多项式曲线y′=F(x),在曲线拟合过程中,应保证拟合函数与实际标定函数的均方差为最小,以此为条件来确定有理多项式的系数。
用作拟合函数的有理多项式形式,最常见的有泰勒展开式和切比雪夫展开式。
具体拟合方法从略,读者可参阅其他相关文献。
3)插值法
用最小二乘拟合法作线性处理,在实测特性的非线性不太大的情况下,多项式的阶次较小(如为4阶)即可获得相当高的精度,运算程序也不会太复杂。
但如果特性的非线性较严重或为非单向性函数,则拟合多项式的阶数将要较高,运算程序就显得较繁,运行时间也长,这时可以采用插值法。
插值法是将查表法和曲线拟合法有机结合,以产生逼近函数y′=F′(x),使在一定误差范围内近似地代替原实测函数y=F(x)。
其实质是将函数分段模拟,或者说当实测的xi值介于表格中两个基点xb和xb+1之间时,不是直接按查表法的做法,用其相近的一个值xb或xb+1去查对应的yb或yb+1值,以此作为y′i,而是用b点和b+1点的相近函数作内插计算出y′i。
内插函数根据具体情况和插值精度要求来选择。
可以用一次直线方程内插,也可以用二次抛物线方程或m次多项式内插。
实际中应用较多的是线性(一次)插值法和二次抛物线插值法。
4)对温漂影响的修正
数据采集通道中的主要环节(如传感器、放大器、ADC等)的特性大都随环境温度的变化而有所变化,这种变化将引起零点漂移和整个测试特性的变化,从而带来检测结果的误差。
以往常将传感器或模入通道等主要环节置于恒温槽中,以避开温度对实测参数的影响。
这种办法虽然可用,但加上恒温槽后不仅增加体积,还要附加恒温装置的电源,而且开机后需很长的预热时间。
所以在微型机测控系统及智能仪表中,多采用温度自校正的办法来补偿温度漂移的影响。
其原理如图12.23所示。
图12.23温度修正原理图
图中在参数传感器所处的温度环境中装置了一个温度传感器,用于检测参数传感器所处的环境温度。
温度信号和被测参数信号经多路开关MUX和A/D转换后同时送入计算机。
其中温度值在计算机中可通过一定的温度误差修正模型,或用前述的查表法、曲线拟合法或插值法变换为对应的校正参量值。
这样,计算机在进行参数传感器输出信号的数据处理时,便可扣除由于环境温度变化产生的附加误差,达到自修正、自补偿的目的。
例如对某些传感器,可采用下式作为温度误差修正模型:
yc=y(1+α0Δθ)+α1Δθ(12.8)
式中y为未经温度误差修正的参数传感器输出信号(数字量),yc为经过修正后的参数传感器输出信号;
Δθ为现场的工作环境温度与标准温度之差;
α0及α1为温度误差系数,其中α1用于补偿零漂值;α0用于补偿传感器灵敏度的变化。
上式适用于环境温度变化不太大的场合的补偿,若环境温度变化较大,且补偿精度要求较高时,则可用更精确的温度误差修正模型,例如下式:
yc=y(1+α0Δθ+α1Δθ2)+α2Δθ+α3Δθ2(12.9)
式中α0、α1用于补偿传感器灵敏度的变化,α2、α3用来补偿零位漂移。
该式在传感器的灵敏度和零漂随温度呈非线性变化时应用效果较好。
5)动态特性的校正
当测控系统的极限频率高于被测信号的最高频率时,可认为系统本身能完成对被测信号的检测任务,无需进行动态校正。
但当被测参数变化较快,使用的传感器频带宽度有限,致使测控系统的极限频率低于被测信号的最高频率时,则系统输出就要产生动态误差。
解决这类问题的方法,一般是在通道中串接超前校正环节来展宽频带。
过去多用硬件校正环节,现在在以微机为核心的测控系统中,采用软件实现的数字校正环节更方便。
下面我们以用热电偶测试热力参数的瞬变过程为例。
假定热电偶为无保护套管的热电管,其传递函数F(S)为一阶惯性环节,即:
F(S)=
(12.10)
式中T1为时间常数(约为18s)。
为改善式(12.10)所描述的热电偶的动态特性,应串入一个超前校正环节,其传递函数H(S)为:
H(S)=
(12.11)
式中K1为修正系数。
如将此校正环节与传感器串接,则有:
F(S)H(S)=
(12.12)
使热电偶时间常数减少到原来的K1分之一,或者说频带展宽到原来的K1倍。
K1的大小反映了动态误差减小的程度。
为便于软件编程,可改用递归数字滤波器设计方法来模仿和逼近式(12.11)所表示的模拟校正器特性。
这样得到的数字校正器在时频内输出与输入序列的关系式可表达为:
H(nTS)=a0F(nTS)+a1F[(n-1)TS]-b1H[(n-1)TS](12.13)
式中,TS为采样周期;H(nTS)和F(nTS)分别为第n次采样时刻数字校正器的输出和输入;H[(n-1)TS]和F[(n-1)TS]分别为第n-1次(前一次)采样时刻校正器的输出和输入;a0、a1、b1为与模拟校正器参数有关的修正系数,即:
a0=(1+K1C)/(1+C)
a1=(1-K1C)/(1+C)(12.14)
b1=(1-C)/(1+C)
其中C为常数,其值可根据数字校正器和模拟校正器的截止频率相等的原则求得:
C=ctg
(12.15)
式中T1为传感器时间常数,K1为频带展宽的修正系数。
用软件实现动态数字校正器的程序流程,就是先根据式(12.15)求出常数C;再由式(12.14)求得系数a0、a1和b1;最后代入式(12.13)逐项运算,求得n时刻的H(nTS),即为被校正的值。
3.标度变换
测控系统中的被测参量如压力、流量、温度等的量纲和数值尽管各不相同,但它们经模拟输入通道采集后得到的却都是00~FFH(8位ADC)或000~FFFH(12位ADC)的数字信号。
而测控系统的检测、监控装置一般都要求按被测参量的工程单位进行显示、打印、记录或报警,因此作为数据处理的最后一项任务,还必须把经过前述各步处理后的数字信号转换成带有不同工程单位的测量值。
这项工作一般称为标度变换。
线性仪表的标度变换公式为:
Ax=A0+(Am-A0)
(12.16)
式中A0为一次测量仪表的下限;Am为一次测量仪表的上限;Ax为实际测量值(工程值);N0为仪表下限所对应的数字量;Nm为仪表上限所对应的数字量;Nx为测量值所对应的数字量。
其中A0、Am、N0、Nm对于某一固定的被测参数而言是常数,对不同的参数则有不同的值。
为简化标度变换程序,通常把被测参数的起点A0(输入信号为0)所对应的A/D转换后的数字量定为0,即N0=0,则上式可简化为:
Ax=
(Am-A0)+A0(12.17)
例如一个热处理炉温度测量仪表(线性仪表)的量程为200℃~600℃。
在某一时刻计算机采样并经数字滤波后的数字量为CFH,求此时的温度值为多少?
则由上式可得出:
A0=200℃,Am=600℃,Nx=CFH=207D,Nm=FFH=255D。
对应的温度为:
Ax=
(Am-A0)+A0=
×(600-200)+200=524.7℃
实际上在测控系统的应用软件中有各种标度变换子程序(包括线性参数和非线性参数的标度变换),可供进行工程量转换时调用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滤波器 设计 问题 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)