高精度數(shù)字失真度測量儀的設(shè)計
0引言
本文引用地址:http://m.butianyuan.cn/article/82232.htm通信系統(tǒng)中采用的許多算法和技術(shù)都是在線性系統(tǒng)的前提下研究和設(shè)計的,一定頻率的信號通過這些網(wǎng)絡(luò)后,往往會產(chǎn)生新的頻率分量,稱之為該網(wǎng)絡(luò)的線性失真。失真度分析采取的常用方法有基波抑制法和諧波分析法兩種。
基波抑制法通常用在模擬失真度測量儀中,原理是采用具有頻率選擇性的無源網(wǎng)絡(luò)(如諧振電橋、雙T陷波網(wǎng)絡(luò)等)抑制基波,由信號總功率和抑制基波后的信號功率計算出失真度。理想的基波抑制器應(yīng)完全濾除基波,又不衰減任何其他頻率。但實際上,基波抑制器對基波衰減抑制只能達(dá)到-60 dB~-80 dB,對諧波卻損耗0.5 dB~1.0 dB。這種方式的失真度儀的性能主要依賴于硬件設(shè)計,調(diào)試和校準(zhǔn)工作煩瑣,一般只能實現(xiàn)固定1個或幾個頻率的失真度測量,其測量誤差隨著失真度降低而加大,并且隨著器件老化,電路的穩(wěn)定性和可靠性降低。
諧波分析法類似于頻譜分析,通常是借助數(shù)字方式的以FFF(快速傅里葉變換)為基礎(chǔ)的算法,或者采用模擬方式的選頻測量方法,從而獲得基波和各次諧波的功率,計算出失真度。模擬選頻方式的失真度分析儀性能高,但硬件電路復(fù)雜。數(shù)字方式的失真度分析對硬件的設(shè)計要求降低,其性能主要決定于A/D轉(zhuǎn)換的精度和數(shù)字信號處理算法。僅僅采用FFT來分析失真度是遠(yuǎn)遠(yuǎn)不夠的,因為測量精度與其運(yùn)算量、存儲空間的大小和測量速度存在明顯的矛盾。 針對以上失真度測量方法的不足,本文以數(shù)字諧波分析法為基礎(chǔ),提出了基于DFT(離散傅里葉變換)和過零檢測法的失真度分析算法,不僅可滿足高精度和任意頻率的測試需求,還可降低硬件設(shè)計復(fù)雜度。
1失真度算法研究
1.1算法分析
失真度定義為:
式中:u1,u2,…,uM分別為被測頻率的基頻、二次諧波、…、M次諧波分量的幅度有效值;E1,E2,…,EM為基頻和諧波分量的能量,一般M=5或7。
從失真度定義來分析,要測量信號的失真度,只須設(shè)法將被測信號的基波與諧波分離,分別測出它們各自的功率或電壓有效值,代入式(1)即可。
DFT在DSP中通常用于對平穩(wěn)信號的頻譜估計,在應(yīng)用中,將輸入信號截短,得到的行向量X=x(n)與一個相同長度的正弦信號W=w(n)相乘積分,可得到向量X中含有正弦信號W的分量。所以,如果向量W的頻率等于失真度測量的各個頻率分量和它們的正交分量,則可以計算出輸入信號中包含第m次諧波的能量Em:
將式(2)值代人式(1)就可得到失真度值。
在工程測量中,被測信號的頻率往往未知,而DFT計算時是確定的頻率,所以應(yīng)給W提供準(zhǔn)確的頻率,而且W的頻率預(yù)測越準(zhǔn)確,能量計算也越精確。
為了準(zhǔn)確找到基頻,對采樣信號采用過零檢測法來測量頻率,為避免噪聲干擾,設(shè)置零幅度帶,每通過零幅度帶即為過零一次。被測信號頻率由fx=N/T得到,T為時間基準(zhǔn),N為T內(nèi)過零點數(shù)。過零檢測法測頻雖準(zhǔn)確度較高,但是在標(biāo)準(zhǔn)的時間基準(zhǔn)T中如10 ms、0.1 s、1 s等,由于被測信號與門控信號不可能同步鎖定,所以存在固有的±1量化誤差。本系統(tǒng)中如果選用1 s做時間基準(zhǔn)的話,實時性不夠。因此綜合考慮實時性、存儲量、處理速度之間的關(guān)系,選擇T=0.1 s作為時間基準(zhǔn)。這時±1誤差被擴(kuò)大10倍,為±10 Hz。為解決±1量化誤差,使用以過零測頻為中心,固定帶寬(30 Hz)內(nèi)最大值能量搜索辦法(二分法)尋找基頻能量最大值,經(jīng)過5~7次迭代可得到準(zhǔn)確的基頻。然后直接使用此基頻得到各次諧波的準(zhǔn)確頻率,并將基頻和諧波頻率提供給W,使用DFT就可直接估計基頻和各高次諧波能量,完成失真度計算。
1.2仿真結(jié)果分析
使用MATLAB對上述算法進(jìn)行仿真。設(shè)輸入信號基頻為1 kHz,并在±30 Hz范圍內(nèi)隨機(jī)變動,信噪比20 dB,采樣速率為44×103次采樣/s,計算到7次諧波能量,基頻能量二分法搜索帶寬為30 Hz。最大值搜索時,當(dāng)能量變化小于0.1%時終止,序列運(yùn)算長度1 024個采樣點,使用平方漢寧(Hanning)窗減少頻譜泄漏。按這些條件,對500次具有隨機(jī)頻偏和失真特性的輸入信號進(jìn)行算法仿真。結(jié)果如圖1所示。
仿真結(jié)果表明,采用上述條件時,頻率計算誤差控制在1 Hz以下(見圖1(a));失真度誤差能控制在1%以下(見圖1(b))。如果終止條件更嚴(yán)格,測量精度可以更高。通過仿真還發(fā)現(xiàn),當(dāng)基頻搜索時能量變化小于0.01%時終止,失真度測量誤差可小于0.1%(見圖1(d))。為使失真度算法更有效率,本系統(tǒng)采用能量變化小于0.1%時終止。
2數(shù)字失真度測量儀硬件結(jié)構(gòu)
該系統(tǒng)硬件結(jié)構(gòu)如圖2所示。測量儀主要由信號調(diào)理、低通濾波、數(shù)據(jù)采集系統(tǒng)、主控制器AVR單片機(jī)(Atmega64L)、DSP(數(shù)字信號處理器)等模塊組成。
2.1信號調(diào)理和低通濾波模塊
信號調(diào)理和低通濾波的功能是對信號的幅度進(jìn)行調(diào)理和濾波。信號的輸入范圍是不定的,小信號信噪比較低,大信號會引起A/D轉(zhuǎn)換器對信號進(jìn)行限幅而失真,所以采用數(shù)控可變增益放大器對信號輸出電壓范圍進(jìn)行調(diào)整,將信號的幅度控制在A/D轉(zhuǎn)換器的滿幅度附近。保證A/D轉(zhuǎn)換器采集到的波形數(shù)據(jù)最大值僅占A/D轉(zhuǎn)換器不失真輸入范圍的80%。低通濾波為20 kHz低通濾波器,其0.1 dB帶寬為18 kHz,能有效濾除高頻信號,同時保證較好的帶內(nèi)平坦度。
2.2數(shù)據(jù)采集模塊
作為測量儀器要得到高精度的測量結(jié)果,要求A/D轉(zhuǎn)換器的精度必須足夠高。系統(tǒng)采用了TI公司的24 bit工業(yè)A/D轉(zhuǎn)換器ADS1271,它可以得到低的漂移、極低的量化噪聲。經(jīng)ADS1271采樣后的數(shù)據(jù)由DOUT引腳串行輸出,與TMS320C6713的多通道緩沖串口McBSP直接相連。McBSP可支持字長為24 bit的數(shù)據(jù),可直接接收A/D轉(zhuǎn)換器輸出的24 bit串行數(shù)據(jù),并自動將接收數(shù)據(jù)中的數(shù)據(jù)位調(diào)整為DSP需要的格式。A/D轉(zhuǎn)換器采樣速率為44×103次采樣/s。A/D轉(zhuǎn)換器的采樣脈沖信號由DSP的定時器提供。
2.3數(shù)據(jù)處理模塊
DSP模塊以TMS320C6713芯片為核心。該芯片是TI公司推出的一款高性能浮點DSP,內(nèi)核包含了8個功能單元,采用先進(jìn)的VLIW(甚長指令字)結(jié)構(gòu),使得DSP在單周期內(nèi)能夠執(zhí)行多條指令。在225 MHz的時鐘頻率下,其最高執(zhí)行速度可以達(dá)到1350×106次浮點運(yùn)算/s。它還集成了豐富的片內(nèi)外設(shè)單元,本系統(tǒng)主要用到的有HPI、EDMA和定時器。
主機(jī)接口為HPI,外部主機(jī)可以直接訪問內(nèi)部的存儲器和存儲器映像存儲器,TMS320C6713的HPI通過EDMA控制器實現(xiàn)對DSP存儲空間的訪問,本系統(tǒng)中Atmega64L是主機(jī),可以直接配置TMS320C6713的EDMA定時器,節(jié)省TMS320C6713的查詢周期。ED-MA(增強(qiáng)型直接存儲器訪問)是C621x/C671x/C64x系列DSP特有的訪問方式,其啟動可以由內(nèi)部或外部事件觸發(fā),本系統(tǒng)采用外部觸發(fā)。
2.4外圍設(shè)備
失真度測試系統(tǒng)的控制和結(jié)果顯示通過標(biāo)準(zhǔn)RS-232接口完成。因此該數(shù)字失真度測量儀可以作為一個獨立測量模塊集合在其他綜合測試儀中。
2.5控制模塊
主控制器使用Atmega64L單片機(jī),完成系統(tǒng)的控制。DSP的處理結(jié)果由主控制器通過HPI接口獲得,并緩存在內(nèi)存中;當(dāng)外部命令讀取測試結(jié)果時,再通過RS-232接口發(fā)送出去??刂颇K還完成系統(tǒng)的低功耗控制、DSP運(yùn)行模式等控制。
3軟件實現(xiàn)
圖3是TMS320C6713芯片的軟件流程圖。該芯片受Atmega64L控制。Atmega64L根據(jù)RS-232接口獲得指令,然后根據(jù)指令參數(shù)來控制儀器的運(yùn)行。TMS320C6713可執(zhí)行兩種操作:一種是自動測量,首先對采集數(shù)據(jù)使用過零法粗測頻率,然后把粗測頻率作為參數(shù)傳遞給失真度測量程序,由失真度計算程序完成測量;另一種是定頻測量,把Atmega64L傳遞來的頻率參數(shù)直接傳遞給失真度測量程序完成失真度的測量,而不需要事先測量頻率。
失真度測量程序設(shè)有一個入口參數(shù)fmiddle,以此參數(shù)為中心頻率在帶寬30 Hz內(nèi)使用最大值搜索法找尋準(zhǔn)確的基頻頻率并完成失真度計算,返回值是實際測量的基頻頻率、信號電平、失真度。
DSP處理完數(shù)據(jù)后,把測試結(jié)果緩存在內(nèi)存中,單片機(jī)根據(jù)指令通過HPI接口讀取測試結(jié)果。
4性能分析
測量速度是決定儀器實用性的重要因素。每計算一次失真度,基頻能量二分法最大值搜索時一般需要5~7次迭代,每次迭代含3次向量乘法(2次乘法,2次加法),取10次迭代需要30次向量乘累加操作、生成30個W向量;剩余6次諧波計算需要6個W向量,合計36個W向量。
W向量的生成如果采用直接調(diào)用庫函數(shù),運(yùn)送量太大,而采用迭代方法實現(xiàn)的效率更高。由三角變換公式:
只需調(diào)用庫函數(shù)運(yùn)算得到cos ωT,sin ωT這兩個基本函數(shù)值,就可得到整個W向量,每個點生成需4次乘法和2加法。因此系統(tǒng)采用1024點完成失真度計算一次共需:1024×4×36+1024×6×36=368 640次運(yùn)算,對于1350×106條指令/s的DSP來說,耗時約0.3 ms。加上數(shù)據(jù)存儲,小運(yùn)算量消耗時間,除去操作控制時間,總耗時控制在1 ms內(nèi),能滿足實時要求。
實驗結(jié)果表明,頻率測量范圍為20 Hz~20 kHz,頻率誤差±1 Hz;經(jīng)校準(zhǔn)后,電平測量范圍10mV~10 V,誤差±0.4 dB;失真度在頻率100 Hz~3 kHz區(qū)間,測量范圍-5 dB~-45 dB,測量誤差±0.2 dB。
5結(jié)束語
本文提出了一種基于DFT的失真度測量算法,并通過TMS320C6713實現(xiàn)了數(shù)字失真度測量儀。該失真度測量儀硬件設(shè)計簡單,易調(diào)試,測量結(jié)果準(zhǔn)確,具有自動測量和選頻測量特性,不僅可作為單一失真度測量儀,還可作為失真度分析模塊與其他性能分析模塊通過標(biāo)準(zhǔn)總線相連,組成綜合測試儀,可避免重復(fù)設(shè)計,節(jié)約成本,應(yīng)用前景廣泛。
低通濾波器相關(guān)文章:低通濾波器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理 網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理
評論