Vinnaren i pepparkakshustävlingen!
2013-09-26, 16:49
  #1
Medlem
Gör ett projekt där två högtalare skickar meddelanden i form av ljud till varandra. Meddelandet spelas in i en mikrofon som kontinuerligt lyssnar på kanalen. Problemet är hur får man meddelandet korrekt inspelat?

Jag har löst hur den ska detektera att det kommer en signal i kanalen, det jag inte förstår är hur man löser att programmet triggas igång så att hela meddelandet spelas in, hur ska den veta början och slut på meddelandet? Jag använder start/stop frames men vad händer då om vi börjar spela in försent, om signal detection är för långsamt så kommer vi börjar spela in mitt i start frame och misstolka hela meddelandet.
Citera
2013-09-26, 18:35
  #2
Medlem
Jag kan inte så mycket om sånt här egentligen, men är det inte bara att inleda varje meddelande med någon start-ton/ljud som håller på länge nog för att programmet ska hinna sätta igång och spela in, innan själva meddelandet börjar? Systemet borde vara ganska snabbt, så det räcker nog med ett kort pip på en bestämd frekvens eller något sånt. Och sen kan du ha ett annat typ av ljud, pip med annan frekvens, för att signalera att meddelandet är slut.

Ett annat sätt är ju att kontinuerligt spara x sekunder i en buffert, som då är tillräckligt lång för att man ska ha kvar början av meddelandet även om det tar lite tid att upptäcka att ett meddelande är på väg. Sen kan man ju gå tillbaka och bara spara den delen som faktiskt är del av meddelandet i efterhand.
Citera
2013-09-26, 22:40
  #3
Moderator
Ett ganska enkelt sätt att skicka information via ljud är att använda DTMF toner. Varje ton för över 4 bitars information.
Sen är det bara att uppfinna ett protokoll med start/stopp kod och skicka vilken information som helst däremellan. Genom att variera längd på tonen och/eller uppehållet mellan tonerna blir det lätt att särskilja "kontrolltoner" från "informationstoner".

Det går inte särskilt fort men är blir väldigt pålitligt. Det tål en hel del störande ljud, men det finns förstås gränser för hur mycket.
Räkna med tonpulser på ca 100mS för att säkert detektera DTMF toner med hårdvara.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback