Forum: Digitale Signalverarbeitung / DSP FSK Signal, und nun?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Datenfunktionär (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Guten Abend!

Ich habe mir einen AVR programmiert um mit einem TRX-Chip Daten als 2FSK 
(max. 600kB/s) zu übertragen, gut, aber wie dekodiere ich das ganze 
wieder?
Mit einem zweiten TRX kann ich das ganze auch wieder empfangen.

Ich möchte anstatt des TRX Chips nun aber einen Funkempfänger und eine 
Software verwenden.

Was ist also die einfachste Möglichkeit ein Audio Signal (vom Empfänger 
oder SDR) zu dekodieren und für eine einfache Win SW bereitzustellen?
Ich möchte schlussendlich ein einfaches ausführbares Programm welches 
einen Audiport auslesen kann (Stereomix?) und mir meine Daten anzeigt.

Also zuerst Audio filtern, dann IQ Signale erzeugen, wieder Filtern usw.

Wie lassen sich solche analogen Sachen in Programmcode pressen?

Wie würdet ihr das umsetzen?
Ist Java dafür geeignet?
Gibt es "Libarys" die schon Dekoder enthalten?

Vielen Dank

: Verschoben durch Moderator
von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Bewertung
-3 lesenswert
nicht lesenswert
Hallo Gast,
mir ist nicht klar, warum Du nicht in der Lage bist,
"2 fsk dekodieren" in eine Suchmaschine einzugeben.
Ist das hier das Forum für die Superfaulen?
Manche lassen sich hier ja sogar ihre Übungsaufgaben vorkauen...
Also: such mal nach MixW.

: Bearbeitet durch User
von Datenfunktionär (Gast)


Bewertung
3 lesenswert
nicht lesenswert
Nun, wie gesagt, es geht um das Verständnis das ganze auch umzusetzen, 
Demodulatorschaltungen gibt es ja tatsächlich genug.
Aber wie man das ganze umsetzt und wo man beginnen soll, das ist 
natürlich schwer herauszufinden.
Ich muss ja hier jemand einmal soetwas gemacht haben, also welche 
Software ist hier zu verwenden?

Evtl. geht das ja gar nicht mit Java?!?!?
Es muss ja noch etwas zwischen einem Java main und diesen hochkomlexen 
math. Funktionen geben?
Oder wird SDR Software zB. wirklich mit den Formeln ausprogrammiert?

Gibt es dafür nicht ein Abstraktiosnpaket?

Gnuradio habe ich mir angesehen, ist aber eher schlecht dokumentiert, es 
bleibt für mich unklar ob man das in Gnuradio erstellte Projekt komplett 
in ein anderes Programm einbinden kann.

Wie gesagt, Ziel ist es ein fertiges, einfaches Pogramm zu haben, keinen 
Verhau aus 42 Skripten und zwei IDEs.

mfG

von Bernd (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Datenfunktionär schrieb:
> also welche
> Software ist hier zu verwenden?
ASM, C, Python, Matlab, Labview, ...
Such Dir was aus.

> Evtl. geht das ja gar nicht mit Java?!?!?
Warum sollte das nicht gehen?
Oder wolltest Du JAVA auf den RX-AVR packen?

von Auweia (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das durch einen (oder zwei wegen Stereo) Audiokanal
> 600kB/s
passen glaube ich nun nicht.

Wenn du noch keine Ahnunng hast, versuch was einfacheres.
Z.B einen Manchesteren- und Decoder.

Und als naechstes vllt MFM.

Natuerlich nicht in Java, auch nicht in Python und in C auch nicht.
In Assembler natuerlich!

Oder fuer einen FPGA in VHDL.

Und hoer auf zu jammern. Das ist ja widerlich.

von Joggel E. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Also was macht dich so sicher, dass deine Modulation ging ? Womit hast 
du's kontrolliert ? Denn FSK bedeutet zwischen 2 Frequenzen wechseln. 
Mit einer Geschwindigkeit von 600kBit/s. Bedeutet, diese beiden 
Frequenzen muessen mindestens 600kHz auseinander liegen.
Da ist nichts mit Audio und dergleichen.

von Hp M. (nachtmix)


Bewertung
0 lesenswert
nicht lesenswert
Joggel E. schrieb:
> Da ist nichts mit Audio und dergleichen.

Vermutlich ist ist das "k" zuviel.
Die ersten Akustikkoppler fürs Telefon schafften auch nur 300 Baud, bei 
guten Verbindungen auch 1200...
https://de.wikipedia.org/wiki/Akustikkoppler

von Christoph db1uq K. (christoph_kessler)


Bewertung
0 lesenswert
nicht lesenswert
Sollten es tatsächlich nur 600 Bd sein, dann gab es dafür spezielle 
Decoder:
https://www.alldatasheet.com/view_datasheet.jsp?Searchword=TCM3105
https://www.alldatasheet.com/view_datasheet.jsp?Searchword=AM7910
die sind aber schon lange ausgestorben. Für Packet-Radio wurden die gern 
benutzt.

von Datenfunktionär (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Danke erstmal für die Ratschläge.

Ich habe mich viel tiefer eingelesen und nun ein besseres Verständnis 
der Materie, hätte ich vorher tun sollen.

Die 600kbs sind die max. Datenrate meines TX ICs, diese brauche ich 
lange nicht, ich bewege mich eher unter 1kbs, wahrscheinlich bei 
4800Baud.
Mir wurde jetzt erst klar wie viel 4800Baud eigentlich sind, selbst hier 
habe ich noch viel Freiraum, man ist heute wirklich sehr verwöhnt.

Hardwaredekoder möchte ich vermeiden.

Audio abgreifen habe ich sowohl in Java als auch in C++ versucht, nun 
stellt sich aber die Frage welche SW ich für dieses Projekt nehmen 
sollte.


Evtl. kann mir ja jemand Tipps geben?

mfG

von Bernd (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Datenfunktionär schrieb:
> Audio abgreifen habe ich sowohl in Java als auch in C++ versucht, nun
Und hast Du es hinbekommen?

> stellt sich aber die Frage welche SW ich für dieses Projekt nehmen
> sollte.
Gnuradio?

von Christoph db1uq K. (christoph_kessler)


Bewertung
1 lesenswert
nicht lesenswert
Es gibt immer noch einen britischen Hersteller, der Modemchips anbietet:
https://www.cmlmicro.com/wireless-data/

von Dirk W. (Firma: FEP) (dirkwi)


Bewertung
0 lesenswert
nicht lesenswert
Datenfunktionär schrieb:

> Hardwaredekoder möchte ich vermeiden.

Hier möchte ich mich mal mit einer Frage an die Fachleute wenden.
Ich suche schon lange nach einer einfachen, preiswerten, Softwarelösung
in einem Microprozessor, um FFSK Hardwaredecoder wie den Oki 6882 oder
den CMX 469 zu ersetzen. Ich muss dazu sagen, daß ich von Software keine
Ahnung habe und die Komplexität der Sache nicht abschätzen kann. In 
meinen
Augen müsste das heutzutage eigentlich eine banale Sache sein, aber wenn 
ich
hiesige DSP Programmierer frage, die an komplexen I/Q Modemchips wie dem 
CMX 981 o.ä. rumprogrammieren, dann zucken die nur mit den Schultern.
Ist das tatsächlich so schwierig, softwaremäßig, oder sind die 
Hardwareanforderungen zu groß/teuer das sich die Sache nicht rentiert?
MfG
Dirk.W

: Bearbeitet durch User
Beitrag #6238311 wurde von einem Moderator gelöscht.
von Dirk W. (Firma: FEP) (dirkwi)


Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb im Beitrag #6238311:
>> Ich muss dazu sagen, daß ich von Software keine Ahnung habe und die
>> Komplexität der Sache nicht abschätzen kann.
>
> So ist es es.
>
>> In meinen Augen müsste das heutzutage eigentlich eine banale Sache sein ...
>
> Widerspruch zu deiner ersten Aussage.


Ach weisst Du, ich kann keinen Prozessor programmieren, aber ich kann
ihn anwenden. Und ich kann nicht verstehen, wie es möglich sein kann 
viele
MHz hohe HF Signale in einen AD Wandler einzuspeisen und softwaremässig 
zu demodulieren, während es ein Problem sein soll, aus einer Halbwelle 
von 1200 Hz und einer Vollwelle von 2400 Hz, eine Null und eine Eins zu 
machen.
MfG
D.W.

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Dirk W. schrieb:
> Ich suche schon lange nach einer einfachen, preiswerten, Softwarelösung
> in einem Microprozessor, um FFSK Hardwaredecoder wie den Oki 6882 oder
> den CMX 469 zu ersetzen. Ich muss dazu sagen, daß ich von Software keine

Die erwähnten ICs sind aus Ende der 90er, die Dekodierung schafft heute 
so fast jeder uC. Schick mal Abtastwerte, dann bastel ich Dir nen 
Decoder.

Cheers
Detlef

von Dirk W. (Firma: FEP) (dirkwi)


Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:

> Die erwähnten ICs sind aus Ende der 90er, die Dekodierung schafft heute
> so fast jeder uC.

Ja, so hätte ich das vermutet. Die Sache ist dabei die, daß mittels
dieser Bausteine ein immer noch weit verbreitetes Unterträger FSK 
Funkverfahren realisiert wird, welches robust und gut geeignet ist, 
kleine
Datenraten über weite Entfernungen zu senden. Im Gegensatz zu normalem 
FSK
steckt dabei die Bitinformation nicht in der Frequenzablage des Trägers, 
also im Hub bei FM, sondern in der Frequenz des Modulationssignales.


> Schick mal Abtastwerte, dann bastel ich Dir nen
> Decoder.

Im Moment sieht meine Schnittstelle so aus, daß ich dir Bits mit 2400 Hz 
Datenrate geben kann, aus denen Du dann eine Halbwelle von 1200 HZ oder 
eine Vollwelle von 2400 Hz machen müsstest, für den Sendefall.
Oder für den Empfangsfall, bekämst Du eine mehr oder weniger verrauschte 
NF
aus der die Bits wieder herausdecodiert werden müssten.
Wenn Du von Abtastwerten sprichst denke ich, Du möchstest das Signal
schon über einen AD Wandler digitalisiert vorliegen haben?

> Cheers
> Detlef

Gruß
D.W.

von Harald (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hier einfach mal einen Stop machen!

Amazon oder Buchladen besuchen, Buch:

"Software Defined Radio-Systeme für die Telemetrie: Aufbau und 
Funktionsweise von der Antenne bis zum Bit-Ausgang",Albert Heuberger 
(Autor), Eberhard Gamm (Autor) kaufen.

Hier muss man beim Urschleim anfagen, der TO stochert total im Dunklen 
und versteht gar nix.

Gruß
Harald

von M. W. (elektrowagi78) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Wofür wird es überhaupt encodiert?

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Dirk W. schrieb:
> aus der die Bits wieder herausdecodiert werden müssten.
> Wenn Du von Abtastwerten sprichst denke ich, Du möchstest das Signal
> schon über einen AD Wandler digitalisiert vorliegen haben?
>

Ja genau. Taste das FSK Signal ab ( mindestens 2 Mal schneller als die 
höchste Frequenz ) und schick das File als Text. Das dekodiere ich dann, 
das hab ich letztens schon mal mit viel Spaß hier gemacht.

Cheers
Detlef

von Helmut (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Halbwelle von 1200 HZ oder
>eine Vollwelle von 2400 Hz machen müsstest,

Wieso eine halbe Welle?
Eine halbe Welle mit 1200Hz ist ein volle Welle mit 600Hz.

von Dirk W. (Firma: FEP) (dirkwi)


Bewertung
0 lesenswert
nicht lesenswert
Helmut schrieb:
>>Halbwelle von 1200 HZ oder
>>eine Vollwelle von 2400 Hz machen müsstest,
>
> Wieso eine halbe Welle?
> Eine halbe Welle mit 1200Hz ist ein volle Welle mit 600Hz.


Nee, andersrum. Eine ganze Periode bei 1200 HZ dauert ca. 0,8 msec.
Eine ganze Periode bei 2400 dauert ca 0,4 msec. In eine halbe 
Periodendauer
bei 1200 Hz passt also eine ganze Periode bei 2400 HZ.
Mfg
D.W.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.