Ich habe einen Mischer in VHDL zu realisieren, den ich technisch
problemlos bauen kann und auch synthetisieren, dessen Funktion ich aber
nicht verstehe. Es handelt sich um einen Mischer der parallel in 2
Kanälen IQ-Daten multipliziert, die aus einem ADC und einen NCO kommen.
Funktionieren tut es, nur was mir spanisch vorkommt, sind die
Frequenzen:
Der ADC läuft auf 82,5 MHz und sampelt kontinuierlich. Auch der NCO
arbeitet mit dieser Taktfrequenz. Er erzeugt aber die beiden SIN/COS
Ausgänge mit einem krummen Teilerverhältnis von 2.539 wobei 32,5 MHz
herauskommen. Die 82,5 MHz Daten werden dann mit 11 (fragt mich nicht,
warum ausgerechnet) dezimiert, um die gewünschten 7,5 MHz zu bekommen,
wobei das Analogsignal am Eingang angeblich bis zu 15MHz Bandbreite
haben soll/kann.
Auf meine Rückfrage erklärte man mir, dass die Frequenzen sich so
ergeben, damit genau 115 MHz rauskommen. Das ist irgendeine
Sendedatenfrequenz im zielsystem.
Leider kann ich hier keinen Fragen, da das Wissen um die analogen
Verhältnisse bei einem anderen Standort liegt und hier nur die
Elektronik gebaut wird.
Was ich bräuchte, wäre ein Tipp oder Hinweis auf ein Schlagwort in der
Literatur oder eine Kurzerklärung.
Frage1: Was macht konkret ein solcher Mischer, der quasi die Frequenz A
mit (N-A) mischt? Welche Bedeutung hat hier N, also die Summe?
Frage2: Macht es Signalverarbeitungstechnisch Sinn, das FPGA und den NCO
auf der doppelten Frequenz = 165 MHz laufen zu lassen? (Wäre möglich).
So rein analogtechnisch weiss ich, dass Filter mit mehr headroom genauer
sind/sein können.
Frage3: Wer erklärt mir den komischen Faktor 11?
Ich konnte nicht ganz folgen.
Zeiche mal ein Bockschaltbild vom Signalpfad.
Hintergrund zum Mischen, vielleicht hieft es dir etwas auf die Sprünge,
das Mischen ist ein Addtionstheorem.
Sin (a)* sin(b)= 0,5 cos(a-b) -0,5 cos(a+b)
Es wird nach dem Mischen eine Frequenz herausgefiltert.
Die Filter darfst du nicht vernachlässigen.
Der Pfad ist simpel:
Result_i = nco_sin * input;
Result_q = nco_cos * input;
Wie gesagt, rennen nco und adc auf den 82k5 MHz. Der NCO produziert
Sin/Cos mit 32k5 MHz, also ungefähr "nur" 2.5 samples pro Periode.
Hinterher geht es in FIR Filter.
Wie gesagt, die Schaltung habe ich fertig bekommen und gebaut, nur was
da "analog gesehen" rauskommt ist nicht so ganz klar. Leider weiss ich
auch nicht genau, was der Kunde an Signal vorne reinsteckt.
Das sieht aus wie ein digitaler Tuner mit IQ Basisbandausgang (digital).
Eingang: z.B. QAM moduliertes Signal bei 115 MHz Trägerfrequenz.
Das tastet man mit 82.5 MHz ab. (Unterabtastung!), im digitalen Bereich
liegt dann das Signal bei 32.5 MHz Trägerverfrequenz (aliasing). das
multipliziert man mit mit dem 32.5 MHz sin/cos aus dem NCO und hat
danach das Nutzsignal mit I und Q Anteil mit 82.5 MHz Abstatstrate. Nach
downsampling auf 7.5 MHz hat man dann das Nutzsignal mit 7.5 MSymbols/s.
Eigentlich ganz einfach.
Lattice User schrieb:> Nach> downsampling auf 7.5 MHz hat man dann das Nutzsignal mit 7.5 MSymbols/s.
Dann hat man immer noch zwei Signale I und Q. Wie verfährt man damit
weiter? Warum erzeugt man überhaupt zwei und bleibt nicht bei einem?
Denn das Mischen würde ja auch mit nur einem Signal funktionieren.
Tom
Thomas Reinemann schrieb:> Lattice User schrieb:>> Nach>> downsampling auf 7.5 MHz hat man dann das Nutzsignal mit 7.5 MSymbols/s.>> Dann hat man immer noch zwei Signale I und Q. Wie verfährt man damit> weiter? Warum erzeugt man überhaupt zwei und bleibt nicht bei einem?> Denn das Mischen würde ja auch mit nur einem Signal funktionieren.>> Tom
ICh will dir die Frage warum beantorten.
Der Sinus und Cosinus sind orthogonale Funktionen. Beide habe die
gleiche Frequenz. Die Bandbreite eines Kanals ist Frequenzabhängig. Mann
kann mit der Qadratur Amplituden Modulation mehr Information übertragen.
Man hat aber ein Problem, und das nennt sich Trägerrückgewinnung. Weil
zum dekodieren auch der Winkelbezug hergestellt wird.
Thomas Reinemann schrieb:> Duke Scarring schrieb:>> Die schickst Du dann auf einen QAM-Dekoder (ein etwas besserer>> Schwellwertschalter). Siehe [1]>> Danke, ok. Das ist offensichtlich. Ich habe aber schon Anwendungen> gesehen (Sonar/Radar) da macht man die IQ-Aufteilung mit dem Echo, wird
Sonar Radar ist was anderes, hier wird keine Information übertragen.
Der Übertragungskanal selbst wird vermessen.
Duke Scarring schrieb:> Thomas Reinemann schrieb:>> Dann hat man immer noch zwei Signale I und Q. Wie verfährt man damit>> weiter?> Die schickst Du dann auf einen QAM-Dekoder (ein etwas besserer> Schwellwertschalter). Siehe [1]
Da ist aber noch etwas an Arbeit zu leisten.
1. Sind Sender und Empfänger natürlich nicht in Phase bezüglich der IQ
Symbole. (Das äussert sich in einer Verdrehung des IQ Diagramms)
2. Laufen Sender und Empfänger nicht vom gleichen Oszillator, d.h. die
Symbolrate unterscheidet sich etwas.
3. Das gleiche gilt für die Trägerfrequenz, wobei in manchen Anwendungen
Symbolrate und Trägerfrequenz fest gekoppelt sein können. Auf der
Empfängerseite ist das beim TE der Fall. Im allgemeinen (z.B. bei DVB)
kann man davon nicht ausgehen).
Alle 3 Abweichungen müssen im Demodulator korrigiert werden, dann kann
man mit dem "Schwellwertschalter" die Nutzdaten zurückgewinnen. Im Falle
von QAM-4 und QPSK reicht das Vorzeichen von I und Q um daraus 2 bit
Nutzinformation zu extrahieren.
>Macht es Signalverarbeitungstechnisch Sinn,> das FPGA und den NCO auf der doppelten Frequenz laufen zu lassen?
Gute Frage! Eigentlich nein, denn wenn die punkteweise Zuordnung der
Samples passt, ist es egal, ob man noch Zwischenwerte hat, da man beim
Filtern Dezimieren ohnehin Nullen annimmt Samples weglässt.
Kommt halt auf die Filtergüte an! Demgemäß (da diese endlich ist) könnte
es doch wiederum von Vorteil sein, mit doppelter Auflösung zu rechnen.
Ich kenne es nur aus dem Consumer-Videobereich, da sind die Filter nicht
so kritisch. Ich brauche immer so meine 40dB-50dB Güte und fertig. Wie
es im Bereich technischer Signalverarbeitung aussieht, weiss ich nicht.
Man will ja mit den Signales auch noch was anstellen und nicht nur
gucken.
Ich denke, man braucht dazu aber auch die doppelte Info vom ADC, wenn es
was bringen soll, so rein gefühlsmäßig.
Woczek schrieb:>> das FPGA und den NCO auf der doppelten Frequenz laufen zu lassen?
Dann würde sich aber an einer Diskrepanz zwsichen Fs und Fnco nichts
ändern. Der Abstand fs zu fnco müsste erhöht werden.