29.01.2013 Aufrufe

Diplomarbeit - Eingebettete Systeme - Technische Universität ...

Diplomarbeit - Eingebettete Systeme - Technische Universität ...

Diplomarbeit - Eingebettete Systeme - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4 Implementierung<br />

Analog erfolgt die Entwicklung der ZF-Filter. In Abbildung 4.8 sind die Anforderungen<br />

an beide Filter der beiden Stufen angegeben. Beide Filter benötigen jeweils<br />

einen Durchlassbereich bei 21,4 MHz. In beiden Filtern kann wieder das FSF-<br />

Kammfilter mit D = 6 verwendet werden. In der ersten Stufe muss das IIR-Filter<br />

einen Pol bei 120° aufweisen, was mit C3(z) aus Tabelle 4.1 realisiert wird. Bei der<br />

zweiten Stufe wird ein Pol bei 60° benötigt. Dies ist mit C6(z) möglich. Um das<br />

Sperrverhalten zu verbessern, wurden ebenfalls je drei Filter in Serie betrieben. Da<br />

die beiden Filter eine Verstärkung von jeweils 43,63 (32,8 dB) aufweisen, wurde das<br />

Eingangswort bei diesen um 6 Bit verschoben. Die Frequenzgänge der beiden Filter<br />

sind in den Abbildungen 4.10(b) und 4.10(c) dargestellt. Die implementierte Struktur<br />

ist in Abbildung 4.9 wiedergegeben.<br />

4.6 Implementierung des analytischen Filters<br />

Die Grundlagen des analytischen Filters wurden bereits in Abschnitt 2.7.3 beschrieben.<br />

Die Implementierung besteht aus zwei Unterkomponenten, dem Hilbert-Filter<br />

zur Erzeugung des Imaginärteils sowie einer Verzögerungs-Komponente, die den Realteil<br />

um die Laufzeit des Hilbert-Filters verzögert. Die Laufzeit des Hilbert-Filters<br />

beträgt (N −1)/2 Takte. Bei einer ungeraden Koeffizientenanzahl ergibt sich somit eine<br />

ganzzahlige Anzahl an Verzögerungstakten, die einfach durch Register kompensiert<br />

werden kann. Zusätzlich können damit Verzögerungen, die durch Pipeline-Register im<br />

Hilbert-Filter entstehen, kompensiert werden.<br />

Das Hilbert-Filter wurde mit der Methode der kleinsten Fehlerquadrate, der<br />

Matlab © Filter Design Toolbox (firls()-Funktion), berechnet. Diese Funktion kann<br />

mit dem Parameter ’hilbert’ direkt ein Hilbert-Filter erzeugen. Zur Berechnung des<br />

Filters müssen Vektoren mit Frequenz- und Amplitudenstützpunkten übergeben werden.<br />

Mit einem weiteren Vektor kann eine Gewichtung der Frequenzbereiche erfolgen.<br />

Als Frequenzbereichsvorgabe wurde ein symmetrischer Frequenzbereich von 0, 005fs<br />

bis 0, 995fs gewählt (fs = 120 MHz). Die Symmetrie führt zu einer Impulsantwort,<br />

bei der alle geraden Koeffizienten mit einer Null besetzt sind. Mit einer Amplitudenvorgabe<br />

von 0,84 wurde dafür gesorgt, dass die maximale Verstärkung auch an<br />

Stellen maximaler Welligkeit immer kleiner als 0 dB ist. Die Filterlänge wurde fest<br />

auf N = 11 gesetzt, da ein Filter dieser Größe auf dem verwendeten FPGA neben<br />

den anderen Komponenten noch realisierbar ist.<br />

Multiplikationen müssen natürlich nur für Multiplikanden ungleich Null durchgeführt<br />

werden. Davon gibt es für N=11 genau 6. Durch die Punktsymmetrie (h(n)=h(-n))<br />

können nochmals die Hälfte aller Multiplikationen eingespart werden, indem<br />

die Ergebnisse mehrfach verwendet werden. Die Architektur des so optimierten Filters<br />

ist in Abbildung 4.11 zu sehen.<br />

68

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!