Forum: Digitale Signalverarbeitung / DSP / Machine Learning ZF ins komplexe Basisband mischen!


von Stefan (Gast)


Lesenswert?

Hallo,

in einer Art Radio möchte ich die ZF-Signale auf 455KHz ins komplexe 
Basisband mischen.

Die ZF hat eine 2-Seitige Bandbreite von etwa 20KHz.
Ich würde diese mit 1MSPS abtasten.

Nun muß das ganze mit einem Filter von 200Hz 6-dBBandbreite bearbeitet 
werden,
dann gehts ins komplexe Basisband um über den Betrag an die Hüllkurve zu 
kommen. Danach über weitere Filter.

Nun meine Fragen:
Ist es von der Rechenleistung des DSP´s sinnvoll erst ins komplexe 
Basisband zu gehen und dann den 200Hz Filter zu realisieren?

Wie krieg ich das Signal richtig ins komplexe Basisband?
Evtl. einfach mit 2*pi*f0*t Multiplizieren und TP filtern?(Stimmt dann 
noch die Phase?)

Gruß Stefan

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

2* mischen, mit Sinus und Cosinus, sonst gibt das kein komplexes 
Basisband

von Mark (Gast)


Lesenswert?

Bei digitalen Filtern hängt die Anzahl Koeffizienten immer vom 
Verhältnis Grenzfrequenz zu Abtastfrequenz ab.
Als Abschätzung kannst du die Anzahl der Koeffizienten für FIR Filter 
mit
n = 10 * fs/fp annehmen; fs = Abtastfrequenz; fp = Grenzfrequenz.
Das sollte klar sein: je mehr Koeffizienten der Filter umso länger die 
Impulsantwort und auch der Rechenaufwand.

Von Daher würde ich erst ins komplexe Basisband gehen, also 
Multiplikation mit e^(j*2*pi+f0*t), dann dezimieren um die Abtastrate zu 
verkleinern. Erst jetzt mit deinem Filter rangehen. Die Dezimierung 
braucht natürlich auch einen Filter (der auch auf der hohen 
Abtastfrequenz läuft) um den kommt man aber nicht drumherum sonst gibt's 
Aliasing.
Dein 200Hz Filter arbeitet nun auf einer niedrigeren Abtastfrequenz und 
braucht dementsprechend weniger Koeffizienten, allerdings ist das Filter 
komplexwertig, d.h. da verdoppeln sich die Koeffizienten nochmal.

von Stefan (Gast)


Lesenswert?

Hi danke schonmal.

Also bei der Filterung würde ich ein IIR-Filter benutzen (Phase ist 
egal)
Mit Matlab FDATOOL komme ich da ungefähr auf Ordnung 10 wenn ich den 
200Hz filter direkt auf der ZF realisiere.

Nochmal zur Mischung mit e^(j*2*pi+f0*t) -> habe wie gesagt nur den 
Datenfluss des AD-Wandlers. Gibt es da keine Probleme wenn der 
e^(j*2*pi+f0*t) anteil nicht Phasenrichtig zum Signal sitzt oder gar 
etwas driftet?
Die 455KHz ZF kommt ja auch nur von analogen Teilen und die Frequenz 
kann ja nur driften.

Am Ende möchte ich ja nur die Hüllkurve haben - ich vermute fast das die 
Mischung ins komplexe Basisband mehr Rechenaufwand verursacht als eine 
Hüllkurvenrückgewinnung durch Betragsbildung und Filterung.

Gruß Stefan

von Mark (Gast)


Lesenswert?

> Also bei der Filterung würde ich ein IIR-Filter benutzen (Phase ist
> egal)
> Mit Matlab FDATOOL komme ich da ungefähr auf Ordnung 10 wenn ich den
> 200Hz filter direkt auf der ZF realisiere.

IIR hat keine konstante Gruppenlaufzeit, FIR schon. Das könnte für dich 
zum Problem werden. Was genau interessiert dich an der Hüllkurve? Darf 
die Hüllkurve verzerrt werden?

> Nochmal zur Mischung mit e^(j*2*pi+f0*t) -> habe wie gesagt nur den
> Datenfluss des AD-Wandlers. Gibt es da keine Probleme wenn der
> e^(j*2*pi+f0*t) anteil nicht Phasenrichtig zum Signal sitzt oder gar
> etwas driftet?
> Die 455KHz ZF kommt ja auch nur von analogen Teilen und die Frequenz
> kann ja nur driften.

Sicher kann es da Probleme geben. Phasenfehler zwischen I und Q, 
IQ-Imbalance, DC-Anteil auf I und Q. Das ergibt alles Verschiebungen 
bzw. Verzerrungen im Basisband. Bei digitalen Modulationen würden sich 
die Konstellationspunkte verändern. Da du aber rein digital arbeitest 
driftet da ja nix.

f0 muss recht genau die ZF treffen. Wie genau das in deinen Fall 
notwendig ist kann ich nicht sagen, das müsstest du (z.B. mit Matlab) 
mal nachprüfen.
Reale Systeme haben aus genau diesem Grund eine Trägerrückgewinnung 
implementiert. Digitale Einträgersysteme habe ich durchaus schon mit 10% 
Trägerabweichung gesehen, die liefen immernoch gut. EVM steigt zwar, 
aber nicht in dem Maße wie man das vielleicht erwartet hätte. Der 
Symboltakt ist da sehr viel wichtiger.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Etwa zwei Stützstellen pro Schwingung ist etwas wenig um die Amplitude 
zu messen - wenn beide ausgerechnet in den Nulldurchgang fallen, kommt 
Amplitude Null heraus.

von Detlef _. (detlef_a)


Lesenswert?

>>Reale Systeme haben aus genau diesem Grund eine Trägerrückgewinnung
>>implementiert. Digitale Einträgersysteme habe ich durchaus schon mit 10%
>>Trägerabweichung gesehen, die liefen immernoch gut.

Wenn die Mischerfrequenz nicht zur ZF Trägerfrequenz paßt, drehen sich 
die Konstallationspunkte mit der Differenzfrequenz. Möglicherweise ist 
das aber egal, z.B. für nen Differenzphasenmodulation.

Es ist vllt ne Idee, die Mischung von der ZF ins Basisband über eine 
Unterabtastung zu machen.

Cheers
detlef

von Stefan (Gast)


Lesenswert?

Nochmals danke:

zu
> Etwa zwei Stützstellen pro Schwingung ist etwas wenig um die Amplitude
> zu messen - wenn beide ausgerechnet in den Nulldurchgang fallen, kommt
> Amplitude Null heraus.
Nach Nyquist geht das schon, solange alles unter fs/2 liegt.


zu
> IIR hat keine konstante Gruppenlaufzeit, FIR schon. Das könnte für dich
> zum Problem werden. Was genau interessiert dich an der Hüllkurve? Darf
> die Hüllkurve verzerrt werden?

Denke schon, mache damit nur Quasipeak, Average und 
Spitzenwertmessungen.

zu
> Reale Systeme haben aus genau diesem Grund eine Trägerrückgewinnung
> implementiert.

Läßt sich sowas mit dem DSP realisieren?
(Arbeite mit dem DSK6713).

> Es ist vllt ne Idee, die Mischung von der ZF ins Basisband über eine
> Unterabtastung zu machen.

Bin extra von ZF 10,7Mhz auf ZF 455Khz um genau das zu vermeiden.

Gruß Stefan

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.