📄 bench.txt
字号:
-----------------------------------------------------------------
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -