?

一種周期信號波形識別及參數測量裝置的設計

2022-08-12 09:30殷理杰張文初魏麗君
工業儀表與自動化裝置 2022年4期
關鍵詞:正弦波倍數波形

殷理杰,張文初,魏麗君

(湖南鐵道職業技術學院,湖南 株洲 412001)

0 引言

在信號處理中,對周期信號的參數進行測量具有非常重要的意義。在測量數值參數時,如果能準確的對波形的類型進行識別,便能夠針對該類波形的特點,采取更為合適的采樣、數值計算策略,從而能夠改善參數的測量精度。

該文以STM32為主控完成了一個能夠對周期信號波形進行識別并測量參數的裝置。為拓寬被測信號范圍,使用2級4檔放大電路做信號調理,使得裝置的測量范圍提升到50 mVpp~10 Vpp,頻率1 Hz~50 kHz。最大值、最小值、峰峰值、有效值、頻率等主要測量參數誤差不大于1%。

1 整體方案設計

裝置整體框圖如圖1所示。2級放大器、鉗位及比較器直接使用一個4運放LF347實現。放大倍數的調整通過模擬開關CD4052切換不同的反饋電阻實現。參數顯示使用320×240分辨率的TFT屏。主控芯片為STM32F103VE,豐富的外設資源能夠滿足本裝置的設計需求。鉗位電路將連接STM32F103VE的片上ADC接口,比較器輸出將連接片上定時器輸入IO,以便使用片上資源完成相應功能。

圖1 整體框圖

2 硬件電路設計

為滿足1 Hz~50 kHz、50 mVpp~10 Vpp的采樣需求,需要設計程控增益放大器,使得輸出信號最大值不大于3.3 V,最小值不小于0 V,以滿足STM32F103片上ADC的采樣需求。該文中設計一個2級4檔位放大倍數放大器,如圖2所示。

圖2 放大器電路圖

由于LF347的增益帶寬為4 MHz,當需要放大10倍時,其通頻帶僅為400 kHz,對50 kHz信號進行放大時,必然丟失高頻分量,導致波形失真。因此,設計采用2級放大形式,第一級(U1A)最大放大倍數為3.3倍時,通頻帶約為1.21 MHz,第二級(U1B)固定放大3.03倍時,通頻帶約為1.32 MHz。采用2級放大電路設計后,能夠顯著降低高頻信號放大的失真。

在第一級放大電路中,反饋電阻通過模擬開關CD4052選擇,最大放大倍數3.3,最小放大倍數0.068。與第二級放大電路組合后,最小放大倍數為0.22,最大放大倍數為10。

當輸入信號在峰峰值范圍為3~10 V時,使用0.22倍檔位,輸出信號范圍0.66~2.2 Vpp;輸入信號在500 mVpp~3 Vpp時,選用1倍放大;輸入信號在100~500 mVpp時,選用3.63倍放大,輸出信號范圍為363 mVpp~1.815 Vpp;輸入信號在50~100 mVpp時,選用10倍放大,輸出信號的范圍為500 mVpp~1 Vpp。

輸入信號為雙極性信號時,需要通過添加直流偏置,時被采樣信號不小于0 V。該部分功能使用U1D電路實現。為便于測頻,通過U1C組成的比較器,將任意波形轉變成矩形波,并確保最小值不小于0 V。

輸入信號為50 mVpp和50 kHz正弦波時,經過電路得到的波形如圖3所示。

圖3 實測波形

3 軟件設計

3.1 頻率測量

被測信號轉換成矩形波后,可直接使用STM32F103的PWM輸入模式,能夠準確的測量頻率和占空比。由于被測信號頻率范圍寬,需要進行分檔測量。對于200 Hz以上的信號,使用12 MHz的計數頻率;小于200 Hz的信號,使用10 kHz的計數頻率。

當計數頻率與被測頻率較為接近時,定時器的CCR1和CCR2的值比較接近,此時測頻誤差較大,應切換為高采樣頻率。當被測頻率太低時,由于不能監測到合適的邊沿停止計數,因此會觸發定時器的溢出中斷,此時需要降低計數頻率。測頻部分程序流程圖如圖4所示。

圖4 測頻程序流程圖

3.2 信號采樣

為保證ADC的輸入信號不大于3.3 V,STM32F103初始化后默認將放大倍數設置為0.22。完成一次采樣后,計算被測信號的幅度,并選擇合適的放大倍數,使輸入信號的電壓范圍盡量在500 mV~2 V范圍內。

