Sida 1 av 1

DTMF mellan datorer?

Postat: 18 januari 2008, 17:55:35
av victor_passe
Hej, detta borde väll gå?

Jag kopplar så här:
dator1s parallellport (d0-d3) > dtmf encorder > komradio > komradio > dtmf decoder > dator2s paralellport (status ingångarna)
Med d4 på dator1s port så styr jag ett relä för enkelhetens skull som bryter sända knappen.

Jag kopplar även åt andra håller så jag behöver 2 datorer, 2+2 dtmf omvandlare, 2komradios.

Men funkar det i praktiken? är signalen intakt eller får jag inte ut samma data som jag stoppar in?

Vilken hastighet kan jag komma upp i? 10*4bit/sekund är bra nog för mig iaf.
Kan jag nå det tror ni? eller borde jag snarare satsa på bara 4bit/s.

Aja, vad tror ni? Tips? Komentarer?

Postat: 18 januari 2008, 21:25:19
av speakman
DTMF är väl specat till 100ms så 10*4bits/s borde ju i princip gå då. Den detekterar säkert snabbare än så också under bra förhållanden, och då äre bara å gasa. :)

Postat: 19 januari 2008, 11:53:35
av digitaliz
Hej!
Jag har experimenterat en del med DTMF-dekoders, kommer inte ihåg vad kretsen hette just nu, men de flesta funkar säkert på liknande sätt.

50ms toner var det kortaste jag kunde detektera. 80ms var helt problemfritt.

Sedan hade jag 40 ms tystnad mellan tonerna. En del DTMF-avkodare kan inte detektera en ny ton om det inte finns en tyst period mellan dem. Det finns förutom de fyra datautgångarna också en som talar om ifall en ton har detekterats.

Ett tips för att hantera "drop outs" är att koda datat så att det aldrig innehåller två likadana toner efter varandra. Det är nämligen så att om du knäpper till på telefonledningen (eller radion) mitt i en ton så kan avkodaren registrera det som två toner. Om du t.ex. bara ska skicka siffror så kan du ta en av "bokstavstonerna" som upprepningston, dvs om du ska skicka 000000 så kodar du det som 0C0C0C, där C då betyder "samma som förra". Om du då pga en störning får "0C00C0CC" så är det lätt att plocka bort alla som är lika med föregående. :)
Så gör man när man överför larm över telenätet, från olika utrustningar som kan prata med olika takt...

Om man på förhand vet tiden för varje ton (som man förmodligen gör i ditt fall) så kan man förstås lösa det på annat sätt...

Har du ljudkort i datorerna? Då kan du ju generera och avkoda dtmf i mjukvara! Du kunde ju också experimentera med andra kodningar... kanske en "TTMF" med tre samtidiga toner :)

Postat: 19 januari 2008, 12:47:19
av Icecap
Hur långt ska du sända dessa data?

Postat: 20 januari 2008, 07:09:42
av xxargs
MT887 är den klasiska DTMF-mottagaren, MT8880 kunde både mota och sända.

där tror jag man kunde gå ned till 30 ms per ton och klarar låg signal till brus-förhållande (dock inte lika lågt som CCIR-toner där vissa mottagare (XF003 från CML) kunde plocka toner under brusgolvet med korrelatorer etc. analog DSP)

I CCIR använde man repeat-ton (2110 Hz) för att markera upprepad siffra just av tidigare angivna hack och störningar inte skall misstolkas och ge flera siffror än tänkt i överföringen.

i radio och telefonvärlden så jobbar man med störda kanaler och då måste man bygga sina protokoll efter det så att störningarna inte ger fel i medelandet när hela transaktionen är avklarad.

detta kan lösas enkelt med upprepande, paritesbitar, källkodning (tex. repeat-ton vid lika siffror efter varandra) till mycket avancerad felrättning med redudant data inom kodpaketet och informationsspridning över tiden (interleaving och spread spectrum) så att ett hack i överförningen gör all data i paketet något osäkrare men inget försvinner helt...