On Tuesday 07 March 2006 08:19, Roger Bille wrote:
> I have problem with decoding DTMF. For example I get 100% correct from
> some Yeasu handhelds but others for example Kenwood TH-D7 always fail (I
> have test more than one of these), some number are ok but other always
> fail. I have run the dtmf_plot and have an average level of 80-90%, I have
> tried different level settings. On the graphs I see two things, first the
> Yeasu are much cleaner and distinct detecting while Kenwood are widther in
> the base. But the key thing is that all tested devices are identified
> slight lower frequency than expected, i.e. the yellow bar to the left of
> the appropriate red bar has higher value. This can for example be related
> to the A/D conversion of the soundcard. Can I tune svxlink DTMF decoding or
> is there anything else I should try?
Sorry, there is no settings to tweak for DTMF decoding.
As you say, it could be the sound card. If you have the possibility to try
another sound card it would be interresting. Notably, many on board (built in
on the mother board) sound chips are evil. Especially on older computers.
If you want to experiment a little, grab the source code and find the file
svxlink/svxlink/DtmfDecoder.cpp. In this file, the tones are defined:
row = new DtmfToneDetector(true, 0, 697);
row = new DtmfToneDetector(true, 1, 770);
row = new DtmfToneDetector(true, 2, 852);
row = new DtmfToneDetector(true, 3, 941);
col = new DtmfToneDetector(false, 0, 1209);
col = new DtmfToneDetector(false, 1, 1336);
col = new DtmfToneDetector(false, 2, 1477);
col = new DtmfToneDetector(false, 3, 1633);
You could also try to modify svxlink/svxlink/ToneDetector.cpp. Find the
SAMPLING_RATE define. Change it and see what happens. It should of course
affect all tone detectors. Maybe this is the best approach instead of
modifying the DtmfDecorder fqs.
Recompile and try it. The dtmf_plot application also use the same file so that
should change too. Please report your results to the list. Maybe it's a good
idea to have a configuration variable for the sampling rate.
73 de SM0SVX / Tobias
> 73 de Roger/sm5nrk