-
Die
Erfindung betrifft einen Interpolator mit fraktional einstellbaren
Interpolationszeitpunkten. Ein solcher Interpolator wird beispielsweise
bei einem Resampler benötigt.
-
Ein
Resampler mit einem entsprechenden Interpolator ist beispielsweise
aus der
EP 0 665 546 A2 bekannt.
Der Interpolator besteht dort aus zwei FIR-Filtern mit entsprechendem
Koeffizientenspeicher. Bei dem bekannten Interpolator ist nachteilig, daß dieser
nur einstufig ausgebildet ist. Bei einer hohen geforderten Genauigkeit
muß die
Phasenschrittweite des Interpolators relativ klein sein, so daß in dem
Koeffizientenspeicher relativ viele Koeffizienten zu speichern sind,
nämlich
für jede
Phasenschrittweite ein vollständiger
Koeffizientensatz. Dies führt
zu einem hohen Speicheraufwand und bei einer monolithischen Integration
des Resamplers zu einer großen Chipfläche für den Koeffizientenspeicher.
Ferner ist die Speicherzugriffszeit relativ groß, wodurch die Verarbeitungsgeschwindigkeit
reduziert wird.
-
Die
EP 1 039 636 A2 beschreibt
eine Anordnung zur Wandlung der Abtastrate, die aus drei interpolierenden
Stufen besteht, wobei die Abtastratenerhöhung in der ersten Stufe relativ
niedrig ist. Bei der Ausgestaltung gemäß
4 sind die erste Stufe durch zwei Polyphasenfilter,
die zweite Stufe durch mehrere Polyphasenfilter und die dritte Stufe
auch durch mehrere Polyphasenfilter ausgebildet.
-
Die
DE 197 43 663 A1 schlägt ein Halbband-Interpolationsfilter
vor, das dadurch gekennzeichnet ist, daß es zwei Polyphasen aufweist.
Am Ausgang des Filters greift ein Multiplexer die Polyphasen ab
und gibt das Ausgangssignal aus.
-
-
Aus
dem Fachbuch FLIEGE, N.: "Multiraten-Signalverarbeitung:
Theorie und Anwendungen", Stuttgart:
Teubner-Verlag, 1993, Seiten 70–75, 124–140, ist
bekannt, daß Halbbandfilter
häufig
zur Interpolation verwendet werden. Ferner ist dort auch die Interpolation
mit Polyphasenfiltern beschrieben.
-
Der
Erfindung liegt die Aufgabe zugrunde, einen Interpolator und ein
Interpolationsverfahren anzugeben, mit welchem eine hohe Interpolationsgenauigkeit
bei relativ niedrigem Speicheraufwand realisierbar ist.
-
Die
Aufgabe wird bezüglich
des Interpolators durch die Merkmale des Anspruchs 1 und bezüglich des
Interpolationsverfahrens durch die Merkmale des Anspruchs 6 gelöst. Die
Unteransprüche
betreffen vorteilhafte Weiterbildungen.
-
Der
Erfindung liegt der Ansatz zugrunde, in einem Halbband-Filter (half band
filter) zunächst
eine Interpolation in der Mitte der Abtastperiode der Eingangssignalfolge
vorzunehmen und somit die Abtastperioden der Eingangssignalfolge
zu halbieren. Die Anzahl der Phasenschritte der nachgeschalteten
Polyphasenfilter muß daher
bei gleicher Genauigkeit nur halb so groß sein als ohne das vorgeschaltete Halbband-Filter.
Der Speicheraufwand für
die Koeffizienten der Polyphasenfilter wird bereits durch diese Maßnahme halbiert.
Eine weitere Reduktion des Speicheraufwands ergibt sich aus der
nachgeschalteten linearen Interpolation. Aufgrund der Tatsache, daß zwei Polyphasenfilter
verwendet werden, wobei ein Polyphasenfilter in dem Raster der vorgegebenen Phasenschritte
vor dem Interpolationszeitpunkt und das andere Polyphasenfilter
in dem Raster der Phasenschritte nach dem Interpolationszeitpunkt
interpoliert, und der weiteren Tatsache, daß das lineare Interpolationsfilter
zwischen den beiden Interpolationsergebnissen der beiden Polyphasenfilter
linear interpoliert, ergibt sich eine Erhöhung der Genauigkeit. Aufgrund
der nachgeschalteten linearen Interpolation kann deshalb die Phasenschrittweite
in den Polyphasenfiltern verringert werden, wodurch der Speicheraufwand
reduziert wird. Ein weiterer erheblicher Vorteil besteht in der
Tatsache, daß in
den Polyphasenfiltern wesentlich weniger Multiplizierer vorhanden sein
müssen,
um die gleiche Interpolationsgenauigkeit zu erreichen.
-
Um
die Bandbreite zu begrenzen, kann ein zweites Halbband-Filter (half band
filter) vorgeschaltet sein.
-
Um
trotz des Upsamplings in dem ersten Halbband-Filter keine Erhöhung der
Verarbeitungstaktrate in den Polyphasenfiltern vornehmen zu müssen, können die
geradzahligen Ausgangswerte des ersten Halbband-Filters einer ersten
Reihe seriell angeordneter Verzögerungselemente
zugeführt
werden, während
die ungeradzahligen Ausgangswerte des ersten Halbband-Filters einer zweiten
Reihe seriell angeordneter Verzögerungselemente
zugeführt wird. Über eine
Umschalteinrichtung (Multiplexer) werden die Multiplizierer der
Polyphasenfilter abwechselnd mit der ersten Reihe und der zweiten
Reihe der Verzögerungselemente
verbunden.
-
Wenn
der Interpolationszeitpunkt zwischen dem letzten Phasenschritt des
Polyphasenfilters und dem nächsten
Abtastzeitpunkt liegt, so muß einem der
beiden Polyphasenfilter die um eine Abtastperiode verschobene Ausgangssignalfolge
des ersten Halbband-Filters zugeführt werden. Dies kann durch die
Umschalteinrichtung (Multiplexer) erfolgen, die in diesem Fall um
ein Verzögerungselement
versetzt auf die Reihe der Verzögerungselemente
zugreift.
-
Ein
Ausführungsbeispiel
der Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnung näher beschrieben.
In der Zeichnung zeigen:
-
1 ein Blockschaltbild des
erfindungsgemäßen Interpolators;
-
2 das Spektrum des Eingangssignals und
des Ausgangssignals zusammen mit den Übertragungsfunktionen des ersten
Halbband-Filters,
des Polyphasenfilters und des linearen Interpolationsfilters;
-
3 das Spektrum des Eingangssignals und
des Ausgangssignals zusammen mit den Übertragungsfunktionen des zweiten
Halbband-Filters, des
ersten Halbband-Filters, des Polyphasenfilters und des linearen
Interpolationsfilters;
-
4 ein weiteres Blockschaltbild
des erfindungsgemäßen Interpolators;
-
5 ein Diagramm zur Erläuterung
des erfindungsgemäßen Interpolationsverfahrens;
-
6 die Koeffizienten der
beiden Polyphasenfilter in Abhängigkeit
von dem Phasenschritt;
-
7 ein Blockschaltbild eines
ersten Ausführungsbeispiels
eines Polyphasenfilters des erfindungsgemäßen Interpolators;
-
8 ein Blockschaltbild eines
zweiten Ausführungsbeispiels
eines Polyphasenfilters des erfindungsgemäßen Interpolators und
-
9 ein Diagramm zur Erläuterung
der linearen Interpolation.
-
1 zeigt ein Blockschaltbild
des erfindungsgemäßen Interpolators 1.
Eine digitale Eingangssignalfolge x(k) kann über eine Umschalteinrichtung
(Multiplexer MUX) 2 wahlweise direkt auf ein erstes Halbband-Filter
(half band filter HBF2) 3 oder indirekt über ein
zweites Halbband-Filter (half band filter HBF1) 4 auf
das erste Halbband-Filter 3 gegeben werden. Das zweite
Halbband-Filter 4 hat eine Übertragungsfunktion H1(f) und verändert die Abtastrate nicht
(Upsampling-Faktor up1 = 1). Das erste Halbband-Filter 3 hat
eine Übertragungsfunktion H2(f) und erhöht die Abtastrate um den Faktor
2 (Upsampling-Faktor up2 = 2). Das erste
Halbband-Filter 3 erzeugt eine Zwischensignalfolge z(k).
-
Dem
ersten Halbband-Filter 3 ist ein Polyphasenfilter (PPF) 5 nachgeschaltet.
Das Polyphasenfilter 5 gliedert sich, wie aus 4 zu erkennen, in ein erstes
Polyphasenfilter 5a und zweites Polyphasenfilter 5b,
das jeweils die Übertragungsfunktion H3(f) hat und die Abtastrate um beispielsweise
den Faktor 128 erhöht
(Upsampling-Faktor up3 = 128).
-
Dem
Polyphasenfilter 5 ist ein lineares Interpolationsfilter
(LINT) 6 nachgeschaltet, das die Übertragungsfunktion H4(f) hat. Am Ausgang des linearen Interpolationsfilters 6 steht
die Ausgangssignalfolge y(k) zur Verfügung.
-
2 zeigt das hinsichtlich
der Bandbreite zulässige
Spektrum In(f) der Eingangssignalfolge x(k) zusammen mit den Übertragungsfunktionen H2(f) des ersten Halbband-Filters 3,
H3(f) des Polyphasenfilters 5 und
H4(f) des linearen Interpolationsfilters 6.
Durch Multiplikation des Eingangsspektrums In(f) mit den Übertragungsfunktionen
H2(f), H3(f) und H4(f) entsteht das Spektrum Out(f) der Aungangssignalfolge
y(k). Dabei ist die Umschalteinrichtung 2 so geschaltet,
daß das
zweite Halbband-Filter 4 umgangen wird.
-
Die Übertragungsfunktion
H2(f) des Halbband-Filters 3 ist
bekannterweise symmetrisch bezüglich
f/fr2 = 0,25, wobei die Rampe bei 0,31 fr1 bzw. 0,115 fr2 beginnt.
Dabei ist fr1 die Abtastperiode der Eingangssignalfolge
x(k) und fr2 die Abtastperiode der Zwischensignalfolge
z(k) am Ausgang des ersten Halbband-Filters 3. Während sich
die Fouriertransformierte der Eingangssignalfolge x(k) periodisch
im Abstand fr1 wiederholt, wiederholt sich
die Übertragungsfunktion
H2(f) periodisch im Abstand fr2.
-
Die Übertragungsfunktion
H3(f) des Polyphasenfilters 5 hat
eine Rampe, die ebenfalls bei 0,31·fr1 bzw.
0,115·fr2 beginnt und ist periodisch in fr3 = 128·fr2. Dazwischen
treten parasitäre
Durchlaßbereiche
auf, die jedoch in Spektralbereichen liegen, in welchen die Übertragungsfunktion
H2(f) des ersten Halbband-Filters 3 sperrt.
Die Aufgabe der Übertragungsfunktion
H3(f) besteht darin, die Wiederholspektren von
H2(f) zu unterdrücken.
-
Die Übertragungsfunktion
H4(f) des linearen Interpolationsfilters 6 fällt kontinuierlich
ab und erreicht einen Nullpunkt bei f/fr3 =
1. Somit sperrt die Übertragungsfunktion
H4(f) des linearen Interpolationsfilters 6 dort,
wo die Durchlaßbereiche
der Übertragungsfunktionen
H2(f) und H3(f)
bei f/fr3 = 1 zusammenfallen. Solange die
Bandbreite fpass der Eingangssignalfolge
x(k) kleiner als 0,31·fr1 ist, wird die Eingangssignalfolge x(k)
verzerrungs- und störungsfrei auf
die Ausgangssignalfolge y(k) abgebildet.
-
Sofern
die Eingangssignalfolge x(k) nicht bandbegrenzt ist, ist das zweite
Halbband-Filter 4 vorzuschalten, dessen Übertragungsfunktion
H1(f) in 3 dargestellt
ist. Die Übertragungsfunktion
H1(f) des zweiten Halbband-Filters 4 hat
eine Rampe, die bei 0,19·fr1 beginnt und ihren Nullpunkt bei 0,31·fr1 erreicht. Somit nimmt das zweite Halbband-Filter 4 eine Bandbegrenzung
auf den Frequenzbereich vor, in welchem die Übertragungsfunktion H2(f) des ersten Halbband-Filters 3 konstant ist.
-
4 zeigt ein etwas detailliertes
Blockschaltbild des Interpolators 1 ohne das zweite Halbband-Filter 4 und
ohne die Umschalteinrichtung 2. Aus 4 ist erkennbar, daß dem ersten Halbband-Filter 3 ein
erstes Polyphasenfilter 5a und ein zweites Polyphasenfilter 5b nachgeschaltet
sind, wobei sowohl der Interpolationswert yPPF_L(k)
des ersten Polyphasenfilters 5a als auch der Interpolationswert yPPF_R(k) des zweiten Polyphasenfilters 5b dem
linearen Interpolationsfilter 6 zugeführt wird. Der Interpolationszeitpunkt Δt/Tr1 bezogen auf die Abtastperiode Tr1 = 1/fr1 der Eingangssignalfolge
x(k) wird durch ein von einer Zeitsteuerung 7 erzeugtes
Steuersignal S vorgegeben.
-
Das
erfindungsgemäße Interpolationsverfahren
ist in 5 schematisch
dargestellt. Ein als Funktion der Zeit dargestelltes analoges Signal
ist an den Zeitpunkten k·Tr1 abgetastet. Diese Abtastwerte bilden die
Eingangssignalfolge x(k). Die Eingangssignalfolge x(k) ist in 5 durch ausgefüllte Kreise
dargestellt. Durch den Resampler soll im dargestellten Beispiel
die Abtastrate verringert werden. Folglich ist der Abstand zwischen
den Abtastzeitpunkten der Ausgangsignalfolge y(k), wie in 5 veranschaulicht, größer. Es
ist die Aufgabe des Interpolators 1, die Amplitudenwerte
an den Abtastzeitpunkten der Ausgangssignalfolge y(k), die in 5 als Rauten dargestellt
sind, aus der Eingangsignalfolge x(k) zu interpolieren. Der Interpolationszeitpunkt Δt/Tr1 in Bezug auf den vorgehenden Abtastzeitpunkt
der Eingangssignalfolge x(k) wird von der Zeitsteuerung 7 über das
Steuersignal S an den Interpolator 1 übergeben. Ferner wird ein Enable-Signal
E übergeben, das
anzeigt, ob in dem jeweiligen Abtastintervall der Eingangsignalfolge
x(k) ein Wert der Ausgangssignalfolge y(k) zu interpolieren ist
oder nicht.
-
Bei
der Interpolation wird erfindungsgemäß so vorgegangen, daß in dem
ersten Halbband-Filter 3 eine Interpolation jeweils in
der Mitte jeder Abtastperiode Tr1 der Eingangsignalfolge
x(k) vorgenommen wird und so eine Zwischensignalfolge z(k) erzeugt
wird. Da die Interpolation stets in der Mitte der Abtastperiode
Tr1 also mit einer stets gleichen Phasenverschiebung
in Bezug auf die Eingangsignalfolge x(k), erfolgt, ist der Aufwand
in dem Halbband-Filter 3 insofern begrenzt, als das Halbband-Filter 3 mit festen
Koeffizienten arbeiten kann. Bei gleicher Phasenschrittweite Tr3 ist jedoch die Anzahl der Phasenschritte
in Bezug auf die Abtastperiode Tr2 der Zwischensignalfolge
z(k) nur halb so groß als
in Bezug auf die Abtastperiode Tr1 der Eingangssignalfolge x(k).
Folglich müssen
in dem Koeffizientenspeicher der Polyphasenfilter 5a und 5b nur
halb so viele Koeffizienten bereit gehalten werden, wodurch bei
gleicher Genauigkeit der Speicheraufwand halbiert wird. Außerdem sind
wesentlich weniger Multiplizierer in den Polyphasenfiltern 5a und 5b notwendig.
-
Das
erste Polyphasenfilter 5a interpoliert die Zwischensignalfolge
z(k) zu einem Zeitpunkt tL, der in dem vorgegebenen
Raster von möglichen
Interpolationszeitpunkten der Polyphasenfilter vor dem durch das
Steuersignal S vorgegebenen Interpolationszeitpunkt Δt liegt.
Hingegen interpoliert das zweite Polyphasenfilter 5b die
Zwischensignalfolge z(k) zu einem Zeitpunkt tR,
der in dem vorgegeben Raster von möglichen Interpolationszeitpunkten
nach dem durch das Steuersignal S vorgegebenen Interpolationszeitpunkt Δt liegt.
-
In
dem linearen Interpolationsfilter 6 erfolgt schließlich eine
lineare Interpolation zwischen den beiden zum Zeitpunkt tL und tR gefundenen
Interpolationswerten yPPF_L, Und yPPF_R. Durch die nachfolgende lineare Interpolation
wird der endgültige
Interpolationswert yLINT gefunden.
-
7 zeigt ein Ausführungsbeispiel
des Polyphasenfilters 5a, das mit dem Polyphasenfilter 5b identisch
ist. Erkennbar ist eine Reihe von Verzögerungselementen (Registern) 8a, 8b, 8c und 8d.
Dabei ist ein stark vereinfachtes Beispiel mit nur vier Verzögerungselementen 8a–8d dargestellt.
Die Verzögerungselemente 8a–8d sind
jeweils über
eine Umschalteinrichtung (Multiplexer MUX) 9a, 9b, 9c bzw. 9d mit
jeweils einem ersten Eingang 10a, 10b, 10c bzw. 10d eines
Multiplizierers 11a, 11b, 11c bzw. 11d verbunden.
Der zweite Eingang 12a, 12b, 12c bzw. 12d des
Multiplizierers 11a, 11b,11c bzw. 11d ist
mit einem Koeffizienten-Speicher 13a, 13b, 13c bzw. 13d verbunden.
Durch das Steuersignal ΔtB/Tr2 wird der Phasenschritt
vorgegeben, bei welchem das Polyphasenfilter 5a interpolieren
soll. Bei dem in den 5 und 7 dargestellten, stark vereinfachten
Ausführungsbeispiel
ist die Abtastperiode Tr2 der Zwischensignalfolge
z(k) in acht Phasenschritte unterteilt, d.h. das Polyphasenfilter 5a kann
in einem Raster von acht möglichen
Interpolationszeitpunkten interpolieren. Die Phasenschritt-Nummer
läßt sich
deshalb durch drei Bit darstellen, wie dies in 6 ganz links dargestellt ist. Für jeden
der acht möglichen Phasenschritte
wird jeweils aus den Koeffizientenspeichern 13a–13d ein
zugehöriger
Koeffizient ausgewählt.
Beispielsweise wird bei dem Phasenschritt 001 für den Multiplizierer 11a der
Koeffizient a2, für den Multiplizierer 11b der
Koeffizient b2, für den Multiplizierer 12c,
der Koeffizient c2 und für den Multiplizierer 12d der
Koeffizient d2 ausgewählt. Bei dem letzten und siebten
Phasenschritt 111 wird der Koeffizientensatz a8,
b8, c8 und d8 ausgewählt.
Die beiden Polyphasenfilter 5a und 5b interpolieren
jeweils zu benachbarten Interpolationszeitpunkten, wie dies aus 5 zu erkennen ist.
-
Eine
Besonderheit tritt auf, wenn das Polyphasenfilter 5a an
dem letzen Phasenschritt eines Abtastintervalls der Zwischensignalfolge
z(k) interpoliert, im Beispiel also an dem siebten Phasenschritt 111,
das Polyphasenfilter 5b jedoch bereits an dem ersten Phasenschritt
000 des darauffolgenden nächsten
Abtastintervalls der Zwischensignalfolge z(k). Dieses Problem wird
bei dem in 7 dargestellten
Ausführungsbeispiel
gelöst,
indem aus den Koeffizientenspeichern 13a–13d jeweils der Koeffizient
0 für den
ersten Phasenschritt 000, bei welchem keine Phasenverschiebung gegenüber dem
letzten Abtastwert der Zwischensignalfolge erfolgt, ausgelesen wird.
Jedoch wird über
die Umschalteinrichtungen 9a–9d auf den nächsten Abtastwert
z(k+1) der Zwischensignalfolge zugegriffen. Aus 6 ist erkennbar, daß die Koeffizienten des Polyphasenfilters 5b gegenüber den
Koeffizienten des Polyphasenfilters 5a jeweils um einen
Phasenschritt zyklisch verschoben sind, d. h. wenn dem Polyphasenfilter 5a der Koeffizientensatz
a8, b8, c8 und d8 zugewiesen
wird, wird dem Polyphasenfilter 5b bereits der Koeffizientensatz
0,1,0,0 zugewiesen.
-
Die
Ausgänge
der Multiplizierer 11a–11d werden
in üblicher
Weise einem Summierer 14 zugeführt. Der Ausgang 15 des
Summierers 14 ist mit dem linearen Interpolationsfilter 6 verbunden.
-
8 zeigt ein zweites Ausführungsbeispiel der
Polyphasenfilter 5a bzw. 5b. Die Abtastrate fr2 der Zwischensignalfolge z(k) ist doppelt
so groß als
die Abtastrate fr1 der Eingangssignalfolge
x(k). Das in 7 dargestellte
Ausführungsbeispiel
der Polyphasenfilter 5a und 5b müßte deshalb
mit der doppelten Taktrate betrieben werden. Es ist aber vorteilhaft,
in dem Interpolator 1 eine einheitliche Taktrate zu verwenden.
Um dies zu erreichen, sind bei dem in 8 dargestellten
Ausführungsbeispiel
die Verzögerungselemente 8a, 8b, 8c ...
in zwei Reihen 16 bzw. 17 angeordnet. Der ersten
Reihe 17 der Verzögerungselemente 8a, 8c...
werden die ungeradzahligen Ausgangswerte des ersten Halbband-Filters 3,
also die ungeradzahligen Werte z(2k+1) der Zwischensignalfolge zugeführt. Hingegen
werden der zweiten Reihe 16 der Verzögerungselemente 8b ...
die geradzahligen Ausgangswerte des ersten Halbband-Filters 3, also
die geradzahligen Werte z(2k) der Zwischensignalfolge zugeführt. Die
beiden Reihen 16 und 17 der Verzögerungselemente 8a, 8b, 8c können dann
mit dem Takt fr1 getaktet werden. Da die
Werte der Zwischensignalfolge z(k) jeweils alternierend den beiden Reihen 16 und 17 zugewiesen
werden, ist die Anschlußbelegung
der Umschaltelement 9a–9d so
wie in 8 dargestellt
zu modifizieren. Jeweils ein Eingang der Umschalteinrichtungen 9a–9d ist
mit der ersten Reihe 17 und der andere Eingang der Umschalteinrichtungen 9a–9d ist
mit der zweiten Reihe 16 verbunden.
-
9 zeigt die Vorgehensweise
in dem linearen Interpolationsfilter 6. Das Polyphasenfilter 5a erzeugt
den Interpolationswert yPPF_L(k). Das Polyphasenfilter 5b erzeugt
den Interpolationswert yPPF_R(k). Das lineare
Interpolationsfilter 6 interpoliert entsprechend dem noch
verbleibenden Zeitversatz Δtc/Tr3 (vgl. 5 und 9), wodurch der endgültige Interpolationswert yLINT(k) erhalten wird.
-
Bei
der Interpretation des Steuersignals S kann so vorgegangen werden,
daß das
am höchsten signifikante
Bit darüber
entscheidet, ob die Interpolation in der ersten Hälfte oder
in der zweiten Hälfte
des Abtastintervalls Tr1 vorgenommen wird,
eine Reihe von mittleren signifikanten Bits den Phasenschritt der Polyphasenfilter 5a und 5b festlegen
und die noch nicht berücksichtigten
am niedrigsten signifikanten Bits das lineare Interpolationsfilter 6 ansteuern.
-
Die
Erfindung ist nicht auf das dargestellte Ausführungsbeispiel beschränkt und
kann z. B. auch bei anderen Ausführungsformen
der Polyphasenfilter 5a bzw. 5b Verwendung finden.