• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DDS的高精度函數信號發生器的研制

    基于DDS的高精度函數信號發生器的研制

    作者: 時間:2009-04-20 來源:網絡 收藏

    軟件設計主要分為菜單操作和頻率控制值計算兩部分。不同的按鍵代表著不同的數字和功能,除了正常的10個數字鍵0~9外,為了方便頻率值輸入,還設計了左右移動鍵、刪除鍵、Output確認輸出鍵等功能鍵。相應的數值如頻率、相位、幅度輸入完成后按Output輸出鍵,即產生相應的信號輸出。整體軟件設計流程圖如圖4所示。

    本文引用地址:http://www.czjhyjcfj.com/article/173784.htm

    2.3 48 b頻率控制字的處理
    由于C語言中數據運算最多為32 b,如單精度Float型、Long長整型,而Double雖是64 b但Keil C編譯時出錯,故將介紹一種在中計算48 b頻率控制字的方法。
    在該設計中取參考時鐘頻率fosc為300 MHz,在的原理中介紹了輸出頻率的計算方法為:


    那么根據式(1)就能推導出計算頻率控制字的表達式:


    當fo≤fL1時,頻率控制字計算公式為:
    FTW=(248*fo)/300 000 000△938 249.922 369*fo
    當fo>fL1時,通過把48 b頻率控制字分成8 b+32 b+8 b,令最前面的8 b和最后面的8 b等于O,引入臨界頻率fL2,可由算式(1)計算得到:

    fL2=300000000*2 40/2 48△1.17172MHz
    當fL1fo≤fL2時,得到頻率控制字計算公式為:FTW=(240*fo)/300 000 000△3 665.038 759*fo最后當fo大于fL2,即把后16 b定為0,這時式(1)中N=32,則頻率控制字計算公式為:


    此時頻率分辨率為(300 000 000*216)/248△0.07 Hz。同理可得當輸出頻率小于fL1、大于fL1小于fL2時分辨率分別為1.07e一6 Hz和2.73e一4 Hz,本方案設計為輸出頻率低于1 MHz時分辨率為O.001 Hz,高于1 MHz時分辨率為O.1 Hz。由上可見此方法合理有效,解決了48 b頻率控制字算法,同時也達到了很高的頻率分辨率和精確度。


    3 結 語
    針對目前市場上的發生器存在的頻帶范圍窄、精度不高、準確度低、頻譜純度差等缺點,設計了一款高頻數控,該發生器具有頻帶范圍寬、精度高、頻譜純度好、頻率輸出穩定等優點。經測試頻率范圍可以達到50 MHz,頻率分辨率為0.001 Hz,并可以產生正弦波、FSK與BPSK波形。可應用于日常教學與科研工作中,在晶體濾波器測試、復雜通信系統測試、音頻系統測試、高性能視頻測試等領域有廣泛的應用前景。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 招远市| 章丘市| 呈贡县| 宁波市| 金门县| 永城市| 普兰县| 酒泉市| 阿坝县| 兴宁市| 哈尔滨市| 寻甸| 方山县| 平陆县| 江华| 兴安盟| 敦煌市| 广昌县| 周口市| 琼海市| 咸丰县| 吉隆县| 金秀| 涞源县| 文成县| 莒南县| 清新县| 公安县| 剑河县| 绵阳市| 敦煌市| 恩平市| 明星| 大新县| 阿克陶县| 政和县| 壤塘县| 马边| 临海市| 丰原市| 建平县|