999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SHARC DSP音頻算法開發的調試數據分析

2017-03-27 17:23:46江波
電子技術與軟件工程 2017年4期

江波

摘 要 SHARC DSP廣泛應用于數字音頻產品中,為分析SHARC DSP音頻算法開發中的調試數據,采用了文件讀寫、數據流、操作數組和存儲空間等4種數據輸入輸出方法,以及在軟件開發平臺VisualDSP++中實現的主要步驟及關鍵代碼。以參量均衡算法為例說明如何用MATLAB對調試數據進行分析。

【關鍵詞】音頻 數據模擬 SHARC DSP VisualDSP++

1 引言

目前很多數字音頻產品都是采用DSP作為信號處理平臺。為降低產品開發難度、加快進度,國內廠家目前使用較多的是基于圖標編程的專用音頻DSP,如ADI公司的ADAU1701 SigmaDSP和TI公司的TAS3108。然而這類基于圖標編程的DSP雖然使用方便,但算法功能卻受限于現有的算法圖標,僅適合較常用的功能,且不同廠家開發的產品易出現同質化的現象。為提升產品的競爭力,有些廠家研究出自己的音頻處理算法,在通用DSP上通過編程實現。ADI公司生產的SHARC系列DSP是數字音頻產品中常用的通用DSP,其軟件開發平臺是VisualDSP++(近年推出了CCES軟件,支持與SigmaDSP開發軟件平臺的互連,目前VisualDSP++還是得到廣泛應用)。在SHARC DSP上調試音頻算法時,除了需將算法通過程序實現外,還需對算法程序調試的調試數據進行分析。以下討論DSP開發平臺上音頻數據輸入輸出模擬的實現方法及如何用MATLAB對調試數據進行分析。

2 音頻數據輸入輸出模擬

常見的DSP音頻信號處理框圖如圖1所示。

其中音頻算法一般需要在DSP軟件開發平臺中先通過軟件仿真的方式進行調試,在這個過程中沒有外部聲音信號輸入,也無法將處理好的聲音信號輸出給外部設備,所以需要對圖1中的信號輸入輸出部分進行模擬。下面討論在VisualDSP++5.0上模擬輸入輸出音頻數據的幾種方法。

2.1 通過文件讀寫進行模擬

通過調用文件操作函數,對WAV、PCM等常用的聲音文件進行讀寫,圖2是操作框圖。

本例程有兩點需要注意:一是WAV文件有44個字節的文件頭,不能作為聲音數據進行處理,因為文件頭有保存文件類型大小等,不是聲音的具體數據;二是在SHARC DSP中各種數據類型的比特數,比如short int/int/float等數據類型均為32比特。

2.2 通過數據流進行模擬

數據流可以模擬通過外部端口或存儲器與DSP處理器進行數據傳輸。在VisualDSP++菜單中選擇“Settings\Streams\Add”,彈出圖3所示界面。

共有Source和Destination兩欄,通過對這兩欄的相關參數進行設置即可模擬數據的輸入輸出。

模擬數據輸入:在Source欄設定File路徑,在Destination欄設定Debug target,既可以是各種接口,也可以是存儲器地址。為方便處理,可以在程序中定義一個變量,然后將該變量地址作為接收文件數據的Debug target。

模擬數據輸出:在Source欄設定Debug target,在Destination欄設定File路徑。實際的算法仿真時,可以將保存輸出數據的變量地址作為Debug target,程序運行時系統就會將輸出數據保存到輸出文件中。

數據流模擬時都要使用到數據文件(后綴名為dat),這種dat文件要滿足一定的格式,即將所有數據排成一列,可以通過Matlab或C語言編程對dat文件進行讀寫。更簡便的方法是通過CoolEdit軟件進行dat文件讀寫:若要寫一個dat文件,則先打開一個聲音文件,然后選擇另存,類型選txt,最后寫自己定義的文件名(后綴寫dat);并將該dat文件中的前面幾行文件頭信息去掉;若要讀一個dat文件,直接打開該文件,然后選定采樣率和數據量化比特數即可。

2.3 通過操作數組進行模擬

