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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSP的過采樣技術(shù)原理

          DSP的過采樣技術(shù)原理

          作者: 時間:2011-07-05 來源:網(wǎng)絡(luò) 收藏

            圖4為三角波信號產(chǎn)生以及與輸入信號疊加的電路圖。PWM信號的占空比在0和100%之間。R3和C1作為積分器產(chǎn)生一個0到3V之間的三角波信號輸入到運放。輸出信號連至ADC的輸入。


          5 過的軟件實現(xiàn)
            實現(xiàn)過軟件包括以下6個主要模塊。
          5.1 外設(shè)初始化
            采用EVA模塊的TIMER1來啟動ADC轉(zhuǎn)換并且提供PWM輸出,TIMER1工作于連續(xù)增計數(shù)模式,周期寄存器的值等于AD轉(zhuǎn)換速率,由周期匹配事件來啟動AD轉(zhuǎn)換。
          5.2 三角波信號產(chǎn)生
            由前面論述可知,三角波信號由PWM信號產(chǎn)生,PWM信號的占空比由編程TIMER1的比較寄存器(T1CMPR)決定。為了得到三角波信號,T1CMPR中的值需要由某一步長(STEP)來不斷地增加和減少,而這一步長由定時器周期寄存器(T1PR)和過因子(K)決定,其計算公式如下:

          用一標志(FLAG)表示三角波的上升或下降,它用來決定比較寄存器中的值被STEP增加還是減少了。CURRENT代表當前定時器比較寄存器中的值。用軟件改變PWM占空比的流程如圖5所示。



          5.3 數(shù)據(jù)采集
            AD轉(zhuǎn)換完成后產(chǎn)生中斷,在中斷服務(wù)子程序中讀出每次轉(zhuǎn)換的結(jié)果,作為數(shù)字低通濾波的輸入。
          5.4 數(shù)字濾波
          采用FIR結(jié)構(gòu)的滑動平均濾波器(MovingAverage Filter),滑動平均濾波器的Z變換為:

            從輸入xi計算輸出yi的表達式為:

          5.5 抽取
            抽取過程將以K倍來降低最后的數(shù)據(jù)率。一般來說,抽取操作是和數(shù)字濾波結(jié)合在一起的,即,只需在數(shù)字濾波中計算每K個輸出值。
          5.6 中斷服務(wù)程序
            在中斷服務(wù)程序中執(zhí)行以下幾個操作:調(diào)整PWM占空比、讀出AD轉(zhuǎn)換值、數(shù)字濾波(其中包括抽取)。
          6 結(jié)束語
            本文從分析過采樣的頻譜特性出發(fā),分析了過采樣、用實現(xiàn)過采樣的方法以及軟件上的實現(xiàn),隨著在各種信號處理領(lǐng)域中的廣泛應(yīng)用,過采樣在其中的應(yīng)用也將日益廣泛,因此,本文也有助于進一步發(fā)展利用過采樣。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 原理 技術(shù) 采樣 DSP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();