日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 內(nèi)容摘要:提出了一種利用數(shù)字濾波器濾除工頻干擾的快速算法。這種算法從AVR單片機(jī)內(nèi)部硬件乘法器的特點(diǎn)出發(fā),采用分配系統(tǒng)數(shù)法進(jìn)行低通數(shù)字濾波器設(shè)計(jì)。經(jīng)過(guò)VMLAB集成開(kāi)發(fā)環(huán)境的仿真驗(yàn)證,算法速度快、代碼效

      內(nèi)容摘要:提出了一種利用數(shù)字濾波器濾除工頻干擾快速算法。這種算法從AVR單片機(jī)內(nèi)部硬件乘法器的特點(diǎn)出發(fā),采用分配系統(tǒng)數(shù)法進(jìn)行低通數(shù)字濾波器設(shè)計(jì)。經(jīng)過(guò)VMLAB集成開(kāi)發(fā)環(huán)境的仿真驗(yàn)證,算法速度快、代碼效率高、濾波效果理想。

      工頻干擾廣泛存在各種工業(yè)現(xiàn)場(chǎng)中,其產(chǎn)生的途徑主要包括輸電饋線、照明設(shè)備、發(fā)動(dòng)機(jī)以及各種電子儀器設(shè)備等。一般可以通過(guò)濾波電路消除工頻干擾,但這必將增加硬件結(jié)構(gòu)的復(fù)雜程度。實(shí)際上,還可以采用數(shù)字信號(hào)處理的相關(guān)算法,通過(guò)軟件濾波器濾除工頻干擾。軟件濾波算法的采用,無(wú)疑會(huì)在簡(jiǎn)化電路結(jié)構(gòu)的同時(shí),使系統(tǒng)的硬件資源得到更加充分的利用,并達(dá)到降低產(chǎn)品成本的要求。

  AVR單片機(jī)是Atmel公司生產(chǎn)的8位精簡(jiǎn)指令集(RISC)單片機(jī)。與同類單片機(jī)相比,在運(yùn)算速度、外設(shè)資源、靈活性等方面性能均衡,性價(jià)比較高。AVR單片機(jī)適合C語(yǔ)言開(kāi)發(fā),Mega系列AVR單片機(jī)還有一個(gè)內(nèi)部硬件乘法器單元。這些特點(diǎn)都為軟件濾波器的實(shí)現(xiàn)提供了極大的便利。

  1 濾波算法

  常用的單片機(jī)濾波算法包括中值濾波、增色值濾波、滑動(dòng)平均以及復(fù)合濾波算法等。工頻干擾的頻率范圍在50Hz附近,可以采用一個(gè)截止頻率遠(yuǎn)低于50Hz的低通濾波器來(lái)濾除工頻干擾。

  假設(shè)輸入信號(hào)x(t),輸出信號(hào)y(t),則一個(gè)RC低通濾波器表達(dá)式為:τ[dy(t)]/dt+y(t)=x(t),其中τ為時(shí)間常數(shù)。

  連續(xù)時(shí)間信號(hào)經(jīng)過(guò)采樣后成為離散時(shí)間信號(hào),低通濾波器的表達(dá)式也變?yōu)椋?/p>

  τ[y(t)-y(k-1)]/ Δt+y(k)=x(t)   (1)

  Δt為采樣時(shí)間間隔,k為歸一化時(shí)間。

  由(1)式可得:

  y(k)=[1/(1+τ/Δt)]x(k)+(τ/Δt)/(1+τ/Δt)[y(k-1)  (2)

  令a=(τ/Δt)(1+τ/Δt),代入(2)式,

  y(k)=(1-a)·x(k)+a·y(k-1)   (3)

  對(duì)(3)式進(jìn)行z變換,可得:

  Y(z)=(1-a) ·X(z)+a·z-1·Y(z)

  所以系統(tǒng)的傳遞函數(shù)為:

  假設(shè)采樣頻率Fs=500Hz,a分別取0.8、0.85、0.9、0.95,代入(4)式,利用matlab畫(huà)出頻率響應(yīng)曲線,如圖1。其中50Hz頻率對(duì)應(yīng)的幅度衰減見(jiàn)表1。

  表1 50Hz幅度衰減

a衰減
0.8-9.4dB
0.85-11.9dB
0.9-15.5dB
0.95-21.6dB

  2 定點(diǎn)小數(shù)表達(dá)方式

  為了精確構(gòu)造數(shù)字濾波器,經(jīng)常要用到浮點(diǎn)數(shù)據(jù)和系統(tǒng)。在進(jìn)行浮點(diǎn)數(shù)乘法運(yùn)算時(shí),針對(duì)AVR單片機(jī)設(shè)計(jì)的C編譯器例如AVR-GCC,需要加入額外的數(shù)學(xué)庫(kù)函數(shù)進(jìn)行編譯。而這會(huì)使編譯后程序的代碼量增加、處理時(shí)間加長(zhǎng)、處理器的開(kāi)銷也隨之增加。為了更大限度地降低系統(tǒng)開(kāi)銷,提高程序效率,采用定點(diǎn)小數(shù)表示形式進(jìn)行乘法運(yùn)算是最佳選擇。

  AVR單片機(jī)是一種8位精簡(jiǎn)指令集(RISC)單片機(jī)。其中megaAVR系列內(nèi)部都帶有一個(gè)硬件乘法器,計(jì)算一次8位乘8位的定點(diǎn)乘法只需2個(gè)時(shí)鐘周期。因此采用8位定點(diǎn)采樣數(shù)據(jù)乘以8位系數(shù)的定點(diǎn)乘法方式完成濾波器算法是最高效的。

  低通濾波處理涉及的運(yùn)算形式為一個(gè)純小數(shù)系數(shù)和一個(gè)已知數(shù)據(jù)相乘再相加。因此將系數(shù)采用定點(diǎn)小數(shù)的表示形式,對(duì)于提高算法速度是至關(guān)重要的。

  可以定義一種8位定點(diǎn)小數(shù)表示形成——Q8,其各位權(quán)系數(shù)如下:

  Q8數(shù)的表示范圍從0到1-2 -8=0.99609375,每?jī)蓚€(gè)數(shù)之間的間隔是2 -8(0.00390625),其所能表示的純小數(shù)共有2 8=256個(gè)。例如11011000就表示2 -1+2 -2+2 -4+2 -5=0.84375,而11011001就是表示2 -1+2 -2+2 -4+2 -5+2 -8=0.84765625,因此0.84375和0.84765625之間的純小數(shù)只能用這兩個(gè)數(shù)中的一個(gè)近似表示了。這對(duì)于乘法計(jì)算的精度有一定的影響,但是由于濾波公式(3)中的系數(shù)a和(1-a)都是常數(shù),在整體性能穩(wěn)定的情況下,系數(shù)微小的不確定性對(duì)濾波器整體性能并沒(méi)有太大的影響。

  3 分配系數(shù)法原理

  從(3)式可知,濾波算法可以用迭代計(jì)算實(shí)現(xiàn),為保證每個(gè)新的輸出值都可以作為下次計(jì)算的輸入值,必須使輸出值和輸入值的位寬度一致。必須使輸出值和輸入值的位寬度一致。AVR單片機(jī)內(nèi)部硬件乘法器的輸出結(jié)果為16位,兩次乘法運(yùn)算的結(jié)果還要進(jìn)行加法運(yùn)算,其結(jié)果很有可能超過(guò)16位寬度。如果要進(jìn)行迭代計(jì)算,就要將乘加運(yùn)算的結(jié)果轉(zhuǎn)化成8位表示方式。一種解決方法是用查表法實(shí)現(xiàn)乘法計(jì)算,這樣運(yùn)算結(jié)果就直接表達(dá)成8位定點(diǎn)數(shù)形式,不用進(jìn)行表示方式的轉(zhuǎn)化,但是這種方案要占用額外的硬件在座空間構(gòu)造一張查找表。

  可以從逆向進(jìn)行思考:由(3)式可知,每個(gè)新的輸出值y(k)都與上一次的輸出值y(k-1) 和新的輸入值x(k)有關(guān)。y(k-1)和x(k)都是8位的,因此最大值為0xFF。為了使a×y(k-1)+(1-a) ×x(k)不超過(guò)0xFFFF,兩個(gè)系統(tǒng)a和(1-a)的和不能超過(guò)0xFFFF/0xFF=0x101。實(shí)際上,a+(1-a)等于"1",因此這里的0x101就可以看作“1”。如果取a=0.9,那么對(duì)應(yīng)地將0x101平均分成10份,取其中的9份,即0x101×0.9近似等于0xE7,相應(yīng)地0.1就等于0x101-0xE7=0x1A。這里的0xE7可以近似被認(rèn)為是0.9的一種定點(diǎn)Q8數(shù)表示形式,而0.1的定點(diǎn)Q8數(shù)表示形式就是0x1A。由于濾波器系數(shù)a和(1-a)采用了Q8數(shù)的表示形式這種將16位乘加運(yùn)算結(jié)果轉(zhuǎn)化為8定點(diǎn)數(shù)表示形式的工作就變得各簡(jiǎn)單了,只需通過(guò)移位運(yùn)算,取y(k)的高8位即可,對(duì)應(yīng)的C語(yǔ)言代碼為:

  y(k)=(char)(y(k)>>8)

  在C語(yǔ)言編程處理中,并不需要建立一個(gè)數(shù)組來(lái)存儲(chǔ)y(k)的值,而只需定義兩個(gè)unsigned char型的變量分別存儲(chǔ)y(k-1)和x(k)。當(dāng)乘加計(jì)算a×y(k-1)+(1-a)×x(k)完成后,將結(jié)果轉(zhuǎn)化為8位定點(diǎn)數(shù)形式,再將其賦值給y(k-1)所對(duì)應(yīng)的變量即可。因此采用迭代方式進(jìn)行乘加運(yùn)算后,整個(gè)運(yùn)算過(guò)程只需要兩個(gè)變量和兩個(gè)常數(shù)參加即可。

  通過(guò)這種處理,y(k)就可以作為計(jì)算下一次輸出值y(k+1)的一個(gè)已知量,并繼續(xù)與Q8數(shù)形式的濾波器系數(shù)相乘,得到新的輸出值。這種處理方式簡(jiǎn)化了乘加運(yùn)算的完成過(guò)程,節(jié)省了系統(tǒng)硬件資源,并降低了處理器開(kāi)銷。

  4 采樣時(shí)間的控制

  采用單片機(jī)進(jìn)行數(shù)字信號(hào)處理,一種有效而準(zhǔn)確的數(shù)據(jù)采集方式就是通過(guò)計(jì)數(shù)器中斷服務(wù)程序(ISR)控制AD對(duì)輸入信號(hào)進(jìn)行精確采樣。但是(圖2)中斷服務(wù)程序(ISR)的開(kāi)銷影響了AD采樣時(shí)間間隔的精確度,同時(shí)如果中斷服務(wù)程序(ISR)的開(kāi)銷過(guò)大,必然導(dǎo)致AD的最高采樣頻率的降低。因此,要想獲得精確的采樣頻率,就必須在盡量減少中斷服務(wù)程序開(kāi)銷的前提下,適當(dāng)調(diào)整計(jì)數(shù)器中斷的時(shí)間間隔。這可以通過(guò)調(diào)整OCR0的預(yù)置數(shù)來(lái)完成。

  5 算法流程圖

  濾波算法是通過(guò)中斷服務(wù)程序(ISR)來(lái)完成的,整個(gè)應(yīng)用程序的主函數(shù)main()主要負(fù)責(zé)初始化計(jì)數(shù)器中斷,并處理其它應(yīng)用。整個(gè)程序的流程圖如圖3所示。

  本算法的C語(yǔ)言代碼(附錄A)經(jīng)過(guò)AVR-GCC編譯器的編譯后,“.text”段只有310個(gè)字節(jié),大大節(jié)省了單片機(jī)的flash空間。

  6 基于VMLAB的濾波系統(tǒng)仿真實(shí)現(xiàn)

  VMLAB的全稱為:Visual Micro Lab。它針對(duì)AVR系列單片機(jī)和ST62系列單片機(jī)設(shè)計(jì),是一個(gè)單片機(jī)的虛擬原型框架,可以提供給用戶一個(gè)真正意義上的虛擬微控制器(MCU)設(shè)計(jì)實(shí)驗(yàn)室。它具有強(qiáng)大的多窗口、多文件的編輯器,微控制器的集成開(kāi)發(fā)環(huán)境,擁有一系列的集成開(kāi)發(fā)工具,圖形界面的調(diào)試器,混合模式的模擬-數(shù)字電路仿真器,代碼質(zhì)量檢測(cè)器等?;贛CU,它可以仿真出包括模擬元器件在內(nèi)的更多外圍設(shè)備,并具有交互式器件模擬仿真功能。

  假設(shè)有用信號(hào)2V大小的直流信號(hào),工頻干擾是峰峰值為1V,頻率為50Hz的正弦波,建立單片機(jī)AD的輸入信號(hào)表示形式如下:

  2+0.5 sin(2π×50×t)

  VMLAB通過(guò)工程文件來(lái)管理和控制各種仿真信息、硬件連接以及顯示I/O電壓波形等。根據(jù)本算法的特點(diǎn),采用Atmega16作為目標(biāo)單片機(jī),時(shí)鐘選為8MHz,建立工程文件。恰當(dāng)設(shè)置OCR0等存儲(chǔ),使計(jì)數(shù)器比較匹配中斷的時(shí)間間隔約為2ms,這樣AD的采樣頻率Fs近似認(rèn)為等于500Hz。經(jīng)過(guò)仿真,對(duì)比結(jié)果如表3。

  表3 Fs=500Hz時(shí)仿真結(jié)果對(duì)比

