MF Receiver DSP C Code
detects dual-tone signals to ITU Q.441 R2 signalling format. R2 transmission
is done by choosing tone-pair combinations from the following two 6-tone
900/ 780/ 660/ 540Hz
composite tone signal can send one of 15 digits (6C2 = 15) in each direction
according to the digit code set.
C code is suitable for any processor with an ANSI-compliant C compiler.
It is designed especially for efficient operation on low-cost fixed-point
DSP- and general-purpose micro-processors. All data memory is specified
as 16-bit integer words. Multiplies are integer 16x16-bit with 32-bit
The software is in the form of 4 callable subroutines:
two are for loading default parameters and initialising per-channel memory,
one is for accessing any newly detected digit, and the main one is for
per-sample processing. It can easily be used in a multi-channel mode:
a pointer is set to each per-channel block of memory at each sub-routine
call. By making multiple sub-routine calls, the code can be operated on
blocks of samples.
The code is near load-balanced
so there is no significant MIPS variation per sample. To suit application,
some digit detection parameters are made user-programmable. Operation
can be at 8.0kHz or 9.6kHz sample rates. A user's guide is supplied.
the conditions under which R2 digit states are registered either a new
digit when in the "pause" state or else a pause(non-digit) when
in the "digit" state are as follows. The symbols Pth, Rtw signify
that the parameter is user-programmable. All levels are per R2 tone.
>= Pth (Pth >= -45dBm)
< Pth & >= -3dBm
tone +6dBm is peak
<= Rtw (Rtw<= 10dB)
receiver is designed to pass the ITU Q.455 requirements.
#example figures from compiling for the TI TMS320C5000(C55x) DSP processor
at 8.0kHz sampling
NOW - sale is under licence - integration support offered