《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 用TMS320C54x DSKplus Board構建聲回波對消器

用TMS320C54x DSKplus Board構建聲回波對消器

2009-04-29
作者:王春霞 譚 凱 王永德

  摘? 要: 介紹了TMS320C54x DSKplus Board的基本結構和硬件特點,并以DSKplus Board構建聲回波對消器為例,介紹了DSKplus Board的硬件接口擴展技術。

  關鍵詞: DSP? TMS320C54x? DSKplus? Board? 聲回波對消器

?

  TMS320C54x DSKplus Board(DSK)是一種成本低、性能好的DSP入門套件。采用簡便直觀的代數語言編程,使初學者能迅速入門;同時,由于硬件上可以使用擴展板擴展存儲空間及外部設備,也為廣大的教師、科研工作者、工程技術人員學習及應用DSP提供了極大的方便。本文介紹以DSKplus Board構建的聲回波對消器。該聲回波對消器采用先進的自適應辨識算法,即通過對聲回授通道的沖擊響應的辨識,產生出同回聲相似的信號,再從近端話音和回聲中減去回聲信號以達到回聲對消的目的。聲回波對消器需要兩路A/D輸入通道,由于DSK只有一路A/D輸入通道,所以需要對其進行硬件上的擴展。在這里我們自行設計了另一路A/D輸入通道,并利用DSK上的擴展口,非常方便地完成了硬件設計。經軟、硬件調試通過后,工作正常。

1 TMS320C54x系列DSP簡介

  TI公司于1996年推出的TMS320C54x系列DSP是新一代的定點數字信號處理器。它采用先進的修正型哈佛結構,片內共有8條總線(1條程序存儲器總線、3條數據存儲器總線和4條地址總線)以及CPU、在片存儲器和在片外圍電路等硬件,并有一套高度專業化的指令系統。TMS320C54x DSKplus Board是一種成本較低、性能優秀的DSP入門套件。它具有一個獨立的應用板,通過主機并口連接在用戶PC上,可以檢查TMS320 C54x CPU的結構、運行情況及其外部設備。同時,還有一個基于Windows的調試器,能逐條分析代碼,并在相應的窗口實時顯示DSP內部寄存器的信息。

2 自適應聲回波對消器原理

  自適應聲回波對消器原理圖見圖1。遠端話音經由未知的LRM(Louderspeaker-Room-Microphone)系統構成的聲回授通道產生回聲,回聲又連同近端話音一起被傳輸到遠端。在一個閉環系統中,可能會產生回聲、嘯叫等嚴重影響通話質量的現象。其回聲對消的原理是:通過對未知LRM系統沖擊響應的辨識,產生出一個同回聲相同的信號,在近端話音及回聲的混合信號傳向遠端之前從中減掉回聲。自適應聲回波對消器需要有兩路A/D輸入信號和一路D/A輸出信號。TMS320C54x DSKplus Board上已有一路A/D輸入通道及D/A輸出通道,所以,只需在此基礎上擴展一路A/D輸入通道。

?

3 擴展DSK話音數據采集通道

  DSKplus Board上的AC01模擬接口電路可以完成單通道的話音信號的數據采樣,它具有以下特性:單片A/D和D/A轉換器,14bit量化;內置式可編程反混迭濾波器;軟件可編程取樣率;軟件可編程復位、增益、低功耗模式;可主從配置級聯操作。它具有三種基本操作模式:單獨應用模式;主從模式;線性編/譯碼模式。在DSKplus Board上,AC01接口直接與C542 TDM串口連接,它產生所需的移位時鐘脈沖SCLK和幀同步信號脈沖FS,以便輸入輸出數據。這些脈沖由軟件可編程存儲器和AC01主時鐘共同決定,主時鐘由板上的振蕩器產生,頻率為10MHz。為了快速便地的擴展一個話音采集通道,可應用AC01的主-從工作模式,增加一個小型AC01電路板即可。增加的AC01主要連接如圖2所示。DSKplus Board上的AC01作為主(Master)通道,擴展板上的另一個AC01作為從(Slave)通道。