aDA輸出紋波峰峰值衰減幅度DA輸出均值收斂時(shí)間
0.80.36V-8.8dB1.99V約為100ms
0.850.28V-11.1dB1.99V約為120ms
0.90.2V-14dB1.98V約為145ms
0.950.1V-20dB1.95V約為210ms

  從表3可以看出:隨著α的增大,算法收斂的時(shí)間變長(zhǎng),同時(shí)50Hz對(duì)應(yīng)的衰減幅度增加,衰減的幅度值和理論推導(dǎo)基本一致。另外,當(dāng)a=0.95時(shí),DA輸出的均值變小。這主要是進(jìn)行循環(huán)迭代運(yùn)算時(shí),需要將16位的變量轉(zhuǎn)化為8位表示形式所導(dǎo)致的。在有用信號(hào)失真較小的情況下,為使濾波器達(dá)到降低工頻干擾的最佳效果,必須恰當(dāng)選擇a值。經(jīng)過(guò)以上的仿真試驗(yàn)可以發(fā)現(xiàn),當(dāng)a=0.9時(shí),衰減幅度、DA輸出均值和算法收斂時(shí)間表現(xiàn)比較均衡,可以作為一般情況下的選擇值。

  將VMLAB中虛擬示波器的顯示數(shù)據(jù)導(dǎo)出到一個(gè)*.cvs文件中,用matlab讀出這些數(shù)據(jù),并畫(huà)出不同a值對(duì)應(yīng)的輸出響應(yīng),如圖4。從圖4可以清晰看出不同a值下算法的性能變化的大致走向。

  將AD的采樣間隔設(shè)置為4ms,對(duì)應(yīng)的采樣頻率Fs就變?yōu)?50Hz,其它條件不變。通過(guò)VMLAB進(jìn)行仿真,對(duì)比結(jié)果如表4、圖5。

  表4 Fs=250Hz時(shí)不同a值仿真結(jié)果對(duì)比

