娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月07日(星期一)

正在發生

2018年10月07日 | 單片機簡單數字濾波算法

發布者:墮落的貓 來源: eefocus關鍵字:單片機  數字濾波算法 手機看文章 掃描二維碼
隨時隨地手機看文章

1)限幅濾波算法

該運算的過程中將兩次相鄰的采樣相減,求出其增量,然后將增量的絕對值,與兩次采樣允許的最大差值A進行比較。A的大小由被測對象的具體情況而定,如果小于或等于允許的最大差值,則本次采樣有效;否則取上次采樣值作為本次數據的樣本。


算法的程序代碼如下:

#defineA //允許的最大差值

chardata; //上一次的數據

char filter()

{

chardatanew; //新數據變量

datanew=get_data(); //獲得新數據變量

if((datanew-data)>A||(data-datanew>A))

return data;

else

returndatanew;

}

說明:限幅濾波法主要用于處理變化較為緩慢的數據,如溫度、物體的位置等。使用時,關鍵要選取合適的門限制A。通常這可由經驗數據獲得,必要時可通過實驗得到。

(2)中值濾波算法

該運算的過程是對某一參數連續采樣N次(N一般為奇數),然后把N次采樣的值按從小到大排列,再取中間值作為本次采樣值,整個過程實際上是一個序列排序的過程。


算法的程序代碼如下:#define N11 //定義獲得的數據個數

char filter()

