Forum: Digitale Signalverarbeitung / DSP / Machine Learning FM mit GNU Radio und DAC


von Christoph R. (derelf)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich bin angehender Student an einer Fachhochschule für Elektronik und 
hab im Moment viel Zeit, weshalb ich wahrscheinlich auch auf diese Idee 
gekommen bin.

Ich habe einen schnellen DAC (300MS/s) und möchte darüber ein 
Frequenzmoduliertes Signal auf einer Zwischenfrequenz von 460kHz 
erzeugen. Dieses Signal soll dann mit einem Signal von ~100MHz analog 
gemischt werden um in den UKW Bereich zu kommen.

Wie ihr euch wahrscheinlich alle denken könnt soll das im Endeffekt ein 
kleiner Versuch zum erzeugen eines UKW Radiosignals werden.

Nun habe ich mir bereits mit GRC 
(http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion) 
eine entsprechende Signalverarbeitungskette aufgebaut und das erzeugte 
Signal sieht auch aus wie eine Frequenzmodulation.

Aber ich weiß nicht, wie ich das IQ-Signal welches mir GRC liefert 
mischen/transformieren muss um eine Reihe von 8 Bit Samples zu erhalten, 
die ich dann mit meinem DAC ausgeben kann.
Mein Ansatz besteht darin das IQ-Signal nach der Frequenzmodulation und 
Filterung in Realteil und Imaginärteil aufzuteilen, dann mit dem Sinus 
und Cosinus der Zwischenfrequenz zu multiplizieren und beide Teile zu 
addieren.

Allerdings löscht sich dadurch das Signal fast vollständig aus, was mich 
daran zweifeln lässt dass der Ansatz richtig ist.

Ich wäre sehr dankbar wenn mir jemand erklären könnte wie man aus einem 
IQ-Signal ein Signal erhält das man auf einen DAC geben kann.

Eine Alternative wäre noch das ich einen zweiten DAC verwende und eben 
das IQ-Signal analog mische, allerdings ist dieser Ansatz meiner Meinung 
nach vom Schaltungsaufbau komplizierter als die oben beschriebene 
Variante.

mfg

derElf

von W.S. (Gast)


Lesenswert?

Christoph R. schrieb:
> Dieses Signal soll dann mit einem Signal von ~100MHz analog
> gemischt werden um in den UKW Bereich zu kommen.

Ah ja - macht dich dieser Satz von dir denn nicht ein wenig stutzig?
Du hast also im Prinzip 2 Sinussignale, die du miteinander 
multiplizierst - und was kommt dabei heraus? Nun?

Tip: du brauchst einen I/Q-Aufwärtsmischer, um aus deinem 
niederfrequenten I/Q-Signal und einem HF-Träger ein HF-Signal zu 
erzeugen und das prinzipiell unvermeidbare Spiegelfrequenz-Signal 
möglichst gut zu unterdrücken. Dazu brauchst du im Grunde gar keinen 
niederfrequenten Zwischenträger von 460 kHz, denn du kannst ja mit 
deinem im Basisband rotierenden I/Q-Zeiger direkt auf den 
Aufwärtsmischer gehen.

W.S.

von Christoph R. (derelf)


Lesenswert?

Hallo W.S.,

erstmal Danke für deine Antwort, hab schon gedacht da kommt nichts mehr 
auf meine Frage.

>> Dieses Signal soll dann mit einem Signal von ~100MHz analog
>> gemischt werden um in den UKW Bereich zu kommen.
>
>Ah ja - macht dich dieser Satz von dir denn nicht ein wenig stutzig?
>Du hast also im Prinzip 2 Sinussignale, die du miteinander
>multiplizierst - und was kommt dabei heraus? Nun?

Nun wenn ich die 2 Sinussignale mit f1 und f2 mische bekomme ich ein 
Signal das aus 2 Frequenzanteilen besteht, einmal f1+f2 und einmal 
f1-f2. Soweit wäre das ja noch so wie ich es gerne hätte.

Damit würde ich dann meine Zwischenfrequenz mit der Trägerfrequenz 
mischen und den Anteil f1-f2 filtern.

>Tip: du brauchst einen I/Q-Aufwärtsmischer, um aus deinem
>niederfrequenten I/Q-Signal und einem HF-Träger ein HF-Signal zu
>erzeugen und das prinzipiell unvermeidbare Spiegelfrequenz-Signal
>möglichst gut zu unterdrücken.

Kannst du mir eine Beispielschaltung/IC verlinken wie so ein 
I/Q-Aufwärtsmischer funktioniert?

Wenn ich dich jetzt richtig verstanden habe, bräuchte ich dann nur noch 
mit 2 DAC's die I und Q Kanäle von GRC ausgeben und gemeinsam mit der 
Trägerfrequenz in den I/Q Aufwärtsmischer einspeisen?

Wenn ich jetzt einen I/Q Aufwärtsmischer in Software (GRC) nachbauen 
möchte, wie würde so etwas aussehen?

Vielen Dank schon mal für deine Hilfe, mit den paar Stichworten bin ich 
bei Google schon um einiges weiter gekommen.

lg

derelf

von Alex (Gast)


Lesenswert?

Hi,

ohne jetzt jemals mit GNU-Radio gearbeitet zu haben, ein paar 
Anmerkungen die vielleicht trotzdem helfen :

- passt die Samplerate von WBFM-Output und dem Bandpass nicht zusammen, 
oder wird hier automatisch interpoliert/dezimiert?

- Warum überhaupt Bandpass? Was ist das Ausgangssignal von 
WBFM-Transmit? I- und Q-Basisbandsignale?

- deine Zwischenfrequenz liegt in dem selben Frequenzbereich wie der 
Ausgang des Bandpassfilters... damit mischt du das Signal dann auf(/in 
die Nähe von) Fs/2..

- Bedenke, wenn du deine I- und Q-Daten digital auf eine ZF mischen 
möchtest und diese dann analog auf die Sendefrequenz mischt: Du hast bei 
Sendefrequenz+ZF und bei Sendefrequenz-ZF dann dein Signal -> weitere 
analoge Filterung nötig.

von W.S. (Gast)


Lesenswert?

Christoph R. schrieb:
> Kannst du mir eine Beispielschaltung/IC verlinken wie so ein
> I/Q-Aufwärtsmischer funktioniert?

Siehe Manuals und Appnotes von Analog Devices zu diesem Thema.
Prinzip:
Du kommst mit 2 Signalen (I und Q) im Basisband daher und jedes wird mit 
einem Mischer (Vierquadrantenmultiplizierer) mit dem HF-träger gemischt. 
ABER: bei einem Mischer wird der Träger um 90° versetzt zugeführt. 
Anschließend werden beide Mischerausgänge addiert und damit hebt sich 
das unerwünschte Mischprodukt heraus.

W.S.

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.