bench.txt
来自「利用ti54x系列dsp编解码dtmf源程序的第三版」· 文本 代码 · 共 116 行
TXT
116 行
-----------------------------------------------------------------
Benchmarks for modified C54x DTMF codec (Rev. 3.0)
-----------------------------------------------------------------
This is the modified code of the the one described in the appnote.
The following changes have been made.
(1) the code is fully reentrant, and C-callable
multiple channel decoder is easily setup in C
(2) buffered concept (as opposed to sample by sample)
advantage is MIPS count reduction by 50%
disadvantage is an increased DATA memory requirement of approx
242 words per channel due to double buffering of data
(3) no overflow check needed due to improved gain control
(4) improved digit validation tests offer greater robustness
(5) conditional computation of 2nd harmonic frequencies
further MIPS count reduction by approx 30%
(6) Integrated DTMF tone generator
c-callable, can coexist with DTMF detector
****************************************************************
****** Benchmarks for DTMF decoder ********
****************************************************************
******** MIPS counts **********
The given MIPS counts are for a single channel decoder. The decoder
is capable of decoding 16 frequencies (4 row, 4 column, 8 2nd harmonics).
Sampling rate is assumed to be 8 kHz.
- DTMF algorithm based on Goertzel-DFT
Cycles per Processor load
102 samples in MIPS
data block
Overhead (can vary) 100 cycles 0.008 MIPS
gaincontrol function 575 cycles 0.045 MIPS
goertzel-function 4637 cycles 0.363 MIPS
DTMF-digit validation 1544 cycles 0.121 MIPS
--------------------------
TOTAL (per full DTMF channel) 6865 cycles 0.54 MIPS
******** Memory utilization *********
Assumed are n=16 frequencies.
- DATA space
data buffer 102*n
taps template 20*n
energy template 10*n
variables 8*n
coefficients 16
keys template 16
--------
TOTAL (n channels) 140*n+32
The DATA space requirements increase are due to the buffering of
a 102 samples data block per channel. The functions will operate
on these data buffers as opposed to a sample by sample concept.
- PROG space
main, subroutines 589 words
ISRs, inits, C-environment 351 words
---------
TOTAL 940 words
******** Performance *****************
successfully tested to MITEL digit test
successfully tested to MITEL talk-off
successfully tested to BELLCORE talk-off
****************************************************************
****** Benchmarks for DTMF encoder ********
****************************************************************
******** MIPS counts **********
Sampling rate is assumed to be 8 kHz.
Cycles per Processor load
102 samples in MIPS
data block
Overhead (can vary) 100 cycles 0.008 MIPS
DTMF tone generation 1790 cycles 0.140 MIPS
--------------------------
TOTAL (per full DTMF channel) 6865 cycles 0.148 MIPS
******** Memory utilization *********
Assumed are n=16 frequencies.
- DATA space
data buffer (**) 102*n
oscillator states 16*n
variables 9*n
coefficients 8
keys template (***) 16
--------
TOTAL (n channels) 127*n+24
(**) this can be the same buffer used for the decoder.
(***) this can be the same keys template used for the decoder.
- PROG space
encoder subroutines 198 words
---------
TOTAL 198 words
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?