mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinusgenerierung für BFSK


Autor: Steffen Mauch (steffenmauch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hat jemand von euch eine gute Idee wie ich eine Bitfolge mit 25ns und 
50ns Pulse in ein Sinussignal wandeln kann?
Also der 25ns Puls in eine Halbwelle 40MHz Sinus und den 50ns Puls in 
eine 20MHz Halbwelle.
Im Endeffekt ist es eine BFSK Modulation.
Mit dem AD9958 geht sowas, aber der ist ziemlich groß und teuer.

Einfaches filtern des Signals ist keine wirkliche Möglichkeit, denn die 
Phasenverschiebung ist problematisch.
Ideal wäre es wenn ich den 40MHz noch leicht gegenüber dem 20MHz Sinus 
verstärken könnte um die Strecke auszugleichen (Pre-Emphasis).

Vielen Dank für Vorschläge/Hinweise.

Autor: Dergute Weka (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Mal' doch mal n Bild, von den Impulsen/Bits die rein gehen sollen und 
dem Signal was rauskommen soll.

Gruss
WK

Autor: Steffen Mauch (steffenmauch)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Anbei wie gewünscht die Skizze.
Im ursprünglichen Post habe ich leider 40Mhz anstelle 20Mhz und 20Mhz 
anstelle 10Mhz geschrieben. Ich hoffe mit der Skizze wird klar was ich 
suche.

An sich ist es Minimum frequency-shift keying (MSFK).

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> Einfaches filtern des Signals ist keine wirkliche Möglichkeit, denn die
> Phasenverschiebung ist problematisch.

Da wirst Du keine Lösung finden. Bei einer Flanke muß bereits bekannt 
sein, wann die nächste Flanke kommt. Auch bei dem AD9958.


Gruß

Jobst

Autor: Joe F. (easylife)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein steiler Tiefpassfilter könnte das hinbekommen.
Allerdings wird eine Demodulation wohl fast unmöglich sein.
Ein paar mehr Schwingungen pro Bit sind da sehr hilfreich.
Mit BFSK Modulation hat deine "Bitfolge" nur entfernt zu tun.
Üblicherweise wird eine 0 mit einer Frequenz codiert, und eine 1 mit 
einer anderen. Je mehr Abstand zwischen den Frequenzen und je mehr 
Schwingungsdurchgänge pro Bit desto einfacher und zuverlässiger wird die 
Demodulation.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht nur mit zwei parallel generieren Wellen mit Phasenkompensation 
/-justierung und einer analogen Umschaltung. Hatte das mal für mehrere 
150MHz-Wellen, die sich um einige %te unterschieden.

Autor: Dergute Weka (derguteweka)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Moin,

Jürgen S. schrieb:
> Das geht nur mit zwei parallel generieren Wellen mit Phasenkompensation
> /-justierung und einer analogen Umschaltung.

Ja,koennte klappen. Aber so wie ich das seh' braucht man dann den einen 
Sinus in 2 Versionen (0/180) und den anderen in 4 (0/90/180/270) und 
sollte beim Umschalten auch immer brav den Nulldurchgang treffen...Dann 
brauchts auch noch ein paar Bit Schieberegister und etwas Logik, um das 
Umschaltsignal zu generieren. Mal abgesehen von der Frequenz ist man 
dann schon mal bei Minimum 3 (TTL artigen) ICs.

Ich wuerd' eher gucken, ob das nicht mit einem Filter klappt. Bei der 
Frequenz sollten LC Filter mit nicht zu exotischen Bauteilgroessen 
rauskommen koennen.
Vielleicht was Cauerartiges, mit jeweils einem Maximum im 
Durchlassripple bei 10 und 20MHz und Nullstellen bei 30MHz und irgendwo 
um 50..60MHz, jenachdem was dann noch mehr reinhaut. Gegen die im ersten 
Post angesprochene Phasenverschiebung hilft dann noch eine 
Gruppenlaufzeitkorrektur mit hoffentlich moeglichst wenig Allpaessen.
Wird halt auf ein paar lustige Stunden mit Spice rauslaufen.

Gruss
WK

Autor: Steffen Mauch (steffenmauch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal vielen Dank für die zahlreichen Antworten und Hinweise.

Ich glaube am besten wird es sein, wenn ich einen ICE40 CPLD mit einem 
DAC  mit 125MSPS oder schneller (z.B. AD9740) nehme. Damit kann ich 
gleich Pre-Emphasis machen und sogar eine Gruppenlaufzeit Korrektur 
während der Erzeugung.
Ich bin mir bewusst, dass ich dadurch ein Delay von Bitstrom zu dem 
Signal mit den Sinussignale bekommen.
Aber wenigstens kann ich so digital abstimmen.

@Joe F.: Wieso soll eine Demodulation fast unmöglich sein?

Autor: Joe F. (easylife)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> Wieso soll eine Demodulation fast unmöglich sein?

Weil ich mir eine Frequenzerkennung anhand einzelner Halbwellen 
schwierig vorstelle, und das Signal ja vermutlich über irgend eine 
Strecke übertragen wird - mit entsprechenden Verzerrungen und anderen 
Störungen.

Autor: Steffen Mauch (steffenmauch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> Steffen M. schrieb:
>> Wieso soll eine Demodulation fast unmöglich sein?
>
> Weil ich mir eine Frequenzerkennung anhand einzelner Halbwellen
> schwierig vorstelle, und das Signal ja vermutlich über irgend eine
> Strecke übertragen wird - mit entsprechenden Verzerrungen und anderen
> Störungen.

Ok klar, das ist schon wahr.
Ich mag den Weg auch nicht aber wie kann man sonst >15MBit über einen 
Übertrager schicken?

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> aber wie kann man sonst >15MBit über einen
> Übertrager schicken?

Wie passiert es denn bei Ethernet? Bei Gigabit gehen 250MB/s durch jeden 
Übertrager der Netzwerkkarte.


Gruß

Jobst

Autor: Blubb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:
> Steffen M. schrieb:
>> aber wie kann man sonst >15MBit über einen
>> Übertrager schicken?
>
> Wie passiert es denn bei Ethernet? Bei Gigabit gehen 250MB/s durch jeden
> Übertrager der Netzwerkkarte.


Man sollte nur tunlichst darauf achten das man einen symmetrischen 
Datenstrom hat, um den Übertrager nicht in die Sättigung zutreiben..

Autor: Hp M. (nachtmix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> Weil ich mir eine Frequenzerkennung anhand einzelner Halbwellen
> schwierig vorstelle,

Du brauchst doch nur die Abstände der Nulldurchgänge zu bestimmen.

Ebenso einafch geht die Generierung, indem man den Bitstrom durch zwei 
hintereinandergeschaltete Flipflops schickt -Schieberegister mag ich 
dazu gar nicht sagen-, und die beiden Bits in einen Analogmultiplexer 
schickt, der, abhängig von den vier möglichen Zuständen, positive oder 
negative, kurze oder lange Sinushalbwellen durchschaltet.

P.S.:
Derartige Modulationsverfahren sind ja nicht ganz neu: 
https://de.wikipedia.org/wiki/Modified_Frequency_Modulation

: Bearbeitet durch User
Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blubb schrieb:
> Man sollte nur tunlichst darauf achten das man einen symmetrischen
> Datenstrom hat, um den Übertrager nicht in die Sättigung zutreiben..

Das wird man bei Ethernet wohl tun ... Deshalb mein Hinweis darauf.
Manchester, NRZ(I), ...


Gruß

Jobst

Autor: Steffen Mauch (steffenmauch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:
> Blubb schrieb:
>> Man sollte nur tunlichst darauf achten das man einen symmetrischen
>> Datenstrom hat, um den Übertrager nicht in die Sättigung zutreiben..
>
> Das wird man bei Ethernet wohl tun ... Deshalb mein Hinweis darauf.
> Manchester, NRZ(I), ...
>
>
> Gruß
>
> Jobst

Wenn man die Bitfolge von mir anschaut, sieht man dass der skizzierte 
Teil Manchester Codiert ist :)


Ist eigentlich ein Übertrager mit Mittelabgriff geeigneter als ohne 
Mittelabgriff?

Autor: Axel Schwenke (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> Ich mag den Weg auch nicht aber wie kann man sonst >15MBit über einen
> Übertrager schicken?

Soll das die Aufgabenstellung sein? Dafür glaubst du eine solche Mimik 
mit Sinus(!)halbwellen zu brauchen? Das ist doch Quark!

Den Übertrager stören die Oberwellen gar nicht. Der überträgt die - im 
Rahmen seiner Möglichkeiten - einfach mit. Eine gewisse Tiefpaßwirkung 
wirst du schon durch die unvermeidlichen parasitären Elemente bekommen. 
Und womöglich wirst du ein Problem mit kapazitiver Kopplung bekommen; 
was aber meist nur bedeutet, daß der Trafo ungeeignet ist.

Vermutlich wirst du unter dem Gesichtspunkt EMI nicht um weitere Filter- 
maßnahmen herum kommen. Aber da reicht ein passiver Filter dicke. Im 
Gegenteil will man es mit der Filterei auch nicht übertreiben. Denn ein 
steiler Filter bewirkt auch eine frequenzabhängige Verzögerung, er 
verschiebt die Nulldurchgänge des Signals. Und weil da die Information 
drinsteckt, darf die Variation der Verschiebung nicht zu groß werden.

Autor: Dergute Weka (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> Ist eigentlich ein Übertrager mit Mittelabgriff geeigneter als ohne
> Mittelabgriff?

Das kannst nur du beantworten, denn nur du kennst deine Treiberschaltung 
fuer den Uebertrager, deine Energiebilanz, deine Leitungspegel, etc.

Insgesamt wird bei der Uebertragung der Empfangsteil viel mehr Aufwand 
sein, wenn da z.b. noch so Sachen reinmuessen, wie (adaptive) 
Leitungsentzerrung.

Aber fuer so ne popelige Uebertragung wuerd' ich kein so'n komisches 
Verfahren hernehmen. Eher 8b10b; das geht auch prima ueber Trafos 
drueber und hat gleich noch extra Gimmicks, wie neben 8-bit Uebertragung 
auch noch die Uebertragung von Steuerzeichen, Stuffing, etc. Wird z.b. 
auch bei ASI (270MBit/sec auf der Leitung) hergenommen.

Gruss
WK

Autor: Steffen Mauch (steffenmauch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Soll das die Aufgabenstellung sein? Dafür glaubst du eine solche Mimik
> mit Sinus(!)halbwellen zu brauchen? Das ist doch Quark!
>
> Den Übertrager stören die Oberwellen gar nicht. Der überträgt die - im
> Rahmen seiner Möglichkeiten - einfach mit. Eine gewisse Tiefpaßwirkung
> wirst du schon durch die unvermeidlichen parasitären Elemente bekommen.
> Und womöglich wirst du ein Problem mit kapazitiver Kopplung bekommen;
> was aber meist nur bedeutet, daß der Trafo ungeeignet ist.
>
> Vermutlich wirst du unter dem Gesichtspunkt EMI nicht um weitere Filter-
> maßnahmen herum kommen. Aber da reicht ein passiver Filter dicke. Im
> Gegenteil will man es mit der Filterei auch nicht übertreiben. Denn ein
> steiler Filter bewirkt auch eine frequenzabhängige Verzögerung, er
> verschiebt die Nulldurchgänge des Signals. Und weil da die Information
> drinsteckt, darf die Variation der Verschiebung nicht zu groß werden.

Nun, ich habe leider nicht einfach die Möglichkeit den Übertrager zu 
tauschen bzw. zu verändern. Und ja der Übertrager ist das eigentliche 
Problem: 0,4 Kopplungsfaktor und etwa 3,1uH Spuleninduktivität im 
Leerlauf.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen M. schrieb:
> Wenn man die Bitfolge von mir anschaut, sieht man dass der skizzierte
> Teil Manchester Codiert ist :)

Abgesehen davon, dass diese Antwort an blubb ging: Nein, sieht man nicht 
unbedingt. Auch andere Signale können so aussehen.
Und wenn es so ist, warum schreibst Du das dann nicht gleich in Deine 
Beschreibung? Stattdessen ein Rumgehampel mit 25/50ns und 40/20MHz - ach 
ne: 20/10MHz ...


> Ist eigentlich ein Übertrager mit Mittelabgriff geeigneter als ohne
> Mittelabgriff?

Das kommt auf Deinen Treiber an.


Gruß

Jobst

: Bearbeitet durch User
Autor: Joe F. (easylife)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:
> Und wenn es so ist, warum schreibst Du das dann nicht gleich in Deine
> Beschreibung? Stattdessen ein Rumgehampel mit 25/50ns und 40/20MHz - ach
> ne: 20/10MHz ...

Ärgert mich ebenfalls, muss ich mal sagen. Jedesmal eine ziemliche 
Zeitverschwendung.

Die Daten gehen locker über deinen Übertrager. Du musst halt auf 
Senderseite (und möglichst auf der Empfängerseite) ein bisschen 
anpassen. Dein Signal wird schon von selbst "schön" rund.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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