雷达物位计-软件算法说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.法兰距离计算
1.1.流程图
1.2.信号加窗
信号加窗用于减小频谱泄露,可选择三种窗函数之一:矩形窗、汉宁窗、布莱克曼窗。假设中频信号电压采样数组为v[N],采样点数为N(N=1199);加窗实际上是构建一个N点的数组w[N],将v[N]和w[N]进行点乘运算;信号加窗后的输出数组x[N]可表示为:
x[n]=v[n]∗w[n](0≤n (1-1) 1)矩形窗 矩形窗的w[N]是一个全1的数组,相当于对v[N]不进行加窗处理。 2)汉宁窗 汉宁窗的w[N]表示如下: w[n]=0.5−0.5cos(2πn N )(0≤n (1-2) 3)布莱克曼窗 布莱克曼窗的w[N]表示如下: w[n]=0.42−0.5cos(2πn N )+0.08cos(4πn N )(0≤n (1-3) 1.3.信号补零 将N(N=1199)点的数组x[N]扩展成M(M=4096)点的数组y[M]: y[n]={ x[n](0≤n (1-4) 1.4.FFT运算 对M点的数组y[M]进行实数快速傅里叶变换并求模,具体算法请参考数字信号处理相关书籍;TMS320F28335有现成的库函数RFFT_f32(RFFT_F32_STRUCT *)、RFFT_f32_mag(RFFT_F32_STRUCT *)供调用, FFT运算的输出为数组Y[M/2]。 1.5.频谱峰值探测 根据MATLAB信号处理工具箱中Peak Finder的算法思路:处于两个波谷间且大于波谷一定阈值的点即为波峰;对应的流程图为: 频谱峰值探测的输出为波峰索引数组。 1.6.回波筛选 有效回波必须满足一定的位置条件和幅值条件。系统的距离分辨单元为: ∆D=C 2B ∗1199 4096 (1-5) 式中,C—真空中光速 B—扫频带宽 则回波的位置和幅度可以表示为: D=∆D∗i−TCL A=Y[i] (1-6) 式中,i—波峰索引 TCL— TCL长度 1)位置条件 有效回波位置必须处于盲区和罐底之间,将处于该范围之外的回波剔除。 2)幅值条件 有两种幅值条件:统一阈值、ATP阈值。统一阈值是将峰值小于某阈值的回波剔除;ATP阈值是由位置——阈值构成的一条折线,将峰值处于折线下方的回波剔除。 回波筛选的输出为回波索引数组。 1.7.谱估计 对回波索引数组中的每一个回波(D,Y[i]),根据该回波前后各1个点(D−∆D,Y[i−1])、 (D+∆D,Y[i+1])的值,利用二次曲线拟合法估算回波的真实位置为: D0=D+Y[i−1]−Y[i+1] 2(Y[i−1]+Y[i+1]−2Y[i]) ∗∆D (1-7) 回波的幅度为: A0=(D0−D)(D0−D−∆D)Y[i−1]−2(D0−D−∆D)(D0−D+∆D)Y[i]+(D0−D)(D0−D+∆D)Y[i+1] 2∆D2 (1-8) 1.8.回波跟踪 如果选择首回波算法,则回波跟踪过程可以用如下状态机表示: 如果选择回波搜索算法,则回波跟踪过程可以用如下状态机表示: 跟踪窗口内有回波 / 注:如果激活缓慢搜索,则搜索窗口初始化为跟踪窗口;否则,搜索窗口初始化为0~100m 回波跟踪的输出为液面状态、位置和幅度。 1.9.滤波处理 有三种滤波方法:跳跃滤波、阻尼、最小二乘法滤波;其中阻尼不能和最小二乘法滤波同时使用,但跳跃滤波能和阻尼或最小二乘法滤波同时使用。 1)跳跃滤波 跳跃滤波用于减少液面的大幅度快速抖动,跳跃滤波用到两个参数:跳跃滤波阈值JFilt_Thresh、 跳跃滤波延迟JFilt_Delay,其算法思路如下: i. 如果当前液位与前一时刻液位输出值相距大于JFilt_Thresh ,跳跃滤波计数器累加;否则跳跃滤 波计数器清零, 用当前液位值作为当前时刻的输出。 ii. 如果跳跃滤波计数器大于JFilt_Delay ,用当前液位值作为当前时刻的输出;否则用前一时刻液位 输出值作为当前时刻的输出。 2) 阻尼 阻尼用距离滤波因子来度量,施加阻尼后系统的输出为: D n ′=D n−1′+(D n −D n−1′ )∗DistFiltFactor (1-9) 式中,D n ′ — 当前时间输出值 D n−1′ — 前一时刻的输出值 D n — 当前时刻的测量值 DistFiltFactor — 距离滤波因子 距离滤波因子和阻尼时间常数之间可用如下关系式表示: DistFiltFactor =1−e − ∆T T (1-10) 式中,T — 时间常数,单位为s ∆T —液位计算的时间间隔(0.1s) 3) 最小二乘法滤波 最小二乘法滤波用于快速跟踪液位的变化,其算法步骤如下: iii. 利用前N (N=10)个时刻的输出值D ′(0)、D ′(∆T )、D ′(2∆T )、…、D ′((N −1)∆T),根据最小二 乘法,拟合一条输出随时间变化的直线: D ′′(t )=a +b ∗t (1-11) iv. 利用拟合直线,计算当前时刻的预测值: