Hallo, habe ein Projekt vor und benötige Hilfe bei der Umsetzung. Ist es möglich mit einem RFM12 Sprache in annehmbarer Qualität (GSM) zu übertragen und was brauche ich noch dazu? Momentan ist folgender Sachstand: An einem Rekorder wird momentan ein Elektretmikrofon angeschlossen und aufgezeichnet. In dem Rekorder ist alles Verbaut was benötigt wird (Verstärker etc..). Die Steckverbindung zwichen Mikro und Recorder ist eine IP40. Jetzt will ich statt dem Elektretmikrofon einen RFM12 Sender/Empfänger an den Rekorder anschliesen, welcher sein Signal von einem weiteren RFM12 erhält an dem wiederum ein Elektretmikrofon angeschlossen ist. Die zu überbrückende Stecke ist max. 7 - 10 Meter. Geht sowas bwz. hat jemand Ansätz oder ein ähnliches Projekt? Vielen Dank im Voraus und Gruß an Alle....
Thron schrieb:
> was brauche ich noch dazu?
Einen µC mit ADC und DAC und Software und noch ein paar Kleinigkeiten.
Einfacher:
Du baus ein Funkkopfhörersystem um.
Um Sprache digital mit GSM zu codieren/decodieren brauchst du die Rechenleistung eines DSP, ein µC ist damit hoffnungslos ueberfordert. Warum nicht einfach ein Funkmikrofon einsetzen ?
Axel, er wollte das doch nicht mit GSM codieren, sondern nur in mit GSM vergleichbarer (also recht miserabler ;-) Qualität übertragen. Keine Ahnung, ob dafür ein RFM12 ausreicht, vermuten würde ich es schon.
Ja, reicht aus. Beim Windows Audio Recorder z.B. kann man 8 Bit / 8 kHz aufnehmen. Das reicht für Sprache problemlos. Soweit ich weiss, reichen auch 4 Bit noch aus und unter gewissen Umständen kann man bis auf 1 Bit runter gehen um trotzdem noch etwas zu verstehen. Das sind 64 Kbit/s, die Funkmodule schaffen soweit ich weiss 115.2 Kbis/s. Solche Aufnahmen sind noch dazu gut komprimierbar.
P. M. schrieb: > nter gewissen Umständen kann man bis auf 1 Bit > runter gehen Aber nicht mehr bei 8 kHz Abtastfrequenz. ;-) ISDN hat auch 8 kHz und 8 Bit Auflösung, allerdings mit einer Mapping-Tabelle names µ-law, sodass es effektiv 12 bit sind. Aber zwischen ISDN und GSM liegen in der Qualität ja schon Welten dazwischen.
hallo.... okay...alles recht interessant aber bis jetzt noch nichts handfestes!? Hat keiner eine Idee? Und ja...will nur in "misserabler Qualität" (8 bit) aufzeichnen...*gg* gruß..
die übetragung ist machbar sofern du es schaffst das Audiosignal mit dem µC zu codieren
martin schrieb: > Und ja...will nur in "misserabler Qualität" (8 bit) aufzeichnen...*gg* Dann ist das Problem nicht der RFM12 (die Datenrate ist ausreichend für einfache Sprachqualität), sondern wie Du das Signal vom Mikrofon bandbegrenzst, abtastest, quantisierst, codierst, und auf der Empfängerseite das gleiche entsprechend andersherum.
Hallo, die 8 Bit sind erstmal garkein Problem, damit geht auch mehr als nur Sprache, alle die den Amiga noch kennen, werden mir das bestätigen. Die 8kHz Samplerate sind für Sprache auch kein Problem, da ist es entscheidend, daß wirklich ein guter Tiefpass vor dem ADC hängt. Es dürfen eben keine Signalanteile über 4kHz zum ADC gelangen. Ein aktiver TP mit Grenzfrequenz 3,5kHz sollte es schon sein. Das Problem sehe ich eher beim RFM12. Mit entsprechend höherer Datenrate in festen Paketgrößen übertragen und im Empfänger entsprechend puffern und dann ausgeben könnte gehen. Direkt kontinuierlich wird nicht gehen, woher sollte die Bytesyncronisation kommen? Gruß aus Berlin Michael
Michael U. schrieb: > die 8 Bit sind erstmal garkein Problem, damit geht auch mehr als nur > Sprache, alle die den Amiga noch kennen, werden mir das bestätigen. > Die 8kHz Samplerate sind für Sprache auch kein Problem, da ist es > entscheidend, daß wirklich ein guter Tiefpass vor dem ADC hängt. > Es dürfen eben keine Signalanteile über 4kHz zum ADC gelangen. > Ein aktiver TP mit Grenzfrequenz 3,5kHz sollte es schon sein. Für soetwas gibts fertige Codecs aus dem Telefonumfeld. Mache machen auch ADPCM zusätzlich zu PCM, da geht die Datenrate noch mal runter. Filter sind da häufig schon drin. MfG Klaus
Wie wärs mit nem dspic33 und Speex (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2660¶m=en535126)
Bitte mal eine Frage zum RFM12 (kenne das Teil fast nicht): Ist es möglich, das Dingen ohne µC zum Dauersenden zu bringen? Ich danke Euch Jochen
Verstehe ich nicht ganz schrieb: > Ist es möglich, das Dingen ohne µC zum Dauersenden zu bringen? Also ich meinte nur den Träger ohne Modulation.
Verstehe ich nicht ganz schrieb: >> Ist es möglich, das Dingen ohne µC zum Dauersenden zu bringen? Kurze Antwort: Nein (RFM12 muss mind. initialisiert werden)
Dankeschön, also braucht man in jedem Fall einen µC, ja? Schade, habe dafür leider keinen Platz mehr in meiner Anwendung.
Oder liesse sich der RFM12 vielleicht nach dem Initialisieren solo ohne µC betreiben?
Also was mit einem ATMega noch zu schaffen ist (ausser einer AD-Wandlung A-Law-Lookup) ist CVSD, eine ganz einfache Deltamodulation. http://en.wikipedia.org/wiki/Continuously_variable_slope_delta_modulation Vorteil dabei ist, du kannst die 1-Bit-Sample-Daten auf der Empfaegerseite direkt ueber ein Pin als eine Art PWM-Signal ausgeben, etwas analoge Nachbereitung ist noch erforderlich, Gleichspannungsanteil filtern und ein RC-Tiefpass dahinter.
Gehen nicht auch kleine Fm modulatoren. NF signal über Mic auf Trägerwell modulieren und am Empfänger ein einefachen demodulator. Alles schön analog. wie beim guten alten Radio. So ein "testsende" hat doch ejder mal in der ausbildung gebastelt. Als empfänger macht es (je nach schwingkreisfrequenz) auch ein Radio. Das ist aber nicht so gern gesehen.
Basti schrieb: > Das ist aber nicht so gern > gesehen. Oder genauer gesagt: in dieser Form nicht zulässig. Der TE hatte aber indirekt nach einer Variante gefragt, die im entsprechenden Rahmen rechtlich zulässig ist. Davon sollte man ihn nun nicht unbedingt abzubringen versuchen.
Wie wäre es, das trägersignal in das "frei Band" zu legen. Ich meine mich zu erinnern das es bei 420MHz<f<480MHz liegt. oder liege ich daneben? Wenn ja, empfänger anpassen geht eigendlich
Basti schrieb: > Wie wäre es, das trägersignal in das "frei Band" zu legen. Wie modulierst du es? Dergleichen gab's früher als sogenannte LPD-Walkie-Talkies. Wenn man davon noch ein Paar bekommt, kann man diese natürlich gleich umbauen für den Zweck.
Naja wenn es einfach sein soll, ein FM-Modulator. Die kleinen "Testsender" baupläne gibt es ja noch. Ich erinner mich da an eine kleine schaltung bestehen aus Transitor zum mischen und verstärken und LC schwingkreis. L waren 4 windungen Luftspule und C war eine Trim-kapazität. Mit 4 Windungen wra man im Radiosignal. Mit 3 oder weniger sollte man in höhere Frequenzen kommen. Man sollte jedoch vorher den LC-Kreis berechnen. Sowas habe ich sogar noch in meiner Grabblbox liegen. geht sogar noch mit 12V als Betriebsspannung. :-D
Basti schrieb: > Ich erinner mich da an eine > kleine schaltung bestehen aus Transitor zum mischen und verstärken und > LC schwingkreis. Vergiss es! Damit wirst du die Forderungen der EN 300 220 nie im Leben einhalten. Allein 100 ppm maximaler Frequenzfehler (gegenüber der Nennfrequenz) kannst du bei 434 MHz knicken mit einem einfachen LC-Kreis (selbst dann, wenn du den Kreis auf einer niedrigeren Frequenz aufbaust und dann vervielfachst), und um die maximal 250 nW spurious emissions einzuhalten, wirst du wohl die ganze Apparatur komplett in ein Weißblechgehäuse löten dürfen (mitsamt Antenne natürlich ;-). Begreif' doch mal, dass es Leute gibt, die nicht nur eine Bastellösung haben wollen, sondern die die Vorschriften zumindest einzuhalten versuchen.
Na dann brauch man auch nicht nach selbstbaulösungen suche. Ab zum Händelr und was vernüftiges kaufen. Sprachfunksystem gibt es ja zu kaufen. nicht ganz billig wenn es was gutes sein soll, aber dafür werden alle richtlinien eingehalten.
Basti schrieb: > Na dann brauch man auch nicht nach selbstbaulösungen suche. Doch, wie weiter oben schon geschrieben war, sollte man es mit einem RFM12 in der Tat schaffen, ein standardkonformes Gerät hinzubekommen, das Sprache überträgt. Ich würde für meinen Teil allerdings wohl eher ein Zigbit benutzen.
Ja gut, das geht. Bei beiden wird halt ein µC verwendet. Aber das muss der Threaterstellr entscheiden ob das gut so ist. Ich habe halt meine Ideen geschildert, weil die ohne µC auskommen. Ich gebe dir recht, dass man da auserhalb der Normen liegt, aber der Erfahrungsgewinn beim Senderbau ist doch gegeben. Aber wie du schon sagtest, es geht um das einhalten der Werte und dann pflichte ich dir bei.
Basti schrieb: > ..., aber der Erfahrungsgewinn beim > Senderbau ist doch gegeben. Ja, das ist allerdings eine völlig andere Aufgabenstellung dann.
Hallo, das geht sogar relativ einfach mit einem RFM12, ohne das man da irgendwas großartig codieren müsste. Und das ganze auch kontinuierlich. Zum einen muss man aber den FIFO des RFM auch voll nutzen, zum anderen ggf. mit kurzen Aussetzern rechnen falls bei der Übertragung irgendwelche Störungen auftreten. Auf der Senderseite wird ganz einfach über den µC internen ADC gesamplet, natürlich mit Tiefpassfilter vor dem Eingang sowie hinzufügen eines DC Offset (der ADC macht ja nur im Bereich 0V bis Vref, also muss die "Nullinie" auf Vref/2 liegen). Das lässt sich ganz simpel mit einem Zweifach OpAmp erledigen. Man sampled das Signal kontinuierlich und schreibt es in einen Zwischenbuffer. Sobald genug Bytes vorhanden sind um den RFM FIFO zu füllen schickt man ihm die Daten. Natürlich samplet man dabei immer im Hintergrund weiter. Also zwei IRQ Routinen: Einen Timer-IRQ zum Samplen, einen SPI IRQ um die Datenpakete zu schicken. Auf der Empfängerseite braucht man wiederum einen Buffer, zwei Timer, PWM und den SPI. Ganz am Anfang wartet man auf ein Paket. Ist eines angekommen, wird dies in den Buffer geschrieben und ein Timer gestartet. Nun wartet man auf das nächste Paket. Ist das angekommen, liest man den Timer aus um so herauszufinden wie der Intervall zwischen den Paketen ist. Jetzt wird der zweite Timer gestartet um die Daten per PWM auszugeben. Dieser zweite Timer wird benutzt um in festen Abständen den PWM mit einem neuen Wert zu aktualisieren, ich gehe hier davon aus das das PWM in hardware erzeugt wird. Am PWM Ausgang natürlich auch wieder ein Tiefpassfilter. PWM Frequenz sollte mindestens das vierfache der Samplingfrequenz betragen um eine annehmbare Qualität zu erhalten. Die Interval-Zeit des zweiten Timers ergibt sich aus der Intervalzeit der Datenpakete, die durch den ersten Timer ermittelt wird, geteilt durch die Anzahl der Bytes pro Paket. Natürlich muss der erste Timer auch weiterhin benutzt und ausgewertet werden, da ja die Sende- als auch die Empfangsseite geringe Schwankungen haben durch Temepraturdrift der Oszillatoren. Man sollte auch überprüfen ob die Paket-Intervallzeit plausibel ist. Kommt in der erforderlichen Zeit kein neues Paket, einfach das zuletzt empfangene Byte weiter ausgeben, bis neue Daten da sind. In jedem Fall empfiehlt es sich eine Einfachst-Checksum mit zu senden, z.B. indem man ganz einfach alle Bytes zusammenaddiert, wobei das Ergebnis auch wieder ein Byte ist das dann ganz einfach "Überläuft". Z.B. check = check + databyte, wenn check 0xFE ist, und databyte ist 0x10, ist das Ergebnis dann eben 0x0E. Das passiert ja automatisch wenn man kontinuierlich auf ein Byte aufaddiert. Als Ausgangswert muss natürlich immer der gleiche Wert pro Paketstart genommen werden. Auf der Empfangsseite prüft man das dann, und wenn es nicht stimmt verwirft man das Paket. Dadurch würden dann die Anfangs erwähnten Aussetzer entstehen. Die Datenrate des RFM12 ist ausreichend für diese Methode. Man kann ihn auch mittels externem Filter mit 256 kBit betreiben, soweit ich das noch in Erinnerung habe. Macht man das, so kann man im Falle einer Störung das letzte Paket erneut übertragen lassen. Das erreicht man indem der Empfänger jedes Paket positiv quittiert (ACK), oder halt einen fehler erkennt und negativ quittiert (NACK), woraufhin dann der Sender das Paket erneut schickt. Bei so kurzer Entfernung ist die Übertragungsqualität aber eigentlich in den meisten Fällen ausreichend. Irgendwo habe ich auch passenden Code dafür rumfliegen, weil ich genau das vor ca. 2 1/2 Jahren mal gemacht habe, vielleicht finde ich den ja auf itgendeiner Backup-Platte wieder, dann stelle ich ihn hier rein. Grüße, Chris
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.