{

charvalue_buff[N]; //定義存儲數據的數組

char count,i,j,temp;

for(count=0;count

{

value_buf[count]=get_data();

delay(); //如果采集數據比較慢,那么就需要延時或中斷

}

for(j=0;j

{

for(value_buff[i]>value_buff[i+1]

{

temp=value_buff[i];

value_buff[i]=value_buff[i+1];

value_buff[i+1]=temp;

}

}

returnvalue_buff[(N-1)/2];

}

說明:中值濾波比較適用于去掉由偶然因素引起的波動和采樣器不穩定而引起的脈動干擾。若被測量值變化比較慢,采用中值濾波法效果會比較好,但如果數據變化比較快,則不宜采用此方法。

(3)算術平均濾波算法

該算法的基本原理很簡單,就是連續取N次采樣值后進行算術平均。

算法的程序代碼如下:char filter()

{

int sum=0;

for(count=0;count

{

sum+=get_data();

delay():

}

return (char)(sum/N);

}

說明:算術平均濾波算法適用于對具有隨機干擾的信號進行濾波。這種信號的特點是有一個平均值,信號在某一數值附近上下波動。信號的平均平滑程度完全到決于N值。當N較大時,平滑度高,靈敏度低;當N較小時,平滑度低,但靈敏度高。為了方便求平均值,N一般取4、8、16、32之類的2的整數冪,以便在程序中用移位操作來代替除法。

(4)加權平均濾波算法

由于前面所說的“算術平均濾波算法”存在平滑度和靈敏度之間的矛盾。為了協調平滑度和靈敏度之間的關系,可采用加權平均濾波。它的原理是對連續N次采樣值分別乘上不同的加權系數之后再求累加,加權系數一般先小后大,以突出后面若干采樣的效果,加強系統對參數變化趨勢的認識。各個加權系數均小于1的小數,且滿足總和等于1的結束條件。這樣加權運算之后的累加和即為有效采樣值。其中加權平均數字濾波的數學模型是:


式中:D為N個采樣值的加權平均值:XN-i為第N-i次采樣值;N為采樣次數;Ci為加權系數。加權系數Ci體現了各種采樣值在平均值中所占的比例。一般來說采樣次數越靠后,取的比例越大,這樣可增加新采樣在平均值中所占的比重。加權平均值濾波法可突出一部分信號抵制另一部分信號,以提高采樣值變化的靈敏度。

程序代碼如下:

char code jq[N]={1,2,3,4,5,6,7,8,9,10,11,12}; 

//code數組為加權系數表,存在程序存儲區

char codesum_jq=1+2+3+4+5+6+7+8+9+10+11+12;

char filter()

{

char count;

char value_buff[N];

int sum=0;

for(count=0;count

{

value_buff[count]=get_data();

delay();

}

for(count=0;count

sum+=value_buff[count]*jq[count];

return(char)(sum/sum_jq);

}

(5)滑動平均濾波算法

以上介紹和各種平均濾波算法有一個共同點,即每獲取一個有效采樣值必須連續進行若干次采樣,當采速度慢時,系統的實時得不到保證。這里介紹的滑動平均濾波算法只采樣一次,將一次采樣值和過去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。如果取N個采樣值求平均,存儲區中必須開辟N個數據的暫存區。每新采集一個數據便存入暫存區中,同時去掉一個最老數據,保存這N個數據始終是最新更新的數據。采用環型隊列結構可以方便地實現這種數據存放方式。


程序代碼如下:char value_buff[N];

char i=0;

char filter()

{

char count;

int sum=0;

value_buff[i++]=get_data();

if(i==N)

i=0;

for(count=0;count

sum=value_buff[count];

return (char)(sum/N);

}

(6)低通濾波

將普通硬件RC低通濾波器的微分方程用差分方程來表求,變可以采用軟件算法來模擬硬件濾波的功能,低通濾波算法如下:

Yn=a* Xn+(1-a) *Yn-1

式中 Xn——本次采樣值

Yn-1——上次的濾波輸出值;

,a——濾波系數,其值通常遠小于1;

Yn——本次濾波的輸出值。

由上式可以看出,本次濾波的輸出值主要取決于上次濾波的輸出值(注意不是上次的采樣值,這和加權平均濾波是有本質區別的),本次采樣值對濾波輸出的貢獻是比較小的,但多少有些修正作用,這種算法便模擬了具體有教大慣性的低通濾波器功能。濾波算法的截止頻率可用以下式計算:

fL=a/2Pit pi為圓周率3.14…

式中 a——濾波系數; t——采樣間隔時間。


例如:當t=0.5s(即每秒2次),a=1/32時;

fL=(1/32)/(2*3.14*0.5)=0.01Hz


當目標參數為變化很慢的物理量時,這是很有效的。另外一方面,它不能濾除高于1/2采樣頻率的干攪信號,本例中采樣頻率為2Hz,故對1Hz以上的干攪信號應采用其他方式濾除。


關鍵字:單片機  數字濾波算法 引用地址:單片機簡單數字濾波算法

上一篇:keil編譯時出現錯誤和警告總結
下一篇:DSP28035_波特率的設置

推薦閱讀

? ? ? ? 丟三落四的小杜在外旅行又遇到困難了“怎么能有這么多證,每次出門都要忘帶某一個證”。我問小杜,你出門不會忘帶的是什么?小杜想都沒想,告訴我是手機。  我告訴小杜,你把證件都放進手機不就行了?  技能傳授:我們每天都在用的手機錢包支付寶,不光可以存錢,還能當我們的證件夾。第一步:打開支付寶,選擇卡包選項。第二步:滑到...
在AI換臉軟件ZAO和曠視校園人臉識別的風波后,17萬人臉數據被公開掛在網上商城出售的消息“接踵而至”,人臉突然成了“危險品”。無處不在的人臉識別,當采集人臉數據的渠道越來越廣,很多人會疑惑,我們的人臉數據最終都流向了哪里?在刷臉解鎖手機,付款,進出入高鐵站、機場的時代,你的臉可能在研究人員的數據集中,也可能在暗網的黑產交易中,也可能...
隨著人工智能技術興起以及邊緣設備算力的提升,機器視覺的應用場景不斷擴展,并催生了巨大的市場。根據美國領先的調查機構Grand View Research的分析,預計到2025年全球機器視覺市場規模將達到182.4億美元,復合年增長率為7.7%。在智能制造的浪潮下,生產線對工業設備有了新的要求,對質量檢驗和生產的需求不斷增加。而新一代機器視覺系統能夠在短短...
機器人編程其實是一個很大的范圍。 機器人編程涉及的學科很多,集成應用(機器人編程和生產工藝)、機器人研發、電氣、、機械、、等等。 機器人編程要學的哪些? 1.工業機器人應用編程,就學對應廠家的,如ABB的RAD,,這個要平臺動手實操。 2.機器人算法開發,就得學習/C++,或者; 3.機器人控制器開發,C/C++,RTX等,也有在 ROS下開發的,界面M...

史海拾趣

問答坊 | AI 解惑

電力用智能高頻開關整流式充電電源

微機產品在電力系統的推廣應用,導致對供電電源提出了更高的要求。美國、德國等西方發達國家電力系統中的直流電源早已采用模塊高頻開關整流式電源。在我國這種更新換代也已經開始。本文介紹的電力用智能高頻開關整流式充電電源正是為適應這種趨勢而 ...…

查看全部問答∨

北交大一名強人找工作心得

無意間點開北交大BBS中一同級通信專業的同學寫的帖子。感觸頗深,對比下自己,不禁感嘆有諸多相似之處,但是鄙人對未來的認識沒有該牛人那么的清晰。帖子中回答了諸多曾經困擾,甚至至今仍在困擾我的問題……推薦給每位城院學子,相信大家都會受益 ...…

查看全部問答∨

多端口SDRAM控制器的設計與實現(轉貼)

http://www.dzsc.com/data/html/2009-10-14/79406.html   摘 要設計實現了一種基于FPGA 的,可用于多數據緩存的、能夠高效利用帶寬的多端口SDRAM 控制器。本文使用狀態機的設計思想,采用Verilog 硬件描述語言設計了時序控制程序。得到的SDRAM ...…

查看全部問答∨

PCF8563編程問題,請大俠指點

最近在做一個pcf8563的時鐘電路,i2c總線讀寫,同時i2c總線上還掛了一片AT24c02,同樣的i2c總線讀寫程序,在讀寫AT24c02沒有任何問題,但是讀寫pcf8563時卻讀出來是亂碼 以下是8563的讀寫程序 void Write8563(unsigned char address,unsigned c ...…

查看全部問答∨

求wince系統下Windows目錄里面的三個文件

誰有X86CPU的Wince系統的cemgrc.exe,cetlstub.dll,tcpipc.dll三個文件?謝謝大家幫我傳一下 baiminshengbai@126.com…

查看全部問答∨

WinXP開發嵌入式,請教!!

因為在WindowsXP下開發嵌入式 感覺完全像在編程 可以請問各位高手有什么建議?給點開發的方向可以嗎? 然后我們現在想開發無線網絡,GPRS,但沒什么概念,應該看些什么。如果開發成功,用處大么? 謝謝。…

查看全部問答∨

WinCE終端如何訪問局域網PC 共享目錄下的文件?

小弟開發一個Windowce 5.0的設備, 支持無線網卡, 目前上網沖浪等沒有問題, 但是在終端上想讀寫局域網內PC上共享目錄的文件一直沒有線索, 請幫忙給點開發線索.…

查看全部問答∨

windows mobile c++的群:14753690.

歡迎有志之士加入該群。windows mobile c++的群:14753690.…

查看全部問答∨

STM32帶FSMC的可以支持多片SRAM嗎

我想接 4片 8Mbit 的SRAM 可以嗎?…

查看全部問答∨

stm32hardfaultexception的問題謝謝

用ucos+stm32做了一個小板子做modbus的模擬量采集。采了一會兒,當采集端什么都沒接及采集結果為零時 能夠正常運行。而當采集端接入一個模擬量,及采集結果不為零時,上位機的modbus調試軟件顯示超時,而mdk停在了hardfaultexception上。當程 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 佳木斯市| 巴东县| 东方市| 思茅市| 巢湖市| 雷波县| 永平县| 疏附县| 丰城市| 乌拉特前旗| 平陆县| 资源县| 兰考县| 蕉岭县| 东至县| 敦化市| 荥阳市| 邹城市| 湛江市| 盐亭县| 乐昌市| 遂平县| 淮滨县| 定陶县| 达州市| 报价| 金华市| 江阴市| 建昌县| 昌黎县| 渭源县| 南溪县| 临朐县| 屏边| 施秉县| 鸡泽县| 吉首市| 长宁区| 阆中市| 泰州市| 宁强县|