aDA輸出紋波峰峰值衰減幅度DA輸出均值收斂時(shí)間
0.80.20V-14.0dB1.98V約為220ms
0.850.16V-15.9dB1.98V約為240ms
0.90.14V-17.1dB1.97V約為270ms
0.950.06V-24.4dB1.95V大于500ms

  對(duì)比Fs=500Hz的情況,隨著采樣頻率Fs降低,50Hz頻率的幅度衰減值會(huì)逐漸增加。這主要是因?yàn)殡S著采樣頻率降低,低通濾波器的截至頻率fc也隨之降低,相應(yīng)的濾波器在50Hz處的衰減也就越來(lái)越低。根據(jù)奈奎斯特低通采樣定理,當(dāng)采樣頻率小于100Hz時(shí),由于信號(hào)頻譜混疊,濾波器對(duì)50Hz信號(hào)的濾波效果將會(huì)變差。如果只是對(duì)緩變信號(hào)進(jìn)行采樣,采樣頻率比100Hz稍大即可。但是隨著采樣頻率的降低,濾波算法的收斂時(shí)間也會(huì)增加。因此必須在算法的濾波性能和收斂時(shí)間上進(jìn)行折衷考慮。

  本文提出的分配系數(shù)法設(shè)計(jì)數(shù)字濾波器,算法速度快、代碼效率高、濾波效果理想,是一種實(shí)用的數(shù)字濾波器設(shè)計(jì)方法,體現(xiàn)了將算法嵌入到具體硬件的思想。另一方面,將定點(diǎn)小數(shù)的表示形式進(jìn)行適當(dāng)擴(kuò)展,這個(gè)算法還可以用于10位或16位AD轉(zhuǎn)換精度的應(yīng)用場(chǎng)合。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

