精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文教你傳感器的3種常用算法處理

454398 ? 來源:羅姆半導體社區 ? 作者:羅姆半導體社區 ? 2022-12-26 10:14 ? 次閱讀

來源:羅姆半導體社區

傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法:

1.加權平滑:平滑和均衡傳感器數據,減小偶然數據突變的影響;

2.抽取突變:去除靜態和緩慢變化的數據背景,強調瞬間變化;

3.簡單移動平均線:保留數據流最近的K個數據,取平均值;

01

加權平滑

使用算法如下:

(新值) = (舊值)*(1 - a) + X * a其中a為設置的權值,X為最新數據,程序實現如下:

float ALPHA = 0.1f;

public void onSensorChanged(SensorEvent event){

x = event.values[0];

y = event.values[1];

z = event.values[2];

mLowPassX = lowPass(x,mLowPassX);

mLowPassY = lowPass(x,mLowPassY);

mLowPassZ = lowPass(x,mLowPassZ);

}

private float lowPass(float current,float last){

return last * (1.0f - ALPHA) + current * ALPHA;

}

02

抽取突變采用上面加權平滑的逆算法

實現代碼如下:

public void onSensorChanged(SensorEvent event){

final float ALPHA = 0.8;gravity[0] = ALPHA * gravity[0] + (1-ALPHA) * event.values[0];

gravity[1] = ALPHA * gravity[1] + (1-ALPHA) * event.values[1];

gravity[2] = ALPHA * gravity[2] + (1-ALPHA) * event.values[2];filteredValues[0] = event.values[0] - gravity[0];

filteredValues[1] = event.values[1] - gravity[1];

filteredValues[2] = event.values[2] - gravity[2];

}

03

簡單移動平均線

保留傳感器數據流中最近的K個數據,返回它們的平均值。k表示平均“窗口”的大小;

實現代碼如下:

public class MovingAverage{

private float circularBuffer[]; //保存傳感器最近的K個數據

private float avg; //返回到傳感器平均值

private float sum; //數值中傳感器數據的和

private float circularIndex; //傳感器數據數組節點位置

private int count;public MovingAverage(int k){

circularBuffer = new float[k];

count= 0;

circularIndex = 0;

avg = 0;

sum = 0;

}

public float getValue(){

return arg;

}

public long getCount(){

return count;

}

private void primeBuffer(float val){

for(int i=0;i

circularBuffer[i] = val;

sum += val;

}

}

private int nextIndex(int curIndex){

if(curIndex + 1 >= circularBuffer.length){

return 0;

}

return curIndex + 1;

}

public void pushValue(float x){

if(0 == count++){

primeBuffer(x);

}

float lastValue = circularBuffer[circularIndex];

circularBuffer[circularIndex] = x; //更新窗口中傳感器數據

sum -= lastValue; //更新窗口中傳感器數據和

sum += x;

avg = sum / circularBuffer.length; //計算得傳感器平均值

circularIndex = nextIndex(circularIndex);

}

}

審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2548

    文章

    50740

    瀏覽量

    752144
收藏 人收藏

    評論

    相關推薦

    一種改進的無線傳感器網絡非測距定位算法

    節點定位是實現傳感器網絡應用的前提,控制節點定位誤差成為保證網絡正常運行的關鍵。采用基于測距的定位算法,可以達到良好的精度,但需要測量裝置,不適合能量受限的無線傳感器網絡。本文分析了常用
    發表于 08-18 09:58 ?1254次閱讀

    介紹幾種常用傳感器數據處理方法

    傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法:
    發表于 07-12 10:51 ?8954次閱讀

    基于多傳感器的多模型機動目標跟蹤算法設計

    評估,驗證了所設計方法的有效性和實用性。  1 多傳感器平臺搭建  雷達和紅外傳感器是目前常用的兩目標探測和跟蹤傳感器,采用雷達為主、紅外
    發表于 12-05 15:16

    讀懂傳感器的原理與結構

    讀懂傳感器傳感器在原理與結構上千差萬別,如何根據具體的測量目的、測量對象以及測量環境合理地選用傳感器,是在進行某個量的測量時首先要解決的
    發表于 01-13 07:08

    篇小短文教你了解工字電感的各項參數

    篇小短文教你了解工字電感的各項參數篇小短文教你了解工字電感的各項參數工字電感是我們在插件作業中會經常看見且用到的電子元器件中的一種;
    發表于 02-01 10:16

    一種改進的多傳感器加權融合算法

    一種改進的多傳感器加權融合算法  引言   多傳感器數據融合是近幾年迅速發展的門信息綜合處理
    發表于 12-12 10:32 ?2218次閱讀

    一種基于LEACH的改進型無線傳感器網絡路由算法

    一種基于LEACH的改進型無線傳感器網絡路由算法 路由算法是無線傳感器網絡研究的核心技術之
    發表于 01-13 11:04 ?1170次閱讀
    <b class='flag-5'>一種</b>基于LEACH的改進型無線<b class='flag-5'>傳感器</b>網絡路由<b class='flag-5'>算法</b>

    一種處理器平臺上的傳感器事務調度算法

    如何有效地調度傳感器事務以維護數據的時態致性是信息物理融合系統研究中的個重要問題。已有的調度算法基本上都是針對單處理器平臺來設計的。提出
    發表于 11-27 10:37 ?0次下載

    文教你怎么測量壓敏電阻的好壞

    本文主要介紹了文教你怎么測量壓敏電阻的好壞,“壓敏電阻“是一種具有非線性伏安特性的電阻器件,主要用于在電路承受過壓時進行電壓鉗位,吸收多余的電流以保護敏感器件。判斷壓敏電阻通常需要
    發表于 04-10 09:16 ?7.1w次閱讀

    一種異質多傳感器的異步量測融合算法驗證

    本文從建立偽量測方程的角度,提出了一種異質多傳感器的異步量測融合算法,該算法是通過在融合中心建立偽量測方程使各傳感器的數據同步,然后利用同步
    發表于 04-30 14:25 ?1556次閱讀
    <b class='flag-5'>一種</b>異質多<b class='flag-5'>傳感器</b>的異步量測融合<b class='flag-5'>算法</b>驗證

    文教你學會如何區分風速傳感器和風量傳感器

    風速傳感器和風量傳感器的區別,要從風速和風量說起。 風速,是指空氣相對于地球某固定地點的運動速率,常用單位是 m/s ,1m/s =3.6 km/h。風速沒有等級,風力才有等級,風速
    的頭像 發表于 10-29 23:09 ?877次閱讀

    淺談傳感器3常用算法處理(含實現代碼)

    傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法: 1.加權平滑:平滑和均衡傳感器
    的頭像 發表于 05-06 16:43 ?2736次閱讀
    淺談<b class='flag-5'>傳感器</b>中<b class='flag-5'>3</b><b class='flag-5'>種</b><b class='flag-5'>常用</b><b class='flag-5'>算法</b><b class='flag-5'>處理</b>(含實現代碼)

    淺析單片機開發中傳感器的數據處理算法

    傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法: 加權平滑:平滑和均衡傳感器數據
    的頭像 發表于 11-01 14:13 ?2287次閱讀
    淺析單片機開發中<b class='flag-5'>傳感器</b>的數據<b class='flag-5'>處理算法</b>

    傳感器數據常用的簡單處理方法

    傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法
    的頭像 發表于 07-06 16:50 ?4316次閱讀

    淺談傳感器幾種常用的簡單處理方法

    傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法。
    發表于 03-02 09:35 ?578次閱讀