?

  注意:主AC01的FSD輸出作為從AC01的FS信號,這樣主從通道就能輪流地連續地對兩路不同的話音信號進行采樣了。

  硬件電路完成后,再按設計要求對主從模式的兩個AC01進行軟件初始化。AC01具有九個可編程的內部寄存器,可通過修改這九個內部寄存器的內容來完成其配置。寄存器具體定義可參見文獻[2]。現介紹幾個重要的寄存器:

  ·寄存器1,A寄存器,其內容決定幀同步時鐘和低通濾波器的-3dB截止頻率

  FCLK頻率=主時鐘頻率/(A寄存器內容×2)

  低通濾波器的-3dB截止頻率flp=FCLK/40

  ·寄存器2,B寄存器,其內容決定采樣頻率和高通濾波器的-3dB截止頻率:

  采樣頻率=FCLK/B寄存器內容

  高通濾波器的-3dB截止頻率fhp=采樣頻率/200

  ·寄存器7,幀同步延遲寄存器,其內容決定從AC01的幀同步信號相對于主AC01的延遲時間。

如果用AC01的主從模式,則要求寄存器7為最后一個初始化的寄存器,最小值18。

  ·寄存器8,幀同步個數寄存器,其內容決定系統中有多少個AC01,個數為從AC01的個數加1。

在聲回波對消的應用中,要求主從通道均采用9kHz采樣頻率,通帶為300Hz~3.4kHz(其中高通濾波器的-3dB截止頻率由外部接口電路決定),兩個通道輪流由TDM串口向DSP產生中斷。相應的寄存器內容見源程序中的REG1~REG8,設計出的實際參數為:

  采樣頻率:7.95kHz

  低通濾波器的-3dB截止頻率flp=3.37kHz

  高通濾波器的-3dB截止頻率fhp=40Hz

  初始化AC01的源程序如下:

  REGISTER.set 0cbH??????????? ;設定需要修改的寄存器號,Bit0~Bit7分別對應REG1~REG8,

                 1表示要修改;0表示不修改,用上電的缺省值

  REG1 .set 125H?????????????? ;A寄存器,內容為37

  REG2 .set 211H?????????????? ;B寄存器,內容為17

  REG3 .set 300H

  REG4 .set 409H

  REG5 .set 501H

  REG6 .set 600H

  REG7 .set 722H??????? ???? ;幀同步延遲寄存器

  REG8 .set 802H????? ?????? ;幀同步個數寄存器,在本應用中為一主一從

AC01INIT:

? ????????? xf=0?????????????? ;復位ac01

??? ??????? intm=1???????????? ;禁止所有中斷

? ?????????? tcr=#10H???????? ? ;定時器停止

???????????? imr=#280H????????? ;當TDM發送時,從休眠狀態啟動

???????????? tspc=#0008H??????? ;暫停TDM串口

???????????? tdxr=#0H??????? ?? ;發送0作為第一個數

???????????? tspc=#00c8H??????? ;復位并打開TDM串口

???????????? xf=1?????????????? ;從復位狀態釋放AC01

;……………………Register init's……………………

????????????? .evalREGISTER & 1H,SELECT

????????????????????? ???????? ;如果要修改REG1,則執行下列程序

????????????? .if SELECT=1H

????????????? a=#REG1? ??????? ;用REG1的值加載累加器A

????????????? call REQ2??????? ;調用REQ2子程序初始化寄存器值

????????????? .endif

????????????? .eval REGISTER & 2H,SELECT

?????????????????????????????? ;如果要修改REG2,則執行下列程序

????????????? .if SELECT=2H

????????????? a=#REG2

????????????? call REQ2

????????????? .endif?

????????????? .eval REGISTER & 4H,SELECT?

????????????????????????? ??? ;如果要修改REG3,則執行下列程序

????????????? .if SELECT=4H

????????????? a=#REG3

????????????? call REQ2

????????????? .endif?

????????????? .eval REGISTER & 8H,SELECT?

????????????????????????????? ;如果要修改REG4,則執行下列程序

????????????? .if SELECT=8H

????????????? a=#REG4

????????????? call REQ2

????????????? .endif

????????????? .eval REGISTER & 10H,SELECT

?????????????????????????? ;如果要修改REG5,則執行下列程序

????????????? .if SELECT=10H

????????????? a=#REG5

?????? call REQ2

?????? .endif?

?????? .eval REGISTER & 20H,SELECT?

????????????????????????? ;如果要修改REG6,則執行下列程序

?????? .if SELECT=20H

?????? a=#REG6

?????? call REQ2

?????? .endif

?????? .eval REGISTER & 80H,SELECT

???????????????????????? ;如果要修改REG8,則執行下列程序

