【智能车】电磁循迹算法(1)——加权滤波的应用
1、加权滤波
对于AD采集到的放大后的电磁信号,需要进行简单的滤波处理,经由这一处理对各通道的AD值进行归一化,就可以得到可用于进行差比和差计算的数据。本文主要研究对AD采集到的原始信号进行加权滤波的实现方法,简单方便且不占用大量算力
且对单一通道进行分析,显然的,在复杂电磁环境下难免出现电磁信号的突变、噪声。加权滤波是对于连续采集到的一组的原始数据,赋予不同的权值,一般给予最近采集的信号高权重,较早采集的信号给予较低的权值,原始信号乘以权值,最终将乘积和乘以权值和,得到滤波的结果
2、具体实现
设置三个ADC数据值
ADC_Value_Temp[10] : 原始采集数组
ADC_Value_Sum :加权乘积和
ADC_Result_Data :乘积和除以权值和,即滤波结果
设置权值数组
Weight_Ration[10] = {4,6,7,8,10,15,20,30,200,700} :权值数组,随时间权重增加
Weight_Ration_Sum = 1000 :权值和
ADC原始值获取
adc_Init()
adc_convert()
以一个通道为例,其他通道相同,用for循环扫描,i表示通道数
adc_Init();
ADC_Value_Temp[i] = adc_convert();
for(j = 0; j < 10; j++)
{
ADC_Value_Sum += ADC_Value_Temp[j] * Weight_Ration[j];
}
ADC_Result_Data = ADC_Value_Sum / Weight_Ration_Sum;