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

    EEPW首頁 > 嵌入式系統 > 設計應用 > SPCE061A單片機采集語音信號并傳送到PC機中解析方案

    SPCE061A單片機采集語音信號并傳送到PC機中解析方案

    作者: 時間:2012-06-27 來源:網絡 收藏

    2 軟件設計與實現

    2.1 壓縮與數據傳輸

    (1)壓縮

    處理的基礎是對語音信號進行數字化,并采樣存儲。SRCE061A內置專門用于語音信號的自動增益控制放大器(AGC)的麥克風輸入通道(MIC_IN)。語音信號經麥克轉換成電信號,由隔離電容隔掉直流成分,然后輸入至內部前置放大器。SE061A內部自動增益控制電路AGC能隨時跟蹤、監視前置放大器輸出的音頻信號電平,當輸入信號增器時,AGC電路自動減小放大器的增益;當輸入信號減小時,AGC電路自動增大放大器的增益,以便使進入A/D的信號保持在最佳電平,又可使諧波減至最小。

    ADC初始化程序如下:

    INT OFF;

    R1=0x0030;

    [P_TimerA_Ctrl]=R1;

    //時鐘頻率為CLKA的fosc/2

    R1=0xfa00;

    [P_TimerA_Data]=R1;

    //采樣率為16kHz

    R1=0x003d;

    [P_ADC_Ctrl]=R1; //設置AGC功能

    R1=0x00A8;

    [P_DAC_Ctrl]=R1; //采用自動方式且通過MIC_IN通道輸入,通過定時器A的溢出鎖存數據,ADC為自動方式

    R1=0x1000;

    [P_INT_Ctrl]=R1; //開中斷IRQ1_TM

    INT IRQ;

    采樣后的數字語音信號數據量非常大,且由于語音信號采樣點幅度分布的非均勻性和樣本間的相關性等原因,使語音信號中含有大量的冗余信息。因此,在實際應用中采用各種信源編碼技術來消除語音信號的冗余度。語音編碼方法主要有波形編碼、參數編碼和混合編碼。

    *波形編碼的基本原理是以波形逼近為原則,在時域上把幅度樣本分層量化并用代碼表示;特點是語音質量高、抗噪性強編碼率高,適于語音及高保真音樂。

    *參數編碼是基于某種語音產生模型,在編程端分析出該模型參數選擇適當的方式進行編碼;特點是語音質量差、抗噪抗弱和編碼率低。

    *混合編碼綜合了波形和參數編碼之優點。

    凌陽SE061A提供了壓縮算法庫——SACMLIB(見表1),其處理的語音信號范圍是200Hz~3.4kHz的電話語音,并將A/D、編/解碼、存儲及D/A做成相應的模塊,對于每個模塊都有其應用程序接口API。

    表1 SACM-LIB庫中模塊及其算法

    (2)語音數據的傳輸

    SE061A的通用異步串口(UART)提供了一個8位全雙工標準接口,用于完成與外設之間的串行通信。借助于IOB口的特殊功能和UART IRQ中斷,可以同時完成UART接口的接收與發送數據的過程。根據應用需求,把UART設置為中斷方式接收數據,以查詢方式發送數據。

    UART初始化程序InitUART()見網絡補充版(http://www.dpj.com.cn)。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 监利县| 上虞市| 定安县| 木里| 双江| 揭东县| 滕州市| 墨竹工卡县| 洪洞县| 长汀县| 南漳县| 高雄县| 黔东| 密山市| 固安县| 西藏| 博客| 阳谷县| 宁晋县| 津南区| 榕江县| 禹州市| 辛集市| 阆中市| 叶城县| 恩施市| 岳普湖县| 华安县| 米林县| 津市市| 彝良县| 镇坪县| 手游| 皮山县| 兴文县| 镇平县| 封丘县| 临西县| 新兴县| 辽源市| 连州市|