(全球TMT2022年9月29日訊)9月28日,中國(guó)廣電5G(上海)網(wǎng)絡(luò)服務(wù)精彩啟航儀式在東方明珠電視塔舉行。根據(jù)中國(guó)廣電與上海文廣集團(tuán)此次簽署的戰(zhàn)略合作協(xié)議,雙方將立足網(wǎng)絡(luò)設(shè)施、技術(shù)創(chuàng)新、內(nèi)容運(yùn)營(yíng)、市場(chǎng)營(yíng)銷及線上線下...

關(guān)鍵字: 中國(guó)廣電 網(wǎng)絡(luò) 5G HZ

(全球TMT2022年8月31日訊)浪潮信息基于全新一代AMD Milan推出了兩款A(yù)6系列單路高性能服務(wù)器,1U密集型高性價(jià)比機(jī)架式服務(wù)器NF3180A6和2U高可擴(kuò)展存儲(chǔ)優(yōu)化服務(wù)器NF3280A6。AMD Mila...

關(guān)鍵字: LAN AMD EPYC HZ

摘要:為了提高電力系統(tǒng)二次回路線纜的校線效率,開(kāi)發(fā)了一款新型電纜對(duì)線器,其具有短路檢測(cè)、線纜對(duì)線、語(yǔ)音對(duì)講等功能。現(xiàn)場(chǎng)使用結(jié)果表明,該對(duì)線器攜帶方便,操作簡(jiǎn)單,大幅提高了現(xiàn)場(chǎng)對(duì)線效率,是電力系統(tǒng)二次回路線纜對(duì)線的理想工具...

