Sända data via HD Voice i mobila nätet?
Sända data via HD Voice i mobila nätet?
Har haft uppe funderingen tidigare om att sända data audiellt via en mobiltelefon, kanske inte så funktionellt som bara det att det vore kul om det gick.
Pga. av den tidigare hårda komprimeringen av audio signaler under 2G och 3G + begränsningen av bandbredden på audio frekvenser gick det med nöd och näppe att skicka med 75 baud FSK enligt vad jag läst.
Nu har man dock utökat bandbredden på frekvenser som överförs från 300 - 3400 Hz till 50 - 7000 Hz så att bokstäver som bla. "F" och "S" hörs tydligt, borde det inte då gå att få upp hastigheten på en överföring till något rent av användbart?
Någon som provat?
Pga. av den tidigare hårda komprimeringen av audio signaler under 2G och 3G + begränsningen av bandbredden på audio frekvenser gick det med nöd och näppe att skicka med 75 baud FSK enligt vad jag läst.
Nu har man dock utökat bandbredden på frekvenser som överförs från 300 - 3400 Hz till 50 - 7000 Hz så att bokstäver som bla. "F" och "S" hörs tydligt, borde det inte då gå att få upp hastigheten på en överföring till något rent av användbart?
Någon som provat?
Re: Sända data via HD Voice i mobila nätet?
Visst får du upp bandbredden, men telefonen lär kunna hoppa mellan HD och vanligt ljud.
Enklare att köra 3G/4G data istället....
Enklare att köra 3G/4G data istället....
Re: Sända data via HD Voice i mobila nätet?
Absolut Micke_s, 3G/4G är att föredra! Grejen var som sagt mer "Går det?!" och "Hur bra kan man få det att funka?!" Mest för att det är görbart typ.
Bakgrunden var från början att det hos vissa operatörer är gratis att ringa och sms'a inom familjen även om man hade ett kontantkort som man inte behövde fylla på mer än en gång per år. Vill man skicka data däremot kostar det runt 50kr i månaden eller 19kr per dygn.
Att skicka lite logg data på kanske ca. 500 kilobyte - 1Mb per månad kändes lite onödigt dyrt för ett roligt projekt och klen ekonomi, så där föddes tanken. (För långt emellan logger och mottagare för att nyttja enklare radio utan amatörradio cept dessutom så... fast telefon eller annan internetuppkoppling finns inte.)
Bakgrunden var från början att det hos vissa operatörer är gratis att ringa och sms'a inom familjen även om man hade ett kontantkort som man inte behövde fylla på mer än en gång per år. Vill man skicka data däremot kostar det runt 50kr i månaden eller 19kr per dygn.
Att skicka lite logg data på kanske ca. 500 kilobyte - 1Mb per månad kändes lite onödigt dyrt för ett roligt projekt och klen ekonomi, så där föddes tanken. (För långt emellan logger och mottagare för att nyttja enklare radio utan amatörradio cept dessutom så... fast telefon eller annan internetuppkoppling finns inte.)
Re: Sända data via HD Voice i mobila nätet?
Skaffar du kontantkort från Comviq så debiterar dom 35 öre per megabyte, och debiterar per kb, så om du använder 232kb så debiterar dom bara för de 232kb du har använt. Du måste ladda minst 50kr om året, thats it.
Re: Sända data via HD Voice i mobila nätet?
Kollade på Comviq's hemsida men kan inte hitta det du refererar till. Hittar bara de kontantkort som gäller i en vecka alternativt 30 dagar.
Har du någon länk till just det abonnemanget?
Har du någon länk till just det abonnemanget?
Re: Sända data via HD Voice i mobila nätet?
För att skicka data över uppringd GSM/GPRS-förbindelse finns färdiga lösningen med två GSM-modem typ:
Själva GSM-modulen kan köpas lös för någon hundring men det behövs då lite hård och mjukvara, men tror jag sett något Arduino-exempel så det går göra rätt enkelt.
Alternativt skaffa en äldre 2G-lur med COM-port som tar AT-kommandon. De flesta äldre Ericsson och Nokia-lurar klarar det.
Vill man automatisera överföring och lagring av filer och data behövs någon form av protokoll.
Vill man inte skriva eget protokoll finns enkla protokoll beskrivna på nätet, och även upphottade, typ https://github.com/klamonte/qodem där man ökar dataöverföringshastigheten genom att komprimera binärdata.
Det går överföra binär data över SMS på samma sätt som man överför foto-filer via email, typ en serie hex strängar. Varje SMS blir ett paket, sedan är det upp till din programvara att hantera protokollet, där varje paket t.ex. måste numreras om överförd fil är större än vad som ryms i ett SMS.
Förr då trådade telenätet var i stort helt analogt och bandbredd begränsat till 3kHz kunde man köra 300-1200 baud via modem som kopplades akustiskt till telefon-luren. Ser inte några hinder att använda samma princip även för mobiltelefon.
Nu är det en opraktisk omväg att överhuvudtaget köra analogt för dataöverföring. I mobiltelefonen omvandlas ljudet ändå i vilket fall till digital form via codec, sedan vi övergick från NMT till GSM.
Samma med den vanliga telefonlinan, med direktkopplade modem som inte gick omvägen över högtalare och mikrofon kunde man öka datahastigheten betydligt.
För direktkopplade modem fanns t.ex. V34 standarden på 2400 baud som kunde överföra 28800 bps om teleförbindelsen var god. Man började att förhandla mellan modemen på en lägre fart.
Datahastigheten som medges över uppringda trådlösa telefonnätet för GSM 2G är max 9.6 kbps mha av ett modem eller telefon med com-port.
GPRS 2.5G är minst 35 kbps men det är då inte uppringd förbindelse utan ger koppling till internet och kostar surf-abb.
Själva GSM-modulen kan köpas lös för någon hundring men det behövs då lite hård och mjukvara, men tror jag sett något Arduino-exempel så det går göra rätt enkelt.
Alternativt skaffa en äldre 2G-lur med COM-port som tar AT-kommandon. De flesta äldre Ericsson och Nokia-lurar klarar det.
Vill man automatisera överföring och lagring av filer och data behövs någon form av protokoll.
Vill man inte skriva eget protokoll finns enkla protokoll beskrivna på nätet, och även upphottade, typ https://github.com/klamonte/qodem där man ökar dataöverföringshastigheten genom att komprimera binärdata.
Det går överföra binär data över SMS på samma sätt som man överför foto-filer via email, typ en serie hex strängar. Varje SMS blir ett paket, sedan är det upp till din programvara att hantera protokollet, där varje paket t.ex. måste numreras om överförd fil är större än vad som ryms i ett SMS.
Förr då trådade telenätet var i stort helt analogt och bandbredd begränsat till 3kHz kunde man köra 300-1200 baud via modem som kopplades akustiskt till telefon-luren. Ser inte några hinder att använda samma princip även för mobiltelefon.
Nu är det en opraktisk omväg att överhuvudtaget köra analogt för dataöverföring. I mobiltelefonen omvandlas ljudet ändå i vilket fall till digital form via codec, sedan vi övergick från NMT till GSM.
Samma med den vanliga telefonlinan, med direktkopplade modem som inte gick omvägen över högtalare och mikrofon kunde man öka datahastigheten betydligt.
För direktkopplade modem fanns t.ex. V34 standarden på 2400 baud som kunde överföra 28800 bps om teleförbindelsen var god. Man började att förhandla mellan modemen på en lägre fart.
Datahastigheten som medges över uppringda trådlösa telefonnätet för GSM 2G är max 9.6 kbps mha av ett modem eller telefon med com-port.
GPRS 2.5G är minst 35 kbps men det är då inte uppringd förbindelse utan ger koppling till internet och kostar surf-abb.
Re: Sända data via HD Voice i mobila nätet?
Att skicka modulerad modemsignal genom en talkodare som är anpassad för människan sätt att prata kan ge väldigt konstiga resultat i andra ändan (dessutom är talkodarna lite olika beroende vilken språkgrupp den riktar sig till)
Talkodarna är inte någon hårdkomprimerad mp3 om man skulle tro det - och även mp3 med bara ca 12 kb/s är synnerligen trasig på mottagarsida - så trasig att det inte går att använda för tal. (det är i princip bara glaskrossliknande, pip och tut snabbt i olika tonläge med besvärade 'plaskljud' hela tiden)
Det betyder att modemmodulering passar synnerligen illa gentemot hur talkodarna arbetar vilket innebär att även om det för örat låter bra och med bra frekvensgång så kan det bli påverkan att även om signalen låter lika (för örat alltså) så innebär det inte att kurvformen ens i närheten ser lika ut - tex modembrus (9600 baud och högre) kan ersättas med brus från en brusgenerator lokalt genererad i mottagande telefonen och har ingen med inkommande signalen att göra mer än att sändande telefonen beordrade att brusgenerator med vis färg och nivå skall sändas under denna tid i mottagande sidan.
Därför kommer förmodligen symboltiden fortfarande ligga på som tidigare när modesignalen består av lätt skiljbara 'stavelser' i modulationen som tex. 75 Baud modem som i princip bara tonskiftar mellan två frekvenser och så långsam att talkodarna betraktar dessa som stavelse ala från röst, medans det blir problem när man försöker köra fortare eller inför sådana saker som fasskift-modulation (D-PSK) då sådan information inte följer med över utan bara som en syntetisk ljudhärmning av detta hur vi människor uppfattar detta med öronen.
Talkodarna är inte någon hårdkomprimerad mp3 om man skulle tro det - och även mp3 med bara ca 12 kb/s är synnerligen trasig på mottagarsida - så trasig att det inte går att använda för tal. (det är i princip bara glaskrossliknande, pip och tut snabbt i olika tonläge med besvärade 'plaskljud' hela tiden)
Det betyder att modemmodulering passar synnerligen illa gentemot hur talkodarna arbetar vilket innebär att även om det för örat låter bra och med bra frekvensgång så kan det bli påverkan att även om signalen låter lika (för örat alltså) så innebär det inte att kurvformen ens i närheten ser lika ut - tex modembrus (9600 baud och högre) kan ersättas med brus från en brusgenerator lokalt genererad i mottagande telefonen och har ingen med inkommande signalen att göra mer än att sändande telefonen beordrade att brusgenerator med vis färg och nivå skall sändas under denna tid i mottagande sidan.
Därför kommer förmodligen symboltiden fortfarande ligga på som tidigare när modesignalen består av lätt skiljbara 'stavelser' i modulationen som tex. 75 Baud modem som i princip bara tonskiftar mellan två frekvenser och så långsam att talkodarna betraktar dessa som stavelse ala från röst, medans det blir problem när man försöker köra fortare eller inför sådana saker som fasskift-modulation (D-PSK) då sådan information inte följer med över utan bara som en syntetisk ljudhärmning av detta hur vi människor uppfattar detta med öronen.
Re: Sända data via HD Voice i mobila nätet?
Så kategorisk vill jag nog inte vara, det är bättre att analysera vilken typ av modulering som ger bäst prestanda. Traditionell FSK via GSM codec är fungerar mindre bra då det kickar igång något i GSM-codecen som kallas VAD (Voice Activity Detector) vilket dramatiskt distorderar kraftiga tonskift och mer eller mindre blockerar smalbandiga signaler. VAD har till uppgift att bara släppa igenom det som den uppfattar som tal. Codecen letar även efter möjlighet att förenkla snarlika tonföljder, vilket gör att t.ex. inband DTMF är i stort ej fungerande. DTMF i ljudkanalen detekteras i bästa fall och signaleras istället via en separat data-kanal som är så långsam att det inte går använda för någon mer omfattande data-överföring.Det betyder att modemmodulering passar synnerligen illa gentemot hur talkodarna arbetar
En av modulationsvarianterna går lite förenklat ut på att skapa data-modulation med högsta möjliga informationsbärande spektrala täthet i det frekvensområde i GSM-codecens kanal som ger högsta SNR (~2kHz) för att därigenom även få hög baudrate.
Den vanligaste metoden att få hög spektral täthet är att använda många smalbandiga kanaler. Det får aldrig bli tyst på någon kanal så Manchesterkodning och D-PSK är lämpligt.
Tekniskt kan man jämföra med modulation av DVB-h som fungerar på lite liknande sätt.
För att inte GSM-codecen ska se data-överföringen som brus och låta VAD klippa lägger man in en slumpmässig men tal-lik amplitudmodulering i området 300-800 Hz, vilket sätter VAD ur spel även för de högre frekvenserna.
Det finns säkert många varianter på temat men de flesta dataöverföringar i GSM talkanal jag sett har varit i denna stilen.
MP3 är allt för ineffektiv att överföra tal-spektrat jämfört med GSM-AMR eller extremerna codec2, lpc10 som klarar överföra förståeligt tal vid 2kbps eller ännu mindre. De sistnämndas roll i sammanhanget kommer längre ned.
MP3 behöver typiskt 10 ggr högre bandbredd för samma ljudkvalitet vid talöverföring som codec2.
Lyssna på detta ljudtest, codec2 2,4 och 1.2 kbps:
Jämför ljudkvalitet på Mp3 med flera gånger högre bandbredd, 8kbps:
Dessa codecs som klarar låg bandbredd arbetar helt annorlunda än MP3-codecen. Grundprincipen är att de fungerar som en mångkanalig (10-30 kanaler) vocoder med anpassad samplingsrate för de olika frekvenserna medans MP3 vid låg bandbredd blir en enkanalig vocoder med fast samplingrate och stor data-overhead.
Varför skulle man då vilja använda talkanalen (GSM AMR 12.2 kbps) till digital data när det är enkelt att köra data direkt via com-porten? Det enda kommersiella exempel jag hört talas om är då man på ett enkelt sätt vill överföra tal i digital och egenvald krypterad form över talkanalen i en GSM mobiltelefon mha av en telefon som medger anslutning av headset men inte har com-porten tillgänglig.
Sådant headset/mjuk/hårdvara erbjuds här: http://www.mulsys.com/products.htm
Mulsys överföring av data sker med krypteringsbar tal-codec som arbetar ger 1.2-2.4 kbps.
Man använder en variant av codec2. Vid den lägre bandbredden, 1200 bps används 14 data-kanaler modulerade DQPSK i 50 baud (200 bps) med 75 Hz spektralt mellanrum och en separat bitklocka som överförs kontinuerligt, modulerad med DBPSK. Råa databandbredden blir 2*50*14=1400 baud vilket ger lite utrymme för kontrollbitar utöver det digitaliserade talet.
Det behöver inte vara digitaliserat tal utan det kunde lika gärna varit valfri digital datafil som överförs med denna bandbredden.
Det kan verka som en krångligt och resurskrävande typ av modulation, men man har implementerat detta i en liten MCU och som alternativ även tagit fram mjukvara som ska gå köra direkt på en mobiltelefon.
En detalj är att kod-nyckel måste finnas även i codecen i andra änden av telefonförbindelsen för att avkodning ska vara möjlig. Nyckeln skapas av ett signaturord som måste talas in av samma person i bägge codecarna, som vid inläsningen ska vara i offline-läge. På det viset slipper man hantera nycken manuellt.
Snabbare data än 1-2kbps i ljudkanalen är möjligt, men till kostnaden av betydligt ökat BER. Om överförd data ska vara felfri behövs mer omfattande felkorrigering vilket kostar sänkt informationshastighet så vinsten med ökad bandbredd äts upp.
I sammanhanget passar annars FER (forward error correction) bra för felrättning men samtidigt skapar metoden en relativt stor fördröjning då flera paket måste sparas i minnet innan de kan avkodas. Fördröjningen kan vara mer än en sekund, vilket inte är önskvärt vid tal-kommunikation, men för ren data-överföring kan det ge ökad baudrate.
För mer allmän överföring av digital data har det varit ett populärt som student-projekt att undersöka hur hög datatakt man kan nå på en GSM ljudkanal.
Några studentprojekt:
Modem för GSM ljud-kanal: http://v3solar.com/wp-content/uploads/2 ... Epaper.pdf
Försök med 3 kbps: http://signal.ee.bilkent.edu.tr/defeven ... cr1512.pdf
Re: Sända data via HD Voice i mobila nätet?
För att lista ännu ett problem är operatörernas eko-cancellerings utrustning som sitter någonstans mellan de båda telefonerna. Codecarna som sitter i telefonerna är hårt specade (ner på bitnivå, förutom en codec som tillåts implementeras med floating point) men såvitt jag vet är eko-grunkorna inte standardiserade.
Med reservation för att det börjar bli ett antal år sedan jag jobbade med dessa saker.
Med reservation för att det börjar bli ett antal år sedan jag jobbade med dessa saker.