Forum: HF, Funk und Felder IQ Signal erhalten


von R. F. (rfr)


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

von Michael R. (mexman) Benutzerseite


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

von R. F. (rfr)


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

von Lviss (Gast)


Lesenswert?

Hier ein Beispiel, wenn die Samplefrequenz genau 4x 48MHZ beträgt.
1
zeit = 0;
2
3
while (1) {
4
5
  while (WAIT_4_ADC_RESULT);
6
7
  zeit = (zeit+1) & 0x03; // zeit zählt von 0 ... 3;
8
9
  // ADC Wert mit +1 oder -1 multiplizieren
10
  if ( (zeit == 0 ) || (zeit == 1 ) )
11
    i = ADC;
12
  else
13
    i = -ADC;
14
15
  // q ist wie i, jedoch um 90° ( i Schritt phasenverschoben)
16
  if ( (zeit == 1 ) || (zeit == 2 ) )
17
    q = ADC;
18
  else
19
    q = -ADC;
20
21
22
}

von R. F. (rfr)


Lesenswert?

Hallo,

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

Gruss

Robert

von Christoph db1uq K. (christoph_kessler)


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.

von R. F. (rfr)


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

von Purzel H. (hacky)


Lesenswert?

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

von Stefan R. (droelf)


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

von Martin L. (Gast)


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.

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
Noch kein Account? Hier anmelden.