關(guān)鍵字: 電纜對(duì)線 短路檢測(cè) 工頻干擾

(全球TMT2022年4月28日訊)4月25日,國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TUV大中華區(qū)(簡(jiǎn)稱“TUV萊茵”)為南京楚航科技有限公司(簡(jiǎn)稱“楚航科技”)研發(fā)的60GHz生命體征探測(cè)雷達(dá)和77GHz前向雷...

關(guān)鍵字: 指令 毫米波雷達(dá) CE HZ

理解示波器帶寬——上升時(shí)間和信號(hào)保真度?當(dāng)示波器用戶選擇示波器進(jìn)行關(guān)鍵的測(cè)量時(shí),示波器的主要參數(shù)指標(biāo),往往是選擇哪一款示波器的唯一標(biāo)準(zhǔn)。示波器最主要的指標(biāo)參數(shù)是:帶寬采樣率記錄長(zhǎng)度?帶寬,這個(gè)指標(biāo)能告訴我們什么?模擬帶寬...

關(guān)鍵字: 示波器 帶寬 HZ 方波

北京時(shí)間 12 月 8 日凌晨(美國(guó)太平洋時(shí)間12月7日上午),在RISC-V Summit 2021大會(huì)上,賽昉科技(簡(jiǎn)稱“賽昉”)作為中國(guó)RISC-V軟硬件生態(tài)的領(lǐng)導(dǎo)者,重磅宣布了自主研發(fā)的目前全球性能最高的RISC...

關(guān)鍵字: RISC-V處理器 HZ CORE CPU

圖像匹配指在已知目標(biāo)基準(zhǔn)圖的子圖集合中,尋找與實(shí)時(shí)圖像最相似的子圖,以達(dá)到目標(biāo)識(shí)別與定位目的的圖像處理技術(shù)。由于歸一化互相關(guān)算法的實(shí)現(xiàn)方案簡(jiǎn)單,對(duì)灰度值的線性變化具有適應(yīng)性、抗白噪聲能力強(qiáng),以及匹配性能穩(wěn)定的特點(diǎn),已成為...

關(guān)鍵字: ts201 圖像 嵌入式開(kāi)發(fā) 快速算法

火焰探測(cè)報(bào)警器圖所示的是采用硫化鉛光敏電阻作為探測(cè)元件的火焰探測(cè)報(bào)警器電路圖。ADS7871IDB硫化鉛光敏電阻的暗電阻為lMfl,亮電阻為0.2Mfl(光照度0.01 W/rri2下測(cè)試的),

關(guān)鍵字: 報(bào)警器 光敏電阻 HZ 放大器

致力于亞太地區(qū)市場(chǎng)的領(lǐng)先電子元器件分銷商—大聯(lián)大控股宣布,其旗下品佳推出滿足汽車(chē)行業(yè)動(dòng)力總成和安全應(yīng)用的各種要求的Infineon全新32位多核單片機(jī)系列產(chǎn)品---AURI

關(guān)鍵字: 控制平臺(tái) INFINEON 車(chē)身控制 HZ

德州儀器(TI)(NASDAQ: TXN)日前宣布推出其SimpleLink™超低功耗平臺(tái)的下一代器件,致力于幫助用戶將超低功耗和遠(yuǎn)程連通性輕松添加至他們的物聯(lián)網(wǎng)(IoT)設(shè)計(jì)中。全新的

關(guān)鍵字: TI HZ CC1310 SIMPLELINK

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