IQ Signal erhalten

Gast #1879645
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
}
#1880992
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.
OP #1881011
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
#1881891
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
Gast #1883262
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.