1.基于声共振频率非线性滤波的液位测量方法,该方法包括以下步骤:步骤(1).将导声管垂直于液面插入到待测液体的底部,麦克风、扬声器和温度传感器平行安置在导声管的顶部,使扬声器发射端和麦克风接收端正垂直于待测液体表面;
步骤(2).通过控制器输出一段频率范围为D=[c,d]Hz的一组随时间均匀变化的正弦波扫频信号,该扫频信号通过扬声器垂直于待测液面发出,其中扫频范围[c,d]Hz满足c>>20Hz;扬声器发出的声波经导声管垂直传播至液面时,声波因遇到不同的介质后发生反射形成反射波,声波在传播过程中发生叠加形成合成波传至麦克风处;麦克风接收采集到合成波形,通过模数转换器将合成波信号转化为数字信号;
步骤(3).将转化后的数字信号经过快速傅立叶变换使其由时域波形转化成频域波形,然后通过平滑滤波算法对频域波形进行处理得到共振频率点序列P(f1,f2,...,fn);
其特征在于:
步骤(4)构造基于置信规则推理的非线性滤波器,补偿P(f1,f2,...,fn)中缺失共振点或删除多余共振点,具体步骤如下:步骤(4-1)选择基于置信规则库推理的非线性滤波器的输入和输出对于步骤(3)得到的一组共振频率点序列P(f1,f2,...,fn),计算其相邻两点间的差值序列e(i),e(i)=fi+1-fi,i=1,..,n-1;通过其差值序列得到各个差值与其均值的比值序列为G=(G1,G2...,Gn),其中 求得各个差值所对应的液位高度值以及各个高度值与其均值的比值序列为g=(g1,g2,...,gn),其中
将第i个共振点位置得到的Gi和gi分别作为非线性滤波器的输入量x1和x2,则非线性滤波器的输出记为O,表示在第i个共振点处应该删除和补充的共振频率的个数,O∈{-1,0,1,
2,3,4,5,6},这里“O=-1”代表第i个共振点处多出一个虚假共振点fi,需要将其删除,当“O=0”表示fi正确,不需要任何操作,当“O=1~6”表示第i个共振点处分别缺少1~6个共振点,需要进一步给予补偿;
步骤(4-2)建立非线性滤波器中的置信规则,描述输入量x1、x2与输出量O之间的非线性映射关系,其中的第k条规则记为Rk,表示形式如下:Rk的规则权重为θk,满足0≤θk≤1;输入变量x1和x2对应的属性权重分别为δ1,δ2,且0≤δ1,δ2≤1;其中, 和 分别为规则系统的输入变量x1和x2的参考值,且有Qj为 的取值空间,其中的元素满足
表示对应第
j个输入变量参考值的取值个数;
分别在Q1,Q2中抽取一个元素作为x1、x2的参考值,由此组合成规则,共计产生L=n1×n2条规则,L≥1,k=1,2,3,…,L为规则的编号;Rk的后项属性分别为D1,D2,…,DN,并有LO≤D1
根据所建的规则,输入X=[x1,x2]对第k条规则的激活权重wk可由式(2)给出其中相对属性权重为
式中: 是第k条规则中第i个输入xi与参考值 的匹配度;当输入xi是数值量时,则其匹配度的求解如下:当 或 时,其匹配度 取值均为1,对于其他参考值的匹配度均为0;当 时,xi对于 和 (q=1,2,...,Mi-1)的匹配度 取值分别由式(4)和式(5)给出
此时对于其他参考值的匹配度均为0;在得到wk后,利用其对第k条规则的后项属性规则结构进行折扣,然后利用证据推理的方法将所有的而后项属性结构进行融合,得到其所对应的输出O(X)={(Dj,βj);j=1,2,...,N} (6)式中βj为后项Dj的置信度
这里
通过计算其输入量对于参考值的匹配度,以及计算出各规则的激活权重,将激活规则的后项置信结构利用证据推理算法进行融合,得到输出O(X),即第i个共振点所存在的缺点或者多余点的个数;
步骤(5)根据步骤(4)中推理出的O(X)的值,实施删除多余共振点或补偿缺失的共振点的操作,具体过程如下:当输出O(X)∈[-2,-0.5)时,表示第fi频率点间多提取一个共振频率点,需要对fi进行删除,记fi=0,删除点的个数记为z1=1;
当输出O(X)∈[-0.5,0.5)时,表示第fi和fi+1个共振点正确,不需要执行任何操作;
当输出O(X)∈[0.5,1.0)时,表示第fi和fi+1个共振点间需要补充一个共振点,记为fi1,当输出O(X)∈[1.0,2.5)时,表示第fi和fi+1个共振点间需要补充两个共振点,记为fi1、2
fi,
当输出O(X)∈[2.5,3.5)时,表示第fi和fi+1个共振点间需要补充三个共振点,记为fi1、fi2,fi3,以此类推,当O(X)∈[5.5,6.5)时,表示第fi和fi+1个共振点间需要补充六个共振点,记为fi1、fi2、fi3、fi4、fi5、fi6 ,其中补偿点的个数记为z=1,2,3,4,
5,6;
步骤(6)将经步骤(5)中删除或补充之后的所有共振点进行重新排列,生成完备的共振
1 2 z
点序列记为P'=(f1,f2,...,fi,fi ,fi ,...,fi ,fi+1,...,fn),根据P’计算液位高度L如下:将得到的完备的共振点序列P'=(f1,f2,...,fi,fi1,fi2,...,fiz,fi+1,...,fn),其中z表示推理得到需要补偿的点的个数,计算其相邻共振点间的差值序列e(v)=fv+1-fv,v=1,
2,...,n+z-z1-1;利用下面的液位换算公式来计算该序列所对应的液位高度值,得到共n+z-z1-1个液位高度L(v)其中T为环境的温度;将取得的L(v)求和取平均,得到最终的液位高度L