mikrocontroller.net

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


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2* mischen, mit Sinus und Cosinus, sonst gibt das kein komplexes 
Basisband

Autor: Mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.