法兰距离计算
流程图
信号加窗
信号加窗用于减小频谱泄露,可选择三种窗函数之一:矩形窗、汉宁窗、布莱克曼窗。假设中频信号电压采样数组为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信号处理工具箱中Peak Finder的算法思路:处于两个波谷间且大于波谷一定阈值的点即为波峰;对应的流程图为:
频谱峰值探测的输出为波峰索引数组。
回波筛选
:
ﻩ ∆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' - 前一时刻的输出值
雷达物位计软件算法说明 来自淘豆网m.daumloan.com转载请标明出处.