以上兩種方法主要模擬數據量較大、無法預存到存儲空間的情況,對于少量數據的情況,輸入數據的模擬可以定義一個輸入數組,用原始聲音數據對其初始化。輸出數據的模擬也可以定義一個輸出數組,將所有處理好的數據都存入這個數組。

輸入數組的初始化有幾種方法,最直接的方法是將所有數據列出來,但對于幾百甚至幾千個數據的情況,顯得頁面不夠簡潔,建議用以下兩種方法。

2.3.1 匯編語言環境下用dat文件初始化數組

首先將原始數據寫入一個dat文件(例如input.dat),然后新建一個asm文件,定義數組名(例如_inputx),選擇存儲區(例如seg_dmda)。以下是相關代碼:

.global _inputx;// 聲明全局變量

.SECTION/DM seg_dmda;// 定義數組存放的存儲區

.VAR _inputx[N]= "input.dat"; // 用input.dat文件的數據對數組初始化

然后在C語言文件中先將_inputx聲明為外部變量:extern int inputx[N],這樣就可以調用了。這里有兩點需要注意:一是在asm文件中數組名前面有一個“_”,而在C語言文件中則無需加這個符號;二是在C語言中inputx數組的數據類型由input.dat中的數據類型確定,若為float型,則將聲明外部變量語句改為:extern float inputx[N]。

2.3.2 C語言環境下用dat文件初始化數組

2.4 通過操作存儲空間進行模擬

在VisualDSP++菜單中選擇Memory\Two column,將彈出DM(數據存儲空間)界面,如圖4所示。在空白欄中輸入絕對地址或數組名(例如圖4中的InputData),則在存儲空間欄內將顯示相應地址的內容,此時可以直接查看數據或手動修改相關地址上的數值。在菜單中若選擇Memory\Three column,則將彈出與圖4類似的PM(程序存儲空間)界面。

也可以在菜單中選擇Memory\Fill,對某個地址直接填充數據,或通過dat文件對存儲空間的數據進行填充。同樣的,也可以在菜單中選擇Memory \Dump,將存儲空間中的數據導出為一個dat文件。

3 調試數據的MATLAB分析

為分析VisualDsp++軟件平臺中音頻算法的調試數據是否正確,選擇上述數據模擬方法將調試數據從DSP開發平臺導出,然后導入MATLAB中進行分析。這里以參量均衡算法為例進行說明。

3.1 參量均衡算法原理

參量均衡器是由一種峰值帶通濾波器,用來調整聲音信號的幅頻特性。參量均衡器的Q值、增益和中心頻率3個參數可調。當增益大小在0dB以上稱為峰值濾波器,反之稱作陷波器(對信號的某一頻段起到衰減的作用)。

3.2 MATLAB數據分析

參量均衡算法DSP軟件實現流程如圖5所示。實驗中所用的音頻數據來自于TIMIT數據庫中NeoSpeech_Ashley.wav(男聲)語音。通過CoolEdit軟件將.wav格式的語音轉換為后綴為.dat格式。

整個實現過程中參量均衡器的參數設置如下:Q值為14,中心頻率w0=1000Hz,濾波器增益G為-6dB。對程序經行編譯后,在VisualDSP++菜單中選擇“Settings\Streams\Add”進行數據的導入與導出。采用上述2.2中的方法進行聲音數據的導入與導出,采用上述2.4中的方法導出參量均衡器的濾波器系數。將DSP中參量均衡器的濾波器系數和DSP中經參量均衡器濾波后的聲音數據導入到MATLAB中,并將其與用MATLAB進行計算和處理的結果進行對比,從而來進行判斷DSP算法程序的準確性。

圖6,是MATLAB直接計算和通過DSP計算得到的參量均衡器的幅頻響應圖像,只有通過對MATLAB得到的圖形進行加粗才能看出有兩條曲線。圖7參量均衡器濾波后的聲音數據時域波形圖和幅頻圖,曲線重合,說明了DSP濾波處理得出的輸出結果和用MATLAB仿真得出結果是一致的。

4 結語

