Diplomarbeit - Eingebettete Systeme - Technische Universität ...
Diplomarbeit - Eingebettete Systeme - Technische Universität ...
Diplomarbeit - Eingebettete Systeme - Technische Universität ...
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