<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 高精度數(shù)字失真度測量儀的設計

          高精度數(shù)字失真度測量儀的設計

          作者:戴振華,徐運濤,陸鋒 時間:2008-05-07 來源:《電子工程師》 收藏

            0引言

          本文引用地址:http://www.ex-cimer.com/article/82232.htm

            通信系統(tǒng)中采用的許多算法和技術都是在線性系統(tǒng)的前提下研究和設計的,一定頻率的信號通過這些網(wǎng)絡后,往往會產(chǎn)生新的頻率分量,稱之為該網(wǎng)絡的線性失真。分析采取的常用方法有法和法兩種。

            法通常用在模擬測量儀中,原理是采用具有頻率選擇性的無源網(wǎng)絡(如諧振電橋、雙T陷波網(wǎng)絡等)抑制基波,由信號總功率和抑制基波后的信號功率計算出。理想的器應完全濾除基波,又不衰減任何其他頻率。但實際上,基波抑制器對基波衰減抑制只能達到-60 dB~-80 dB,對諧波卻損耗0.5 dB~1.0 dB。這種方式的失真度儀的性能主要依賴于硬件設計,調(diào)試和校準工作煩瑣,一般只能實現(xiàn)固定1個或幾個頻率的失真度測量,其測量誤差隨著失真度降低而加大,并且隨著器件老化,電路的穩(wěn)定性和可靠性降低。

            法類似于頻譜分析,通常是借助數(shù)字方式的以(快速傅里葉變換)為基礎的算法,或者采用模擬方式的選頻測量方法,從而獲得基波和各次諧波的功率,計算出失真度。模擬選頻方式的失真度分析儀性能高,但硬件電路復雜。數(shù)字方式的失真度分析對硬件的設計要求降低,其性能主要決定于A/D轉(zhuǎn)換的精度和數(shù)字信號處理算法。僅僅采用FFT來分析失真度是遠遠不夠的,因為測量精度與其運算量、存儲空間的大小和測量速度存在明顯的矛盾。 針對以上失真度測量方法的不足,本文以數(shù)字法為基礎,提出了基于DFT(離散傅里葉變換)和過零檢測法的失真度分析算法,不僅可滿足高精度和任意頻率的測試需求,還可降低硬件設計復雜度。

            1失真度算法研究

            1.1算法分析

            失真度定義為:

                 

            式中:u1,u2,…,uM分別為被測頻率的基頻、二次諧波、…、M次諧波分量的幅度有效值;E1,E2,…,EM為基頻和諧波分量的能量,一般M=5或7。
          從失真度定義來分析,要測量信號的失真度,只須設法將被測信號的基波與諧波分離,分別測出它們各自的功率或電壓有效值,代入式(1)即可。

            DFT在DSP中通常用于對平穩(wěn)信號的頻譜估計,在應用中,將輸入信號截短,得到的行向量X=x(n)與一個相同長度的正弦信號W=w(n)相乘積分,可得到向量X中含有正弦信號W的分量。所以,如果向量W的頻率等于失真度測量的各個頻率分量和它們的正交分量,則可以計算出輸入信號中包含第m次諧波的能量Em:

                  

            將式(2)值代人式(1)就可得到失真度值。 

            在工程測量中,被測信號的頻率往往未知,而DFT計算時是確定的頻率,所以應給W提供準確的頻率,而且W的頻率預測越準確,能量計算也越精確。

            為了準確找到基頻,對采樣信號采用過零檢測法來測量頻率,為避免噪聲干擾,設置零幅度帶,每通過零幅度帶即為過零一次。被測信號頻率由fx=N/T得到,T為時間基準,N為T內(nèi)過零點數(shù)。過零檢測法測頻雖準確度較高,但是在標準的時間基準T中如10 ms、0.1 s、1 s等,由于被測信號與門控信號不可能同步鎖定,所以存在固有的±1量化誤差。本系統(tǒng)中如果選用1 s做時間基準的話,實時性不夠。因此綜合考慮實時性、存儲量、處理速度之間的關系,選擇T=0.1 s作為時間基準。這時±1誤差被擴大10倍,為±10 Hz。為解決±1量化誤差,使用以過零測頻為中心,固定帶寬(30 Hz)內(nèi)最大值能量搜索辦法(二分法)尋找基頻能量最大值,經(jīng)過5~7次迭代可得到準確的基頻。然后直接使用此基頻得到各次諧波的準確頻率,并將基頻和諧波頻率提供給W,使用DFT就可直接估計基頻和各高次諧波能量,完成失真度計算。

            1.2仿真結(jié)果分析

            使用MATLAB對上述算法進行仿真。設輸入信號基頻為1 kHz,并在±30 Hz范圍內(nèi)隨機變動,信噪比20 dB,采樣速率為44×103次采樣/s,計算到7次諧波能量,基頻能量二分法搜索帶寬為30 Hz。最大值搜索時,當能量變化小于0.1%時終止,序列運算長度1 024個采樣點,使用平方漢寧(Hanning)窗減少頻譜泄漏。按這些條件,對500次具有隨機頻偏和失真特性的輸入信號進行算法仿真。結(jié)果如圖1所示。

                 

            仿真結(jié)果表明,采用上述條件時,頻率計算誤差控制在1 Hz以下(見圖1(a));失真度誤差能控制在1%以下(見圖1(b))。如果終止條件更嚴格,測量精度可以更高。通過仿真還發(fā)現(xiàn),當基頻搜索時能量變化小于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單片機(Atmega64L)、DSP(數(shù)字信號處理器)等模塊組成。

                 

            2.1信號調(diào)理和低通濾波模塊

            信號調(diào)理和低通濾波的功能是對信號的幅度進行調(diào)理和濾波。信號的輸入范圍是不定的,小信號信噪比較低,大信號會引起A/D轉(zhuǎn)換器對信號進行限幅而失真,所以采用數(shù)控可變增益放大器對信號輸出電壓范圍進行調(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個功能單元,采用先進的VLIW(甚長指令字)結(jié)構(gòu),使得DSP在單周期內(nèi)能夠執(zhí)行多條指令。在225 MHz的時鐘頻率下,其最高執(zhí)行速度可以達到1350×106次浮點運算/s。它還集成了豐富的片內(nèi)外設單元,本系統(tǒng)主要用到的有HPI、EDMA和定時器。

            主機接口為HPI,外部主機可以直接訪問內(nèi)部的存儲器和存儲器映像存儲器,TMS320C6713的HPI通過EDMA控制器實現(xiàn)對DSP存儲空間的訪問,本系統(tǒng)中Atmega64L是主機,可以直接配置TMS320C6713的EDMA定時器,節(jié)省TMS320C6713的查詢周期。ED-MA(增強型直接存儲器訪問)是C621x/C671x/C64x系列DSP特有的訪問方式,其啟動可以由內(nèi)部或外部事件觸發(fā),本系統(tǒng)采用外部觸發(fā)。

            2.4外圍設備

            失真度測試系統(tǒng)的控制和結(jié)果顯示通過標準RS-232接口完成。因此該數(shù)字失真度測量儀可以作為一個獨立測量模塊集合在其他綜合測試儀中。

            2.5控制模塊

            主控制器使用Atmega64L單片機,完成系統(tǒng)的控制。DSP的處理結(jié)果由主控制器通過HPI接口獲得,并緩存在內(nèi)存中;當外部命令讀取測試結(jié)果時,再通過RS-232接口發(fā)送出去。控制模塊還完成系統(tǒng)的低功耗控制、DSP運行模式等控制。

            3軟件實現(xiàn)

            圖3是TMS320C6713芯片的軟件流程圖。該芯片受Atmega64L控制。Atmega64L根據(jù)RS-232接口獲得指令,然后根據(jù)指令參數(shù)來控制儀器的運行。TMS320C6713可執(zhí)行兩種操作:一種是自動測量,首先對采集數(shù)據(jù)使用過零法粗測頻率,然后把粗測頻率作為參數(shù)傳遞給失真度測量程序,由失真度計算程序完成測量;另一種是定頻測量,把Atmega64L傳遞來的頻率參數(shù)直接傳遞給失真度測量程序完成失真度的測量,而不需要事先測量頻率。

                 

            失真度測量程序設有一個入口參數(shù)fmiddle,以此參數(shù)為中心頻率在帶寬30 Hz內(nèi)使用最大值搜索法找尋準確的基頻頻率并完成失真度計算,返回值是實際測量的基頻頻率、信號電平、失真度。

            DSP處理完數(shù)據(jù)后,把測試結(jié)果緩存在內(nèi)存中,單片機根據(jù)指令通過HPI接口讀取測試結(jié)果。

            4性能分析

            測量速度是決定儀器實用性的重要因素。每計算一次失真度,基頻能量二分法最大值搜索時一般需要5~7次迭代,每次迭代含3次向量乘法(2次乘法,2次加法),取10次迭代需要30次向量乘累加操作、生成30個W向量;剩余6次諧波計算需要6個W向量,合計36個W向量。

            W向量的生成如果采用直接調(diào)用庫函數(shù),運送量太大,而采用迭代方法實現(xiàn)的效率更高。由三角變換公式:

                   
           
            只需調(diào)用庫函數(shù)運算得到cos ωT,sin ωT這兩個基本函數(shù)值,就可得到整個W向量,每個點生成需4次乘法和2加法。因此系統(tǒng)采用1024點完成失真度計算一次共需:1024×4×36+1024×6×36=368 640次運算,對于1350×106條指令/s的DSP來說,耗時約0.3 ms。加上數(shù)據(jù)存儲,小運算量消耗時間,除去操作控制時間,總耗時控制在1 ms內(nèi),能滿足實時要求。

            實驗結(jié)果表明,頻率測量范圍為20 Hz~20 kHz,頻率誤差±1 Hz;經(jīng)校準后,電平測量范圍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ù)字失真度測量儀。該失真度測量儀硬件設計簡單,易調(diào)試,測量結(jié)果準確,具有自動測量和選頻測量特性,不僅可作為單一失真度測量儀,還可作為失真度分析模塊與其他性能分析模塊通過標準總線相連,組成綜合測試儀,可避免重復設計,節(jié)約成本,應用前景廣泛。

          低通濾波器相關文章:低通濾波器原理


          數(shù)字濾波器相關文章:數(shù)字濾波器原理
          網(wǎng)線測試儀相關文章:網(wǎng)線測試儀原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();