法兰距离计算流程图信号加窗信号加窗用于减小频谱泄露,可选择三种窗函数之一:矩形窗、汉宁窗、布莱克曼窗。假设中频信号电压采样数组为v[N],采样点数为N(N=1199);加窗实际上是构建一个N点的数组w[N],将v[N]和w[N]进行点乘运算;信号加窗后的输出数组x[N]可表示为: xn=vn*wn(0≤n<N)(1-1)矩形窗矩形窗的w[N]是一个全1的数组,相当于对v[N]不进行加窗处理。汉宁窗汉宁窗的w[N]表示如下: wn=-(0≤n<N)(1-2)布莱克曼窗布莱克曼窗的w[N]表示如下: wn=-+(0≤n<N)(1-3)信号补零将N(N=1199)点的数组x[N]扩展成M(M=4096)点的数组y[M]: yn=xn(0≤n<N)0(N≤n<M)(1-4)FFT运算对M点的数组y[M]进行实数快速傅里叶变换并求模,具体算法请参考数字信号处理相关书籍;TMS320F28335有现成的库函数RFFT_f32(RFFT_F32_STRUCT*)、RFFT_f32_mag(RFFT_F32_STRUCT*)供调用,FFT运算的输出为数组Y[M/2]。频谱峰值探测根据MATLAB信号处理工具箱中PeakFinder的算法思路:处于两个波谷间且大于波谷一定阈值的点即为波峰;对应的流程图为:频谱峰值探测的输出为波峰索引数组。回波筛选有效回波必须满足一定的位置条件和幅值条件。系统的距离分辨单元为: ∆D=C2B*11994096(1-5)式中,C—真空中光速 B—扫频带宽则回波的位置和幅度可以表示为: D=∆D*i-TCL A=Y[i](1-6) 式中,i—波峰索引TCL—TCL长度位置条件有效回波位置必须处于盲区和罐底之间,将处于该范围之外的回波剔除。幅值条件有两种幅值条件:统一阈值、ATP阈值。统一阈值是将峰值小于某阈值的回波剔除;ATP阈值是由位置——阈值构成的一条折线,将峰值处于折线下方的回波剔除。回波筛选的输出为回波索引数组。谱估计对回波索引数组中的每一个回波D,Yi,根据该回波前后各1个点D-∆D,Yi-1、D+∆D,Yi+1的值,利用二次曲线拟合法估算回波的真实位置为: D0=D+Yi-1-Yi+12Yi-1+Yi+1-2Yi*∆D(1-7)回波的幅度为: A0=D0-DD0-D-∆DYi-1-2D0-D-∆DD0-D+∆DYi+D0-DD0-D+∆DYi+12∆D2(1-8)回波跟踪如果选择首回波算法,则回波跟踪过程可以用如下状态机表示:如果选择回波搜索算法,则回波跟踪过程可以用如下状态机表示:回波跟踪的输出为液面状态、位置和幅度。滤波处理有三种滤波方法:跳跃滤波、阻尼、最小二乘法滤波;其中阻尼不能和最小二乘法滤波同时使用,但跳跃滤波能和阻尼或最小二乘法滤波同时使用。跳跃滤波跳跃滤波用于减少液面的大幅度快速抖动,跳跃滤波用到两个参数:跳跃滤波阈值JFilt_Thresh、跳跃滤波延迟JFilt_Delay,其算法思路如下:如果当前液位与前一时刻液位输出值相距大于JFilt_Thresh,跳跃滤波计数器累加;否则跳跃滤波计数器清零,用当前液位值作为当前时刻的输出。如果跳跃滤波计数器大于JFilt_Delay,用当前液位值作为当前时刻的输出;否则用前一时刻液位输出值作为当前时刻的输出。阻尼阻尼用距离滤波因子来度量,施加阻尼后系统的输出为: Dn'=Dn-1'+Dn-Dn-1'*DistFiltFactor(1-9) 式中,Dn'—当前时间输出值 Dn-1'—前一时刻的输出值 Dn—当前时刻的测量值 DistFiltFactor—距离滤波因子距离滤波因子和阻尼时间常数之间可用如下关系式表示: DistFiltFactor=1-e-∆TT(1-10) 式中,T—时间常数,单位为s ∆T—液位计算的时间间隔()最小二乘法滤波最小二乘法滤波用于快速跟踪液位的变化,其算法步骤如下:利用前N(N=10)个时刻的输出值D'0、D'∆T、D'2∆T、…、D'N-1∆T,根据最小二乘法,拟合一条输出随时间变化的直线: D''t=a+b*t(1-11)利用拟合直线,计算当前时刻的预测值: D''N∆T=a+b*N∆T(1-12)根据当前时刻的预测值和测量值,计算当前时刻的输出值:D'N∆T=D''N∆T+DN∆T-D''N∆T*DistFiltFactor(1-13)式中,DN∆T—当前时刻的测量值。注:最小二乘法线性拟合见附录A。液位计算以用户定义的液位零点为参考点,计算出的液位值为: Level=TankHeight_R-Flange_D-OffsetDist_G+CalibrationLevel+LevelOffset(2-1)式中,TankHeigh
雷达物位计软件算法说明 来自淘豆网m.daumloan.com转载请标明出处.