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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 數(shù)字控制振蕩器(NCO)的FPGA實現(xiàn)

          數(shù)字控制振蕩器(NCO)的FPGA實現(xiàn)

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

          相位累加器可完成相位累加,即每來1個時鐘就累加1次φ=φ+△φ,且采用流水線方式工作。本設(shè)計采用QUARTUS II中IP核自帶的一種32位累加器來實現(xiàn)相位的累加。
          邏輯轉(zhuǎn)換完成后,可采用小表結(jié)構(gòu)功能塊把相位累加器產(chǎn)生的最高2位信號轉(zhuǎn)換為地址控制信號和象限轉(zhuǎn)換控制信號。其中地址控制信號是根據(jù)最高兩位信號來控制地址從0開始遞增方式產(chǎn)生還是從2L開始以遞減方式產(chǎn)生。
          正弦表是每來一個時鐘輸出一個大于零的正弦值數(shù)據(jù),這些數(shù)據(jù)可作為象限變換器的輸入,由象限變換器完成數(shù)據(jù)的象限變換。其轉(zhuǎn)換原則是:象限控制信號根據(jù)正弦信號的對稱性把查表得到的數(shù)據(jù)轉(zhuǎn)換為正負數(shù)據(jù),并對于正弦信號的1、2象限數(shù)據(jù)進行加零操作,而對3、4象限的數(shù)據(jù)進行求補運算。余弦數(shù)據(jù)也同樣,在1、4象限對數(shù)據(jù)進行加零操作,2、3象限數(shù)據(jù)進行求補運算。

          4 仿真結(jié)果
          利用上述小表結(jié)構(gòu)實現(xiàn)的可以輸出多種頻率信號并減少資源消耗,影響系統(tǒng)輸出頻率的因素主要是工作頻率和器件性能。
          圖1所示是整個在QUARTUS II中的仿真波形圖。

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

          h.JPG


          在圖1所示的波形圖中,CLK是時鐘輸入頻率(為65.6 MHz),CLR為系統(tǒng)復(fù)位信號,相位累加器的位數(shù)L為32位,輸出信號幅度位數(shù)為12位(包括符號位),相位寬度為12位,這樣,由式(5)便可得到頻率控制字FCW為269591793,圖1中的COS_OUT與SIN_OUT是系統(tǒng)輸出信號,頻率為4.08 MHz。
          由式(11)、(12)、(13)可得,此系統(tǒng)的信噪比和SFDR分別為74 dB和84 dB。
          圖2所示是將波形文件中的正弦余弦數(shù)據(jù)讀入MATLAB中所顯示出來的波形。

          5 結(jié)束語
          本文通過分析數(shù)控的實現(xiàn)原理和性能,給出了通過來實現(xiàn)的具體方法,同時通過QUARTUSⅡ中的仿真驗證了本設(shè)計的正確性。結(jié)果證明,用該方法設(shè)計的NCO可以輸出多種頻率的信號,同時也可以減少資源消耗。

          fpga相關(guān)文章:fpga是什么


          低通濾波器相關(guān)文章:低通濾波器原理



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA NCO 數(shù)字控制 振蕩器

          評論


          相關(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); })();