mikrocontroller.net

Forum: HF, Funk und Felder IQ Signal erhalten


Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in einem Empfänger habe ich nur einen ADC. Diesen lese ich zyklisch aus 
und habe die Werte im Microcontroller.

Nun würde ich gerne wissen, wie ich daraus ein IQ-Signal erzeuge, und 
zwar nur mit Software.

Gruss

Robert

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, indem Du die Basisfrequenz erzeugst, und zwar zweimal: Einmal eben 
um 90 Grad verschoben.
DIese beiden Signale multiplizierst Du dann im Controller mit dem ADC 
Ergebnis und bekommst so dein I und Q Signal.


Gruss

Michael

Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich habe eine ZF von 48 MHz, diese wird durch den ADC gesampelt.
Wie erzeuge ich denn jetzt eine Taktfrequenz per Software?

Gruss

Robert

Autor: Lviss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein Beispiel, wenn die Samplefrequenz genau 4x 48MHZ beträgt.
zeit = 0;

while (1) {

  while (WAIT_4_ADC_RESULT);

  zeit = (zeit+1) & 0x03; // zeit zählt von 0 ... 3;

  // ADC Wert mit +1 oder -1 multiplizieren
  if ( (zeit == 0 ) || (zeit == 1 ) )
    i = ADC;
  else
    i = -ADC;

  // q ist wie i, jedoch um 90° ( i Schritt phasenverschoben)
  if ( (zeit == 1 ) || (zeit == 2 ) )
    q = ADC;
  else
    q = -ADC;


}

Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich das richtig verstehe, ist i = q für Zeit ==1 ?

Gruss

Robert

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das Signal nur noch als Basisband (Niederfrequenz) vorliegt, ist es 
zu spät zum I/Q-Auftrennen.
Die üblichen Soundkarten-Empfänger (z.B. der DRM-Decoder aus Darmstadt) 
verwenden eine Zwischenfrequenz von 12 kHz, das liegt etwa in der Mitte 
des Soundkarten-Frequenzbereichs, und demodulieren digital nach der 
AD-Wandlung mit zwei gegeneinander um 90 Grad verschobenen 
Sinusschwingungen von 12 kHz.

Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem Signal handelt es sich um die erste ZF, per Quarzfilter 
gefiltert. Ich werde das Signal nochjmal heruntermischen. Ein ADC 
digitalisiert das Signal dann und die weitere Verarbeitung soll 
ausschliesslich digital erfolgen.

Gruss

Robert

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man Quadratur will, muss man mit Quadratur beginnen. Und die ganze 
Kette ist auf Quadratur ausgelegt, nicht nur die Digitalisierung.

Autor: Stefan R. (droelf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
R. Freitag schrieb:
> Bei dem Signal handelt es sich um die erste ZF, per Quarzfilter
> gefiltert. Ich werde das Signal nochjmal heruntermischen.

Dann mischst du einfach mit z.B. einem Schaltermixer dieses Signal mit 
der ZF-Frequenz (also z.B. 10,7MHz), und gleichzeitig das selbe Signal 
auch mit 10,7MHz, aber um 90° phasenverschoben. Die Ausgänge beider 
Mixer (nach Tiefpassfilterung) sind dann I und Q und können 
digitalisiert (im einfachsten Fall per Soundkarte) werden. Beispiele für 
die Erzeugung der phasenverschobenen Signale mit einem f=f_misch*4-Quarz 
sowie Schaltermischern finden sich zu hauf bei den ganzen SDR-Projekten, 
z.B. hier:
http://www.andreadrian.de/sdr/

Gruß,
droelf

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


such mal nach Hilberttransformation. Mit der macht man aus einem reellen 
Signal ein Analytisches. Ganz offensichtlich musst Du dann aber noch 
Deine 0Hz Linie durch Multiplikation an die richtige Stelle schieben, da 
ein allgemeines analytisches Signal ja kein symetrisches Spektrum 
aufweist.

Willst Du also bei z.B. 20MHz ein IQ-Signal (200kHz Bandbreite) 
empfangen stellst Du Deinen Empfänger auf 19.9MHz, machst eine 
Hilberttransformation mit dem 200kHz breiten Signal und mischt es 
anschließend mit exp(j*2*%pi*100kHz) bzw mit der entsprechenden 
Sampelrate. Dann hast Du I und Q mit der Mittenfrequenz von 20MHz.

Das ist alles ein bisschen verzwickt und man tut gut sich mit den 
Grundlagen zu beschäftigen. Sonst kommen solche Aussagen wie die von 
"hacky" heraus.

Einziger Haken: Die praktische Hilberttransformation tut sich bei 
niedrigen Frequenzen schwer die 90° Phasendrehung zu erreichen. Sollte 
aber nicht stören weil Du die 0Hz Referenzlinie sowieso nachher 
verschiebst.

Viele Grüße,
 Martin L.

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.