最近在ARMv5 Core 做 AMR-WB optimization, MIPS降到28时,有点做不动,开始用中文搜看看有没有好的经验share,但是一无所获。后来在google上,用 AMR-WB optimization search ,发现还是外国网站上的技术SOS做得好,中文的相关论坛都是灌水的多啊。bs一下。
让我们学习一下外国技术论坛,我们应该要学习.
Q:
Hello everybody,
I am working on the optimization of the AMR-WB speech codec code obtained from ITU-T on the c6211 dsk. I have done the optimization techniques suggested for TI's optimizing compiler like using intrinsics, loop trip counts, scratch-pad memory etc..BUt still haven't acheived the desired performance. The program takes 150 MCPS for full-duplex operation. I have to make it work under 25 MCPS for full-duplex. I guess I have to do algorithmic level optimization now.
I have some knowledge of the speech coding algorithms. But I am not sure about where to start from.
Please guide me as to what are the steps that has to be taken in this direction. What all things should be done. I would like to know whether its worth changing the algorithms. Or is there some other techniques like decreasing the bits used for the fixed-point representation in some parts, or change the tables that are used in the code-book search etc..Kindly list all of the techniques like these that are normally used. If assembly coding has to be done then how to choose the functions that needs to be optimized?
Thanks in advance for all your help..
Regards
Saleem 
A1:
Saleem,
I suggest you to implement some functions in ASM whcih take much processing 
time. Some of those signal processing functions may be optimized by using 
ASM features like circular buffers, filters etc.
Good Luck.
A2:
Hai saleem,
Since you are going for algorithmic level optimization, you have to find which part of the codec is more complex. I think the codebook search algorithm will lead.
There also some function in the program which has small complexity but it will be called many times so that the final complexity due to the function will be large. So please find out which of the functions are called very frequently. Because small saving in that function will result in large difference. 
There also many algorithm available in the net for efficient code book search, fast implementation of auto-correlation functions and convolution. 
For example, convolution implemented using FFT requires less complexity. Blakenship method of implementing autocorrelation have less complexity.
Regards
Venkat Mistakes are not end of the world but repeating them is 
A3:
Saleem:
Just adding to what venkat has said. I referred to the following link for options on autocorrelations
http://www.isip.msstate.edu/projects/speech/software/documentation/class/algo/Correlation/index .html
I used the second option given and that works fast as compared to the first one.
The site has given all the options for implementation and the references for their implementation.
All the best.
- Sanjay Patil
Mar 02, 2005. 1213 hours central. Wednesday. venkat ramanan <> wrote:
Hai saleem,
Since you are going for algorithmic level optimization, you have to find which part of the codec is more complex. I think the codebook search algorithm will lead.
There also some function in the program which has small complexity but it will be called many times so that the final complexity due to the function will be large. So please find out which of the functions are called very frequently. Because small saving in that function will result in large difference. 
There also many algorithm available in the net for efficient code book search, fast implementation of auto-correlation functions and convolution. 
For example, convolution implemented using FFT requires less complexity. Blakenship method of implementing autocorrelation have less complexity.
Regards
Venkat Mistakes are not end of the world but repeating them is 
To 
---------------------------------------------------------------------------------
Honour or Shame from no conditions doth rise, 
ACT well you part, there's all HONOUR lies
--------------------------------------------------------------------------------- 
---------------------------------
Celebrate Yahoo!'s 10th Birthday! 
Yahoo! Netrospective: 100 Moments of the Web 
A4:
What is u r requirement?
I am not sure but I think u must be looking for bit exact implementation.
If it is so then you may loose bit exact implementation if u modify the
algorithm.
You need to consider this before modifying the algorithm.
Regards,
Nitin 
This is all.
我看了一下,还是很有帮助的。
 
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号