新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DSP C54X窄帶中頻抽樣的實現

        DSP C54X窄帶中頻抽樣的實現

        作者: 時間:2011-08-15 來源:網絡 收藏
        3.1 確定頻率
        由于需要進行實時的數字信號處理,從濾波器到確定準確的頻率十分重要。具體的方法可以是:選擇可編程AD轉換器,可編程時鐘發生器輸入時鐘到AD、采用定時中斷等。由于本硬件設計AD是輸入固定時鐘,芯片不可編程,因此采用中斷抽樣和處理的方法。根據60kHz的抽樣頻率,計算抽樣周期是16667ns,工作的時鐘頻率是20MHz,如果以單周期指令計算,在AD抽樣的周期內,DSP可執行16667/50=333條指令。那么DSP的工作過程應該按圖5時序進行。
        3.2 帶通濾波器的

        本文引用地址:http://www.104case.com/article/150356.htm


        使用DSP實現帶通濾波器的設計方法很多,可以先用MATLAB、SystemView等軟件進行模擬仿真,然后獲取濾波器的系數,設計FIR濾波器或IIR濾波器,如果僅僅處理語音信號可以采用IIR濾波器;如果需要處理數據信號一般可以用FIR濾波器。
        其次使用DSP_定點數字信號處理器,由于在濾波器實現與數據處理中采用小數方式,因此要求輸入的數據也是小數,而從AD轉換采集數據信號是十六進制的,因此首先要進行數據轉換,然后處理,處理完的數據還需要轉換成16進制,通過DA輸出。編制的DSP抽樣與處理的程序如下所示,實際使用中還需要矢量文件和連接文件。
        .title “x.asm”
        .mmregs
        .def start
        .def DStINT ;定時器中斷入口地址
        x_new .usect “DATA1”,57 ;初始化數據區
        x_old .usect “DATA2”,57 ;循環緩沖區長度
        .bssy,1
        size .set 57 ;重復運算次數
        data_l .set 256 ;計算數據長度是256
        PA0 .set 0
        PA1 .set 1
        .data
        COEF .word -18,99,50,-76,-64,6,38,62,28,-36,-78,-61,46,92,58
        .word 14,-123,-134,45,83,122,114,-184,-199,13,4,236,260
        .word -244,-213,-85,-173,408,425,-267,-117,-300,-475,642,561
        .word -187,174,-716,-943,941,590,149,883,-1605,-1808,1406
        .word 287,1534,3658,-5867,-7587, 8579
        .text
        start: STM #0820H,PMST ;
        STM #0000H,SWWSR ;
        STM #0010H,TCR ;關閉定時器,TDDR=0000
        STM #014CH,PRD ;定時器設置60K采樣周期
        STM #0008H,IFR ;清除TINT中斷標志
        STM #0008H,IMR ;容許中斷
        STM #y,AR1
        SSBX FRCT ;小數運算
        STM #x_new,AR2 ;AR2指向新緩沖區第1單元
        STM #x_old+(size-1),AR3 ;AR3指向老緩沖區最后單元
        STM #-1,AR0 ;
        STM #size,BK ;循環緩沖區長度
        STM #0C20H,TCR ;啟動TSS=0,TRB=1自動加載PRD
        RSBX INTM ;開放CPU中斷
        wait B wait ;等待中斷
        DStINT portr PA1,*AR2 ;讀取AD抽樣數據
        LD *AR2,8,A
        SUB #8000H,A ;轉換16進制數為小數表示
        STL A,*AR2 ;實現FIR濾波
        ADD *AR2+0%,*AR3+0%,A ;AR2地址中內容16位加AR3同樣操作-->(AH)中
        RPTZ B,#(size-1)
        FIRS *AR2+0%,*AR3+0%,COEF ;A*系數-->B,同時進行下一個ADD功能,直到全部完成
        STH B,*AR1
        LD *AR1,16,A
        RSBX TC
        CMPS A,*AR1 ;實現包絡檢波
        BC buchl,NTC ;TC=0,采集數據>0,不處理
        STH A,*AR1 ;TC=1,保存DSP的8000H~FFFFH
        LD #0FFFFH,A
        SUB *AR1,A ;實現FFFFH-采樣值
        STL A,-8,*AR1 ;右移8位恢復半波
        B CHLEND
        buchl: SFTA A,-16
        STL A,-8,*AR1
        CHLEND: portw *AR1,PA0 ;輸出DA
        MAR *+AR2(2)% ;AR2=circ(AR2+2),修改AR2
        MAR *+AR3(1)% ;訪問后,AR3=circ(AR3+1)修改AR3
        MVDD *AR2,*AR3+0%
        RETE
        .end
        其中,濾波器的輸入信號已經將采集的16進制數轉換成Q15格式,其輸出是定點DSP的Q15格式,對于包絡檢波可以認為:0~1用0000H~7FFFH表示低載波的正半周,而低的負半周是“FFFFH-抽樣值”,即是“(0-(0~-1)=0~1”,此運算將低載波的負半周轉換為正半周,實現了檢波功能,DA輸出加一個低通濾波器可以得到基帶語音信號。
        4 性能分析

        通過以上分析和程序設計,使用DSPC5402構成的數字信號處理系統,對465kHz的中頻調幅信號進行欠抽樣與數據處理,通過存儲示波器測量的波形如圖6所示。由于采用帶通抽樣,降低了抽樣頻率,使DSP有足夠的時間處理,如濾波、信號變換等。通過輸出的波形可以看到:信號的量化噪聲在一定程度上影響輸出信號的純度。因此還需要加好的低通濾波器。實際中還對普通的調幅收音機中頻輸出進行實際抽樣處理,可以獲得比較清晰的語音信號。
        5 結束語
        本文通過對帶通抽樣定理的討論,結合DSPC54芯片設計的數字信號處理系統,對中頻信號進行實際的抽樣與處理,獲得較好的效果。



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大宁县| 昌乐县| 库伦旗| 陆良县| 深水埗区| 都安| 密山市| 平和县| 灌阳县| 松阳县| 彭州市| 略阳县| 城市| 两当县| 台湾省| 惠东县| 高淳县| 略阳县| 四会市| 东乌珠穆沁旗| 蓝山县| 漳平市| 文化| 商城县| 门源| 河源市| 和田县| 桐柏县| 香河县| 哈尔滨市| 兴海县| 临猗县| 锦州市| 宁阳县| 宜阳县| 吉木萨尔县| 黔西县| 德钦县| 叙永县| 邹平县| 东阿县|