在VisualDSP++軟件平臺中用軟件仿真的方式來調試SHARC DSP音頻算法程序時,可以通過文件讀寫或數據流操作的方法模擬大量的數據輸入輸出。對于數據量較少的情況,則可以通過操作數組或存儲空間的方法對輸入輸出數據進行模擬。使用者可以根據自己需求選取適合的數據模擬的方法,從而減少軟件仿真所需要的時間。DSP音頻算法的調試數據可導入到MATLAB中進行分析對比,驗證算法程序是否正確。

參考文獻

[1]ADI.ADAU1701:SigmaDSP? 28/56-Bit Audio Processor with Two ADCs and FourDACs [G/OL].(2013-8-1)http://www.analog.com/en/processors-dsp/sigmadsp/ADAU1701/products/product.html.

[2]TI.TAS3108Digital Audio Processor[G/OL].(2013-8-1).http://www.ti.com/product/tas3108.

[3]張承云,高星輝.音頻專用DSP的軟件設計方法[J].電聲技術,2009,33(10):39-42.

[4]ADI.CrossCore? Embedded Studio for Analog Devices Processors[G/OL].(2013-8-1).http://www.anal-og.com/en/evaluation/adswt-cces/eb.html.

[5]馮小平,羅勇江,羅明.ADSP技術與應用[M].北京:機械工業出版社,2008.

[6]Regalia P,Mitra S.Tunable digital frequency response equalization filters[J].IEEE Transactio-ns on Acoustics Speech & Signal Processing,1987,35(01):118-120.

作者單位

廣州大學機械與電氣工程學院 廣東省廣州市 510006

主站蜘蛛池模板: 97青草最新免费精品视频| 制服丝袜 91视频| 亚洲欧洲天堂色AV| 国产成人精品2021欧美日韩| 欧洲高清无码在线| 国内精品视频在线| 国内精品免费| 日本欧美午夜| 精品三级在线| 久青草网站| 欧美成人一级| 国产最新无码专区在线| 99无码中文字幕视频| 国产99视频免费精品是看6| 亚洲精品免费网站| 久久毛片免费基地| 日韩东京热无码人妻| 99热这里只有精品2| 波多野结衣无码中文字幕在线观看一区二区 | 无码一区18禁| 波多野结衣一区二区三区四区视频| 青青网在线国产| 国产chinese男男gay视频网| 日韩午夜伦| 乱系列中文字幕在线视频 | 夜夜高潮夜夜爽国产伦精品| 日韩色图区| 国产精品吹潮在线观看中文| 日本草草视频在线观看| 凹凸国产熟女精品视频| 国产91蝌蚪窝| 伊人大杳蕉中文无码| 91啪在线| 日韩欧美国产精品| 中国成人在线视频| 91福利国产成人精品导航| 五月天久久婷婷| 国产一级毛片高清完整视频版| 国产成人精品无码一区二| 一区二区三区国产精品视频| 久久婷婷五月综合色一区二区| 九色在线视频导航91| 国产理论精品| 毛片手机在线看| 99久久亚洲精品影院| 新SSS无码手机在线观看| 欧美人在线一区二区三区| 9久久伊人精品综合| 污网站在线观看视频| 日韩东京热无码人妻| 91黄色在线观看| 亚洲第一黄片大全| 四虎成人精品在永久免费| 国产精品久久自在自线观看| 国产99视频精品免费观看9e| 国内精品视频区在线2021| 精品99在线观看| 97人妻精品专区久久久久| 久久精品91麻豆| 91久久夜色精品国产网站| 欧洲精品视频在线观看| 国产成人精品免费av| 青青网在线国产| 亚洲国产欧洲精品路线久久| 在线不卡免费视频| 亚欧成人无码AV在线播放| 亚洲无线一二三四区男男| 国产精品太粉嫩高中在线观看| 国产乱人免费视频| 一本视频精品中文字幕| 亚洲αv毛片| 欧美国产日韩在线| 第一页亚洲| 2022精品国偷自产免费观看| 国产一区二区三区在线观看免费| 亚洲第一中文字幕| 大陆精大陆国产国语精品1024| 婷婷色一二三区波多野衣 | 亚洲伊人天堂| 亚洲国产第一区二区香蕉| 国产高清自拍视频| 一级香蕉人体视频|