才源 陳瑞國 劉忠 趙廣忠 劉居輝
【摘 要】本文主要介紹了一種應用于高壓電塔接地防雷測試裝置的數(shù)字信號處理系統(tǒng),介紹該數(shù)字信號處理系統(tǒng)的原理實現(xiàn)過程,設計方法。這些配置可根據(jù)STM32F4數(shù)據(jù)手冊進行配置。調(diào)試此系統(tǒng)時可借助MATLAB工具,由于MATLAB具有強大的計算能力以及仿真能力,是數(shù)字信號處理中非常有用。
【關鍵詞】數(shù)字信號處理 接地 防雷
【Abstract】This paper describes a high-voltage tower grounding lightning protection applies to test device digital signal processing system, to introduce the principle of digital signal processing systems process design methods.
【Key words】Digital Signal Processing,Grounding,Lightning
1 數(shù)字信號處理簡介
數(shù)字信號處理(DigitalSignal Processing,簡稱 DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。數(shù)字信號處理是利用計算機或專用處理設備,以數(shù)字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。數(shù)字信號處理已經(jīng)在通信等領域得到極為廣泛的應用。
2 數(shù)字信號處理技術對管線定位系統(tǒng)的意義
高壓電塔接地防雷測試裝置是根據(jù)電磁感應的原理來設計的,主要由發(fā)射機和接收機兩部分構成。發(fā)射機將特定頻率電磁信號加在地下埋藏線上,由地下埋藏線產(chǎn)生二次感應電磁場。接收機與配套的發(fā)射機一起使用,接收機通過接收由發(fā)射機經(jīng)地下埋藏線產(chǎn)生的特定頻率的電磁信號,通過分析和計算可以得出地下管線的位置和埋藏深度。在接收機將線圈的模擬信號經(jīng)ADC采集轉換為數(shù)字信號,然后將數(shù)據(jù)經(jīng)過數(shù)字信號處理得到線圈感應磁場的強度并進行分析判斷。數(shù)字信號處理質(zhì)量結果在此裝置中尤為重要。
3 數(shù)字信號處理器的選擇
該系統(tǒng)選用STM32F407系列處理器,其CPU主頻達到168MHz,自帶3*12bitADC,單個ADC采樣速度達到2.4MSPS,滿足本系統(tǒng)采樣速率 所需,這款是ARM公司推出的 Cortex-M4F 內(nèi)核是帶有 FPU,DSP 和 SIMD 單元的見圖1,針對這些單元也增加了專用指令,并且官方對此也有專門的庫以方便客戶調(diào)用,這是區(qū)別于Cortex-M3系列的。Cortex-M3以及以下的版本由于沒帶FPU,DSP和SIMD單元,其處理方式主要由程序來處理,其速度遠達不到要求,
只能用來做測試使用,與實際運用相差甚遠。
以下圖2為不同情況下FFT的實現(xiàn)所需要的時間對比:
由上圖2可知STM32F407在開啟FPU功能時對數(shù)字信號處理速度有很好的提高。
4 數(shù)字信號處理系統(tǒng)處理流程
如圖3所示。
4.1 信號預處理模塊
線圈接收到的信號較弱,要經(jīng)過信號預處理,信號預處理主要是講信號放大。本信號預處理模塊采用AD8231數(shù)字可編程儀表放大器,其放大倍數(shù)為1,2,4,8,16,32,64,128倍軟件可編程增益,還包含一個通用運放放大器,提供額外的增益。由于STM32F407的ADC采集為單電源采集方式,其采集范圍為0~3.3V所以信號預處理時提供的基準電壓VRef為采集最大電壓1/2,即為1.65V,將信號上拉至1.65V給ADC采集,保證采樣信號完整性,CPU判斷數(shù)據(jù)可為信號預處理模塊提供不同的增益以提高采集精度。
4.2 ADC采集數(shù)據(jù)
STM32F407有三個12bit ADC,單個采樣速率2.4MSPS,3個一共開啟采集速度可達7.2MSPS采樣率。由于發(fā)射機最高頻率為30K,根據(jù)奈奎斯特采樣定理可知采樣速度要達到采樣頻率的2倍以上可還原信號,系統(tǒng)采用2^N采樣倍數(shù)進行采樣,采樣點數(shù)為1024個,當采樣點數(shù)達到1024個時進行FFT變換處理,得出所需要的值,N=3時為8倍的采樣速率,所以單個ADC采樣為240KSPS再乘以8路信號,一共是1.92MSPS小于2.4MSPS滿足要求。
系統(tǒng)采用ADC1,其頻率設置為:
PCLK2 = HCLK / 2
ADCCLK = PCLK2 /2 = HCLK / 4 = 168 / 4 = 42M
但是ADCCLK最大頻率為36M,所以ADCCLK只能為36M
Sampling Time + Conversion Time = 3 + 12 cycles = 15cyc
Conversion Time = 36MHz / 15cyc = 2.4MSPS
通道數(shù)為8通道,12bit的采樣位數(shù),通道為ADC_Channel_1~ ADC_Channel_8八個采樣通道,采用DMA傳輸至定義好的數(shù)組中ADCConvertedValue[8*1024],數(shù)組大小為8*1024.其存放順序是1-8重復存放,每次采樣由TIM1定時器觸發(fā),當采樣數(shù)達到8*1024時將ADCConvertedValue[8*1024]分別拆分在八路信號的數(shù)組中ADCConvertedValue1_in[1024]~ ADCConvertedValue8_in[1024],配置DMA滿時中斷即可對數(shù)據(jù)進行處理。
4.3 數(shù)據(jù)進行數(shù)字信號處理
數(shù)字信號處理部分采用傅立葉變換,傅立葉變換是一種分析信號的方法,它可分析信號的成分,也可用這些成分合成信號。許多波形可作為信號的成分,比如正弦波、方波、鋸齒波等,傅立葉變換用正弦波作為信號的成分。
連續(xù)形式的傅里葉變換其實是傅里葉級數(shù)的推廣,因為積分其實是一種極限形式的求和算子而已。對于周期函數(shù),它的傅里葉級數(shù)(Fourier series)表示被定義為:
其中 T 為函數(shù)的周期,F(xiàn)n 為傅里葉展開系數(shù),F(xiàn)n為:
對于實值函數(shù),其里葉級數(shù)可以寫成:
其中 an 和 bn 是實頻率分量的振幅,由理論可知,一個周期的信號是由無窮個正余弦波疊加而成的,當要得到某種信號的幅度時,信號經(jīng)過傅里葉變換取得對應頻率的幅值。
當采樣頻率為Fs,采樣信號頻率f,采樣點數(shù)為N,F(xiàn)s一般為f的2^n倍,n為正整數(shù),其得到采樣信號分辨率為Fs/N,例如:Fs=1024HZ,N=1024,f=256HZ,其分辨率為1024HZ/1024=1HZ,分辨率隨著采樣點數(shù)增加而增加,由于分辨率為1HZ,所以f為傅里葉變換的第257個點,第一點為直流分量,傅里葉變換得出的幅值K,轉換為信號的幅值公式為:直流分量幅值=K/N,交流分量幅值=K/(N/2)。
以下使用本系統(tǒng)最大頻率進行說明,其它頻率也一致:
由于采樣頻率為240K,采樣點數(shù)為1024,其分辨率為240KHZ/1024=234.375HZ,當發(fā)射機發(fā)射信號為30K時,此時FFT變換的所得的模值最大為30K所在的位置,即30KHZ/234.375=128,即第129個值為最大值。
用到STM32F4庫函數(shù)為:
cr4_fft_1024_stm32(ADCConvertedValue1_out[1024], ADCConvertedValue1_in[1024], 1024);//將ADC采樣回來的值進行FFT變換,這是為DSP庫自帶的處理函數(shù)
這個匯編的FFT庫是來自STM32F10x DSP library,由于是匯編實現(xiàn)的,而且是基4算法,所以實現(xiàn)FFT在速度上比較快。
如果x[N]是采樣信號的話,使用FFT時必須滿足如下兩條:
(1)N得滿足4n(n =1,2, 3…..),也就是以4為基數(shù)。
(2)采樣信號必須是32位數(shù)據(jù),高16位存實部,低16位存虛部(這個是針對大端模式),小端模式是高位存虛部,低位存虛部。一般常用的是小端模式。
此時,我們將其中的一路信號串口打印輸出,放到MATLAB上仿真可得如下:
MATLAB參數(shù)如下
>> N=1024;
>> n=0:N-1;
>>x=將串口打印出來數(shù)據(jù)存放在此處;
>>y=fft(x);
>> M=abs(y);
>> plot(n,M);
得到如下圖4所示。
這時可在MATLAB workplace查看M的值如下圖5所示。
可以見到第129個點的值為3.0732*10^5,即此處為30K頻率所在位置,與理論得出結果相似,將此時得到值3.0732*10^5/(N/2)=600.234單位為mv,即為線圈感應到的電壓值。將示波器搭在ADC采樣前端并開啟濾波功能,得到的峰峰值為590mv與數(shù)字信號處理得出結果相仿??芍獢?shù)字信號處理正確。
4.4 CPU判斷處理后數(shù)據(jù)
將八路信號處理過數(shù)據(jù)進行管線定位和深度的算法計算,并控制增益等。
5 結語
電壓電塔接地防雷測試裝置的數(shù)字信號處理系統(tǒng)關鍵在于ADC采集配置,8路ADC采集所需的時間較長,STM32F4系列的采樣頻率剛好滿足所需要的速度,并且自帶的DSP單元大大提高計算效率,其采樣頻率可由定時器來控制,數(shù)據(jù)傳輸采用DMA,DMA設置中斷,當采樣數(shù)據(jù)滿時觸發(fā)中斷進行數(shù)字信號處理。這些配置可根據(jù)STM32F4數(shù)據(jù)手冊進行配置。調(diào)試此系統(tǒng)時可借助MATLAB工具,由于MATLAB具有強大的計算能力以及仿真能力,是數(shù)字信號處理中非常有用。