?????? .if SELECT=80H

?????? a=#REG8

?????? call REQ2

?????? .endif

?????? .eval REGISTER & 40H,SELECT

??????????????????????? ;如果要修改REG7,則執行下列程序

?????? .if SELECT=40H

?????? a=#REG7

?????? call REQ2

?????? .endif

?????? return

REQ2

?????? ifr=#080H????????;清除中斷標志寄存器IFR

?????? tdxr=#03H????????;請求AC01的二次通訊

?????? idle(1)??????????;等待第一次發送

?????? tdxr=a???????????;把寄存器內容送到串口

?????? ifr=#080H????????;清除中斷標志寄存器IFR

?????? idle(1)??????????;等待二次發送

?????? tdxr=#0H

?????? ifr=#080H????????;清除中斷標志寄存器

?????? idle(1)

?????????? return?????? ;中斷返回

  在自適應聲回波對消的主程序中,當有AC01中斷時,中斷服務程序首先判斷數據是從哪一個通道送來的,主通道還是從通道?可通過接收數據的最低兩位D01 D00檢測出來。若LSBS是00,表明是主通道傳來的數據,程序轉向主通道的中斷服務程序。若LSBS是01,表明是從通道傳來的數據,程序轉向從通道的中斷服務程序。

  以上硬件電路已經成功地應用于實時聲回波對消器中。當然,最終的產品應該是獨立的脫機系統。但在研發初期,與從頭設計一個DSP系統相比,擴展DSKplus Board的接口功能,為科研人員節省了大量的時間,也避免了由于開發初期考慮不周,造成反復設計DSP系統的巨大浪費,使科研人員能把主要的精力投入到需要創新、需要反復驗證的關鍵步驟。由此看來,價廉且性能佳的DSK不僅能作為初學者入門的良好套件,也是科研人員加快初期研發工作進度的有力工具。

?

參考文獻

1 TMS320C54x DSKplus DSP Starter Kit User’s Guide. TI,1996

2 TLC320AC01C Single-Supply Analog Interface Circuit Data Manual.TI,1996

3 TMS320C54x DSP Algebraic Instruction Set Reference Set.TI,1996