采樣使用ADC的DMA模式完成,ADC的外部觸發轉換信號為TIM3的更新事件。設置TIM3的分頻系數和計數個數,則能夠對采樣頻率進行設置。由于采樣頻率范圍廣,因此需要根據測得的被測信號頻率,選擇合適的采樣頻率。為了能夠更好的恢復被采樣信號,采樣頻率不低于被測信號頻率的20倍,即每個周期不少于20個采樣點,并設定一次采樣長度為1000個采樣點。采樣頻率與被測信號頻率如表1所示。

表1 被測信號頻率與采樣頻率對照表

STM32F103片上ADC的最快轉換速度為1 μs,即1 MHz,因此使用傳統方式按20倍于被測信號的采樣頻率,50 kHz被測信號已是能夠采樣的最高頻率。如果需要對超過50 kHz的周期信號進行采樣,則可以使用多周期采樣。簡而言之,就是在每個周期內,僅完成一個采樣點的采樣,20個周期后,則可以恢復出周期信號。如圖5所示,被測信號周期為,假設為第一個采樣時刻,則第二個采樣時刻為,即為所在位置。使用多周期采樣,能夠使用轉換速率較低的ADC完成對高頻周期信號的有效采樣。

圖5 多周期采樣示意圖

為確認采樣的正確性,將STM32F103采樣的數據通過串口發送到PC,并通過Excel繪制出波形。如圖6所示為使用多周期采樣策略對50 kHz正弦波進行采樣,等效采樣頻率1.25 MHz。

圖6 多周期采樣50 kHz信號波形

3.3 波形識別

采樣完成后,可計算出被測信號有效值,通過計算有效值與幅度之比,可辨別正弦波、三角波、正弦波。但是,這種傳統的識別方法對采樣的精度要求非常高,同時也對信號調理電路的精度提出了很高的要求,有效值和幅度存在少量變差時,就會影響波形識別的準確性。此外,該種方式不能很好的識別三種基礎波形以外的波形。

波形識別本質上屬于分類問題,是機器學習中最簡單的問題。為提高波形識別的抗干擾能力,引入機器學習中的k最鄰近(kNN)算法用于波形識別。kNN算法的思路非常簡單:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別[]。波形識別時,每個采樣點都可以認為是一個特征點,因此kNN算法能夠應用于波形識別。

將被識別信號經過幅度和頻率的歸一化后,可以求其與模板波形的距離,根據kNN的思想,被識別信號與距離最小的模板具有相同的波形,由此完成波形識別。

為驗證算法的可行性,使用Matlab生成了5種波形模板,如圖7(a)所示。增加期望為0.1的正態分布隨機數作為噪聲到波形模板,如圖7(b)所示,用于模擬待識別波形。

圖7 測試波形圖

經過kNN計算后,可得到如圖8所示結果。橫坐標為模板編號,1為正弦波,2為三角波,3為矩形波,4為鋸齒波,5為階梯波。加擾正弦波與正弦波模板距離最近,即最為匹配,與三角波也比較接近,但還是顯著大于與正弦波的距離,與矩形波的距離已超過坐標范圍。加擾三角波、加擾矩形波、加擾鋸齒波、加擾階梯波都能被準確識別出,故確認了kNN算法用于波形識別的可行性,且該方法可推廣用于各類波形識別,只需準備相應模板即可。

圖8 kNN識別結果

此外,算法在實施過程中,可省略距離計算中的開平方運算,以此減小運算量,提高識別速度。

4 實驗測試

為驗證裝置的實際測試效果,對頻率及波形識別測試結果如表2所示。峰峰值測試結果如表3所示。對50 kHz和2 Vpp正弦波進行測量的實物圖如圖9所示。

表2 頻率及波形識別測試

表3 峰峰值測試

圖9 實物圖

5 結論

經過設計,完成了模擬信號采集電路、4檔位2級放大電路,通過多周期信號采樣策略以及kNN算法,實現了對周期信號進行波形識別及參數測量。經過反復實驗,該裝置能夠對50 mVpp~10 Vpp,1 Hz~50 kHz信號的參數進行有效測量,且誤差不超過1%,很好地達到了預期效果。

猜你喜歡
正弦波倍數波形
同樣是倍數,為啥還不同
基于時域波形掩護的間歇采樣干擾對抗研究
基于Halbach陣列磁鋼的PMSM氣隙磁密波形優化
采用BC5016S的純正弦波逆變器設計及制作
用于SAR與通信一體化系統的濾波器組多載波波形
全新邁騰B7L車噴油器波形測試
倍數魔法
超音頻正弦波電子管放大器燈絲伺服電路的設計
基于STM32的風力擺控制系統的設計
如何表達常用的倍數
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合