www.mikrocontroller.net

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

Autor: Stefan (Gast)
Datum: 06.05.2008 07:59

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 (Firma db1uq) (christoph_kessler)
Datum: 06.05.2008 08:28

2* mischen, mit Sinus und Cosinus, sonst gibt das kein komplexes
Basisband
Autor: Mark (Gast)
Datum: 06.05.2008 08:55

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: 06.05.2008 09:26

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: 06.05.2008 09:49

> 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 (Firma db1uq) (christoph_kessler)
Datum: 06.05.2008 12:44

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: 06.05.2008 13:09

>>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: 07.05.2008 11:54

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 Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net