4 B.Farhang-Boroujeny.Fast LMS/Newton algorithms based on autoregresive modeling and their application to acoustic echo cancellation.IEEE Trans.Signal Processing,1997;45(8)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日本精品| 99国内精品| 亚洲乱码日产精品bd| 韩国成人福利片在线播放| 欧美视频在线一区| 欧美黄免费看| 欧美成人一品| 欧美二区乱c少妇| 媚黑女一区二区| 久久久在线视频| 久久精品一本| 久久久久久久久蜜桃| 久久久99久久精品女同性| 久久精品国产精品亚洲| 欧美一区二区在线免费观看 | 久久久久久一区二区三区| 欧美一区二区三区久久精品| 亚洲欧美激情一区二区| 亚洲欧美国产日韩天堂区| 亚洲欧美日韩精品久久亚洲区| 亚洲一区亚洲| 亚洲尤物在线| 欧美一区二区三区免费观看| 欧美亚洲免费电影| 久久爱91午夜羞羞| 久久久久五月天| 另类综合日韩欧美亚洲| 免费日本视频一区| 欧美顶级艳妇交换群宴| 欧美日韩国产丝袜另类| 欧美视频在线观看免费| 国产精品激情av在线播放| 国产精品视频福利| 国产在线精品一区二区夜色| 在线日韩日本国产亚洲| 亚洲欧洲在线一区| 一区二区三区欧美激情| 亚洲欧美日韩第一区| 欧美一区观看| 亚洲精品社区| 亚洲一区日韩在线| 久久久久一本一区二区青青蜜月| 欧美77777| 欧美视频在线播放| 国产亚洲综合在线| 在线观看视频一区| 99re这里只有精品6| 亚洲午夜视频| 久久精品男女| 一本色道88久久加勒比精品| 亚洲欧美日韩另类| 美脚丝袜一区二区三区在线观看| 欧美激情四色 | 日韩一级在线| 欧美一区二区黄| 亚洲精品久久久久久下一站| 亚洲天堂第二页| 久久久另类综合| 欧美精品自拍偷拍动漫精品| 国产精品免费网站| 亚洲高清不卡在线观看| 亚洲一区二区三区在线观看视频| 久久精品一区蜜桃臀影院| av不卡在线观看| 欧美一区二区三区在线视频| 欧美成人精品一区二区| 国产精品久久影院| 亚洲国产精品毛片| 午夜亚洲精品| aaa亚洲精品一二三区| 久久精品二区三区| 欧美日韩伦理在线免费| 国内揄拍国内精品少妇国语| 一二三区精品| 亚洲人成在线观看| 欧美在线视频一区二区| 欧美精品在线观看| 黄色成人在线免费| 中文在线资源观看网站视频免费不卡 | 久久精品欧美日韩| 亚洲在线视频免费观看| 欧美顶级艳妇交换群宴| 国产日产欧美精品| 99国产精品自拍| 亚洲国产老妈| 欧美在线观看你懂的| 欧美日一区二区三区在线观看国产免| 国产丝袜一区二区| 一个人看的www久久| 亚洲精品中文字幕在线| 久久久www免费人成黑人精品| 欧美性色综合| 亚洲日本aⅴ片在线观看香蕉| 久久国产黑丝| 欧美影院久久久| 欧美日韩在线一区二区| 亚洲人屁股眼子交8| 欧美中文字幕| 久久不射中文字幕| 国产精品麻豆欧美日韩ww| 亚洲美女视频| 日韩视频在线一区| 欧美/亚洲一区| 一区二区三区在线观看视频| 性色一区二区| 性欧美大战久久久久久久免费观看| 欧美精品电影| 亚洲国产日韩精品| 亚洲黄网站黄| 久久综合久久88| 国内欧美视频一区二区| 欧美亚洲综合久久| 久久国产精品72免费观看| 国产精品日本| 亚洲图片欧洲图片av| 亚洲在线观看视频网站| 国产精品国产自产拍高清av| 夜夜嗨av一区二区三区中文字幕| 亚洲美女色禁图| 欧美激情精品久久久久久大尺度| 亚洲国产日韩欧美| 99成人在线| 欧美精品日韩| 亚洲伦理网站| 亚洲中字在线| 国产精品久久久久7777婷婷| 亚洲午夜精品久久| 亚洲欧美日韩一区在线观看| 国产精品久久久久久户外露出| 一本色道久久精品| 亚洲免费影视| 国产精品青草久久久久福利99| 亚洲午夜久久久久久久久电影网| 午夜精品久久久久久久久久久| 国产精品午夜电影| 亚洲欧美影院| 久久久久久噜噜噜久久久精品| 韩国女主播一区二区三区| 久久精品女人的天堂av| 欧美成人69| 亚洲精品美女在线| 亚洲校园激情| 国产精品爽爽爽| 欧美在线视频观看| 欧美大片在线观看一区| 亚洲美女av电影| 亚洲欧美视频在线观看| 国产一区二区av| 亚洲国产免费看| 欧美日韩国内自拍| 亚洲天堂成人| 久久激情网站| 在线观看一区| 中文欧美在线视频| 国产精品羞羞答答xxdd| 久久黄色网页| 欧美精品在线观看播放| 亚洲在线免费视频| 快播亚洲色图| 亚洲最新在线| 久久精品视频播放| 亚洲黄页视频免费观看| 亚洲尤物视频在线| 国内精品久久久久影院薰衣草| 日韩亚洲欧美高清| 国产欧美韩国高清| 亚洲人成久久| 国产精品夜色7777狼人| 亚洲欧洲精品一区二区三区不卡| 欧美日韩理论| 久久动漫亚洲| 欧美日韩国产综合一区二区| 性欧美办公室18xxxxhd| 欧美另类女人| 欧美中在线观看| 欧美日韩午夜视频在线观看| 欧美在线关看| 欧美日韩精品一区二区三区四区| 性色av香蕉一区二区| 欧美日韩国产综合一区二区| 亚洲欧美日韩天堂一区二区| 欧美激情二区三区| 性视频1819p久久| 欧美日韩国产色综合一二三四| 欧美伊人精品成人久久综合97| 欧美精品免费看| 欧美一区二区网站| 欧美性一二三区| 亚洲高清不卡av| 国产精品视频成人| 99热这里只有精品8| 国产自产高清不卡| 亚洲在线免费观看| 亚洲黄色小视频| 久久久综合激的五月天| 夜夜嗨av一区二区三区中文字幕 | 欧美女同视频| 久久精品国产一区二区电影| 欧美性理论片在线观看片免费| 91久久精品国产91性色|