最近在ST公司的STxp70的dsp平台上开发音频codec模块.
公司最近和ST公司有個DAB的項目, 需要將AACplus,BSAC,MPEG-lay2以及lay3的算法在該dsp平臺上
進行優化.這個dsp平臺比較的奇怪和TI的以及arm的core不太一樣,它有一個基本core以及基本指令集,它的
擴展的一些數學指令集是通過增加一些extension庫來實現的.不過優化后的效率還是比較令人滿意的.
用的時候感覺同neon指令集似曾相識,
其實是不一樣的, st的這個dsp對于SIMD方面的支持較少, 主要是對于數據精度上可以給用戶以很大的支持.
有浮點寄存器組以及相應的指令集和寬度達到為64位的寄存器組以及相應的指令集.我想這些在一些對于音頻效果
要求較高的場合可能有用處吧.
在開發的過程中碰到一些問題,但是都不是技術上的,發現老外的效率并不如想象中的那么高,常常一個問題的
提出到收到他們的回復,一個多星期都已經過去了. 因為這個浪費了我不少的時間.本來三個codec一共可能只要
兩個月時間都可以搞定的,但是前期他們給的支持太少,文檔又沒有給全,導致優化完后,他們又發來一些新的
指令集的文檔,又要使用新指令集重新進行優化.
其中MP1x標志是對于多媒體處理方面指令集的擴展;fpx標志是浮點指令擴展標志.
ST的該款dsp的v3版本支持program cache,data cache沒有. internal program memory只有64kb,
internal data memory有160kb. 它的外部memory有高達26個cycle的延遲, 而經過測試它的p-cache
效果并不是非常理想. 不過該dsp的開發環境workbench中通過使用IPA標志可以較大的對code size進行壓縮,
效果還是比較的理想. 并且提供對代碼進行性能測試的工具與函數. 不過它的profiler工具總是無法在我自己的
機子上工作, 真是很郁悶.
?
感覺自己目前對于音頻codec在應用方面的能力已經沒有什么問題了,目前自己具備的經驗包括:
1)浮點算法階段需要的進行算法級優化的能力: FFT的優化(實序列方面), mdct方面的優化.
2)TI公司系列的匯編指令64系列,54以及55系列.
ARM公司v4,v5,v6,以及neon指令系列
以及最近搞的st公司的dsp匯編指令.
目前感覺新拿到一個core的manual可以保證在一個星期內熟悉指令集并進行開工優化.
其實個人感覺只要你懂了TI公司的C64的匯編優化方法,其他大部分的core的優化都應該問題不大.
因為他們的優化難度都不如TI的c64, 這是我的體會.
3)掌握了將算法從浮點轉換到定點.
?
以下是以后要做的:
以后可能要多看看數字信號處理方面的書籍,如oppenham的書.
掌握基音搜索算法在speech領域.
掌握huffman編碼方面的知識.
多多使用matlab進行算法方面的仿真來加深自己對知識的理解.
?
?
轉載于:https://www.cnblogs.com/wzgpeter/archive/2010/07/29/1787772.html
總結
以上是生活随笔為你收集整理的最近在ST公司的STxp70的dsp平台上开发音频codec模块.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Springboot实现仓库管理系统
- 下一篇: 信息化建设规划制定的难点及关键点分析