[0001] Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zur Filterung
einer Mehrzahl von Datenfolgen im Zeitmultiplex. Eine solche Vorrichtung ist zum Beispiel
aus dem EP.A. 0 137 464 bekannt.
[0002] Es gibt eine Vielzahl von Anwendungen, bei denen zwei oder mehr digitale Datenströme
oder -folgen in gleicher Weise gefiltert werden müssen. Z.B. kann es in der Fernsehtechnik
nötig sein, Datentripel wie etwa Folgen von RGB- oder YUV-Daten um den gleichen Faktor
zu dezimieren.
[0003] Ferner kann es bei der Multiplex-Übertragung einer Mehrzahl von Datenfolgen über
einen gemeinsamen Kanal notwendig werden, die Bandbreite der Datenfolgen durch eine
für alle Folgen einheitliche Tiefpaßfilterung an die Übertragungsbandbreite des Kanals
anzupassen. Die in jeder Datenfolge vorhandene maximale Frequenz darf nicht höher
sein als das (1/2n)-fache der Abtastfrequenz bzw. der Übertragungsfrequenz des Kanals.
Andernfalls kommt es zu Störungen, die als Alias bezeichnet werden.
[0004] Um diese Störungen so gering wie möglich zu halten, ist es üblich, die Datenfolgen
vor ihrer Übertragung über den Kanal einzeln tiefpaßzufiltern. Nach der Filterung
wird aus den mehreren Datenfolgen mit Hilfe eines Umschalters eine neue Folge gebildet,
die zyklisch aus Werten der verschiedenen Ausgangsfolgen zusammengesetzt ist und über
den Kanal übertragen werden kann.
[0005] Die hierfür verwendeten Tiefpässe haben z. B. Übertragungsfunktionen der Form

und bestehen aus einer Reihenschaltung von Register-Addierer-Einheiten, bei denen
die Eingänge der Addierer jeweils einmal direkt und einmal über ein Verzögerungsregister
mit dem Eingang der Einheit verbunden sind. Ein solches Filter ist in Fig. 11 gezeigt.
[0006] Diese herkömmlichen Filter bestimmen, bedingt durch ihren Aufbau, zu jedem eingegebenen
Wert einer ursprünglichen Folge einen Ausgabewert. Dabei ist möglich, daß aufgrund
einer begrenzten Übertragungskapazität des Übertragungskanals nur ein Teil dieser
Werte abgenommen werden kann, die übrigen also umsonst bestimmt werden.
[0007] Aufgabe der Erfindung ist, ein Filter und ein Verfahren zum Betreiben des Filters
anzugeben, die es gestatten, den mit der Vorhaltung eines eigenen Filters für jede
ursprüngliche Datenfolge verbundenen Schaltungsaufwand zu verringern und so die für
die Integration solcher Filter benötigte Substratfläche zu minimieren.
[0008] Die Aufgabe wird zum einen gelöst durch ein Filter nach Anspruch 1. Die Struktur
dieses Filters gestattet es, eine Mehrzahl von Datenfolgen gleichzeitig in ein und
demselben Filter zu verarbeiten, wobei zu jedem Zeitpunkt die Register einer Gruppe
nur Werte enthalten, die von den Werten einer einzigen der ursprünglichen Folgen abgeleitet
sind.
[0009] Jedesmal, wenn die Register des Filters aktiviert werden, um die an ihrem Eingang
anliegenden Werte zu speichern, wandern diese Werte zur nächsten Gruppe weiter, ohne
dabei von den Werten anderer Folgen beeinflußt zu werden.
[0010] Ein erfindungsgemäßes Filter mit polynomartiger Übertragungsfunktion H(z
-1)=Σa
j z
-j läßt sich als Reihenschaltung von m Register-Addierer-Einheiten aufbauen, wobei der
erste Eingang der nullten Einheit mit dem zugeordneten Signalkanal und die ersten
Eingänge aller anderen Einheiten mit dem Ausgang der unmittelbar vorangehenden Einheit
verbunden sind.
[0011] Ein erfindungsgemäßes Filter ist einfach zu konstruieren, indem für alle Faktoren
a
j≠1 der Übertragungsfunktion ein Multiplizierer zum Multiplizieren mit dem Faktor aj
vorgesehen wird, der den zweiten Eingang der j-ten Einheit mit dem zugehörigen Datenkanal
verbindet.
[0012] Multiplizierer zum Multiplizieren mit einer Zweierpotenz 2j lassen sich auf sehr
einfache Weise durch einen Submultiplizierer bilden, der lediglich eine Datenleitung
enthält, deren Bit-Eingänge jeweils mit um j Bits höherwertigen Ausgängen verknüpft
sind.
[0013] Multiplizierer zum Multiplizieren mit einem beliebigen Faktor können aus einer Mehrzahl
von Submultiplizierern entsprechend den in dem Faktor enthaltenen Zweierpotenzen und
Addierern zum Addieren der Ausgaben der Submultiplizierer aufgebaut sein.
[0014] Zweckmäßigerweise umfaßt das Filter ferner einen Multiplexer mit n Eingängen für
die n Datenfolgen und n Ausgängen, an die jeweils einer der n Signalkanäle angeschlossen
ist, wobei der Multiplexer eingerichtet ist, Datenwerte einer der Datenfolgen im zyklischen
Wechsel auf die verschiedenen Datenkanäle auszugeben.
[0015] Zum Auseinandersortieren von aus jeweils Verschiedenen Datenfolgen hergeleiteten
gefilterten Werten kann als Ausgangsstufe des Filters, ggf. hinter der Übertragungsstrecke,
ein Demultiplexer vorgesehen werden, der an den Ausgang einer der Einheiten angeschlossen
ist und n Ausgänge aufweist, die jeweils einen einer der Datenfolgen zugeordneten
Ausgang des Filters bilden.
[0016] Die Aufgabe wird des weiteren gelöst durch ein Verfahren nach Anspruch 9. Dieses
Verfahren ist insbesondere vorteilhaft anwendbar auf ursprüngliche Datenfolgen mit
gleichen Taktraten.
[0017] Die Ausgabedatenrate des Filters ist in Anpassung an die Übertragungskapazität des
Übertragungskanals weitgehend frei wählbar. Wenn die Verfahrensschritte a) bis c)
in jeder Taktperiode der ursprünglichen Datenfolgen n-mal durchgeführt werden, wird
zu jedem eingegebenen Ursprungsdatenwert ein gefilterter Wert erzeugt. Wenn die Schritte
nur einmal pro Taktperiode ausgeführt werden, so entspricht dies einer Dezimation
der ursprünglichen Daten um den Faktor n. In jedem Fall, unabhängig von der Zahl der
Wiederholungen, werden aber mit dem erfindungsgemäßen Filter nicht mehr Datenwerte
erzeugt als tatsächlich auf den Übertragungskanal ausgegeben werden und so der mit
den herkömmlichen Filtern bei der Dezimation der Daten vor ihrer Übertragung verbundene
überflüssige Rechenaufwand vermieden.
[0018] Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung
von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren. Es zeigen:
- Fig. 1
- ein schematisches Blockschaltbild einer ersten Ausgestaltung eines erfindungsgemäßen
Filters;
- Fig. 2
- ein detaillierteres Schaltbild des Filters aus Fig. 1;
- Fig. 3
- eine zweite Ausgestaltung eines erfindungsgemäßen Filters, das dieselbe Übertragungsfunktion
wie das Filter aus Figs. 1 und 2, aber einen einfacheren Aufbau hat;
- Fig. 4
- eine dritte Ausgestaltung eines erfindungsgemäßen Filters;
- Fig. 5
- eine vierte Ausgestaltung mit der gleichen Übertragungsfunktion wie das Filter aus
Fig. 4 und mit vereinfachter Struktur;
- Fig. 6
- eine Filteranordnung zur Erzeugung und Filterung quadraturdemodulierter Signale;
- Fig. 7
- ein erfindungsgemäßes Filter zur gemeinsamen Filterung und Dezimierung von drei Datenfolgen;
- Fig. 8
- ein Prinzipschaltbild eines Filters zur gemeinsamen Filterung von drei Datenfolgen
und Dezimierung der Datenfolgen um den Faktor 6;
- Fig. 9
- eine konkrete Ausgestaltung des Filters aus Fig. 8;
- Fig. 10
- einen Multiplexer zum Umsetzen von Datenfolgen in eine durch die Filter aus Fig. 7
oder 8 verarbeitbare Form, und
- Fig. 11
- ein herkömmliches Filter nach dem Stand der Technik.
[0019] Um das Verständnis der Arbeitsweise des erfindungsgemäßen Filters zu erleichtern,
wird zunächst anhand von Fig. 11 kurz auf die Arbeitsweise des herkömmlichen Filters
eingegangen.
[0020] Das herkömmliche Filter umfaßt zwei Äste U und V mit jeweils einem Eingang, der eine
ursprüngliche Datenfolge u
0, u
1, ... bzw. v
0, v
1, ... empfängt, und einen Umschalter 11, der Ausgabewerte der zwei Äste alternierend
an einen Übertragungskanal 13 weitergibt. Die Übertragungskapazität des Kanals 13
entspricht der Taktrate der zwei ursprünglichen Datenfolgen.
[0021] Jeder Ast enthält eine Register-Addierer-Kette, die aus einer Mehrzahl von Register-Addierer-Einheiten
1
X1, 1
X2, ... bzw. 1
Y1, 1
Y2, ... besteht, die jeweils ein an einen ersten Eingang der Einheit angeschlossenes
Register 3
X1, ... zum Zwischenspeichern von Werten der Datenfolgen oder davon abgeleiteten Werten
und einen Addierer 5
X1 ... mit einem an den Ausgang des Registers 3
X1 angeschlossenen Eingang, einem an einen zweiten Eingang der Einheit angeschlossenen
Eingang und einem Ausgang, der einen Ausgang der Einheit bildet, umfassen. Beide Eingänge
der Einheiten sind jeweils miteinander verbunden. Jede Einheit hat die Übertragungsfunktion
H*(z
-1)=z
-1+1, die m-fache Hintereinanderschaltung dieser Einheiten ergibt jeweils Filteräste
mit der Übertragungsfunktion H*(z
-1)=(z
- 1+1)
m. Beim in Fig. 11 gezeigten Beispiel ist m = 4, die Gesamtübertragungsfunktion jedes
Asts ist somit

[0022] Aus ursprünglichen Datenfolgen u=[u
1, u
2, u
3, u
4, u
5, u
6] bzw. v=[v
1, v
2, v
3, v
4, v
5, v
6] erzeugen die zwei Äste die Folgen
u1
u2+4u1
u3+4u2+6u1
u4+4u3+6u2+4u1
u5+4u4+6u3+4u2+u1
u6+4u5+6u4+4u3+u2
bzw.
v1
v2+4v1
v3+4v2+6v1
v4+4v3+6v2+4v1
v5+4v4+6v3+4v2+v1
v6+4v5+6v4+4v3+v2.
[0023] Diese Werte liegen jeweils zu zweit gleichzeitig an den zwei Eingängen des Umschalters
11 an. Aufgrund der begrenzten Übertragungskapazität des Kanals 13 können nicht alle
berechneten Werte übertragen werden. In diesem Fall erfolgt eine Dezimierung der Daten,
indem der Umschalter 11 jeweils alternierend während einer Taktperiode der ursprünglichen
Datenfolgen den Ast U und dann den Ast V mit dem Übertragungskanal 13 verbindet. Es
liegt somit am Eingang des Übertragungskanals 13 je nach Anfangsstellung des Umschalters
11 die Datenfolge
u1
v2+4v1
u3+4u2+6u1
v4+4v3+6v2+4v1
u5+4u4+6u3+4u2+u1
v6+4v5+6v4+4v3+v2.
oder deren Komplement an. Es werden also pro Taktperiode zwei Datenwerte erzeugt,
gebraucht werden kann aber nur jeder zweite davon.
[0024] Fig. 1 zeigt eine erste Ausgestaltung eines erfindungsgemäßen Filters. Die Übertragungsfunktion
des Filters ist dieselbe wie die des Filters aus Fig. 11. Es umfaßt wie dieses eine
Kette mit einer Mehrzahl von Register-Addierer-Einheiten 1
0, 1
1, 1
2, 1
3 mit jeweils einem Register 3
0, 3
1, 3
2 bzw. 3
3 und einem Addierer 5
0, 5
1, 5
2 bzw. 5
3. Diese Einheiten sind in eine nullte Gruppe mit den Einheiten 1
0 und 1
2 und eine erste Gruppe mit den Einheiten 1
1 und 1
3 unterteilt. Das Register 3
0 ist mit dem Datenkanal 7
0 der nullten Gruppe direkt verbunden. Der Addierer 5
0 ist an den Ausgang des Registers 3
0 und über einen Multiplizierer 9
0 an den Datenkanal 9
1 der ersten Gruppe angeschlossen und gibt somit an das Register der folgenden Einheit
1
1 die Summe aus dem um einen Takt verzögerten Inhalt des Registers 3
0 und dem Vierfachen des auf dem Datenkanal 7
1 anliegenden Werts aus. Die darauffolgenden Einheiten arbeiten in analoger Weise.
[0025] Diesem Filter ist zweckmäßigerweise ein Multiplexer (nicht dargestellt) mit zwei
Eingängen vorgeschaltet, wobei jeder Eingang die Werte einer der zwei zu filternden
ursprünglichen Datenfolgen u, v empfängt, und das die empfangenen Werte abwechselnd
auf den nullten und den ersten Übertragungskanal ausgibt. Diese Maßnahme hat zur Folge,
daß in einer Taktperiode, in der z. B. auf dem ersten Datenkanal 9
1 ein Wert der ersten Folge u anliegt, die Register 3
0 und 3
2 Datenwerte an die Addierer 5
0, 5
2 ausgeben, die von Werten der Folge u abgeleitet sind, und umgekehrt. In der nächsten
Taktperiode sind die von der Folge u abgeleiteten Werte in die Register der nullten
Gruppe übergegangen. Da in dieser Taktperiode der Wert der ursprünglichen Folge u
vom Multiplexer auf den anderen Datenkanal 7
0 ausgegeben wird, werden auch diesmal nicht Werte der verschiedenen Folgen vermengt.
[0026] Es ist offensichtlich, daß alle Übertragungsfunktionen der Form

mit dem erfindungsgemäßen Filter realisiert werden können, indem je nach Bedarf die
Zahl der Einheiten und die Multiplikationsfaktoren entsprechend gewählt werden.
[0027] Zur Erweiterung der Schaltung zur Verarbeitung einer zusätzlichen ursprünglichen
Datenfolge genügt es, die Zahl der Gruppen um 1 zu erhöhen, die vorhandenen Register-Addierer-Einheiten
zyklisch auf die Gruppen zu verteilen und einen weiteren Datenkanal vorzusehen, an
den die Einheiten der neugeschaffenen Gruppe angeschlossen werden, wie später anhand
von Fig. 7 - 9 am Beispiel von drei Datenfolgen u, v, w gezeigt
[0028] Fig. 2 zeigt eine Variante der Schaltung aus Fig. 1, bei der die Multiplizierer einen
besonders einfachen Aufbau haben. Bei dieser Variante wird die Tatsache ausgenutzt,
daß sich bei binärer Zahlendarstellung Multiplikationen mit einer Zweierpotenz 2
j sehr einfach realisieren lassen, indem an die zu multiplizerende Zahl rechts j Nullen
angehängt werden. Der Multiplizierer 9
0 kann daher schlicht und einfach dadurch realisiert werden, daß sämtliche Bits 0,
1, ...,ν des Übertragungskanals 7
1 mit Eingangsbits j, j+1, ..., j+ν eines Eingangs des Addierers 50 verbunden sind.
Die Eingangsbits 0, ..., j-1 desselben Eingangs des Addierers können fest auf den
Wert 0 gelegt sein. Eine besonders einfache Ausgestaltung des Addierers ergibt sich
dann, wenn dieser nur Eingänge für die Bits mit Stellenwert 2
j oder darüber aufweist. Da sich die Inhalte niedrigerwertiger Leitungen bei der Addition
nicht ändern können, brauchen sie vom Addierer nicht erfaßt zu werden. Diese niedrigwertigen
Leitungen können deshalb direkt vom Ausgang des zur Einheit des Addierers gehörenden
Registers zum Eingang des Registers der nachfolgenden Einheit durchgeführt sein.
[0029] Im Falle des Multiplizierers 9
0 sind für eine Multiplikation mit dem Faktor 4 die Ausgangsleitungen des Multiplizierers
um 2 Bit gegenüber den Eingangsleitungen nach links verschoben.
[0030] Der Multiplizierer 9
1 zum Multiplizieren mit dem Faktor 6 kann nicht ganz so einfach realisiert werden.
Er besteht aus zwei Submultiplizierern 9
11 und 9
12, wobei der Submultiplizierer 9
12 genauso wie der Multiplizierer 9
0 aufgebaut ist und der Submultiplizierer durch Verschieben um ein Bit nach links eine
Multiplikation mit 2 durchführt. Entsprechend umfaßt der Addierer 5
1 zwei Subaddierer 5
11, 5
12, die die Ausgabewerte der Submultiplizierer zum Ausgabewert des Registers 3
1 hinzuaddieren.
[0031] Fig. 3 zeigt eine Weiterentwicklung des Filters aus Fig. 1 bzw. 2, bei dem die Multiplikation
mit Faktoren, die keine Zweierpotenzen sind, völlig vermieden ist. Diese Ausgestaltung
basiert auf der Erkenntnis, daß der zweite Eingang der Register-Addierer-Einheiten
nicht zwangsläufig an den der jeweiligen Gruppe entsprechenden Datenkanal angeschlossen
sein muß, sondern daß er auch mit dem Ausgang einer derselben Gruppe angehörenden
Einheit verbunden sein darf, ohne daß dies zu einer unerwünschten Vermengung der Daten
der verschiedenen Folgen U und V führt, und daß sich mit Hilfe solcher Verbindungen
die Schaltungsstruktur vereinfachen läßt.
[0032] Wie die Filter aus Fig. 1 und 2 hat das in Fig. 3 gezeigte Filter vier hintereinandergeschaltete
Register-Addierer-Einheiten 1
0, 1
1, 1
2, 1
3. Das Ausgangssignal des Registers 3
0 ist über eine Leitung 15 abgegriffen und auf den zweiten Eingang der dritten Einheit
1
2 geführt. Der Ausgang der Einheit 1
1 ist mit dem zweiten Eingang der Einheit 1
3 verbunden. Wie man leicht erkennt, haben die ersten zwei Einheiten 1
0, 1
1 der Schaltung zusammen mit dem Multiplizierer 9
0 die Übertragungsfunktion H*
1(z
-1) = z
-2+4z
-1+1. Durch Verzögern im Register 3
2 und Hinzuaddieren des Vierfachen des über die Leitung 15 übertragenen Signals z
-1 mit Hilfe des Multiplizierers 9
2 und des Addierers 5
2 ergibt sich für den Ausgang der Einheit 1
2 die Übertragungsfunktion

[0033] Erneutes Verzögern im Register 3
3 und Hinzuaddieren von H*
1(z
-1) im Addierer 5
3 liefert die gewünschte Übertragungsfunktion. Hierfür kommt die Schaltung nach Fig.
3 mit minimalem Aufwand aus: Es werden lediglich vier Register und vier Addierer -verwendet,
und die Multiplizierer haben, soweit noch erforderlich, den denkbar einfachsten Aufbau,
da sie lediglich zur Multiplikation mit Zweierpotenzen benötigt werden.
[0034] Die Figs. 4 und 5 zeigen zwei erfindungsgemäße Filter für die Übertragungsfunktion

[0035] Das Filter aus Fig. 4 ist nach demselben Prinzip konstruiert wie das aus Fig. 1.
Die zweiten Eingänge der drei Register-Addierer-Einheiten sind jeweils über Multiplizierer
mit einem der Datenkanäle 7
0 bzw. 7
1 verbunden, wobei die Faktoren der Multiplizierer gleich den entsprechenden Koeffizienten
der als Polynom geschriebenen Übertragungsfunktion sind.
[0036] Die Multiplizierer können nach dem in Fig. 2 gezeigten Prinzip aus Submultiplizierern
aufgebaut sein.
[0037] Fig. 5 zeigt wiederum ein Filter mit vereinfachtem Aufbau. Der Multiplizierer 9
0 ist durch einen verdoppelnden Submultiplizierer 9
02 und eine direkte Verbindung mit dem Datenkanal 7
0 sowie zwei Addierer 5
01, 5
02 implementiert. Über eine Leitung 15 wird ein Signal mit der Übertragungsfunktion
H*
0(z
-1) = z
-1+1 abgegriffen und auf den zweiten Eingang der Einheit 1
2 geführt. Diese Abwandlung gestattet es, anstelle des in Fig. 4 verwendeten Verdreifachers
einen Verdoppler 9
2 zu verwenden, weswegen das Filter aus Fig. 5 zur Realisierung derselben Übertragungsfunktion
mit einem Addierer weniger auskommt.
[0038] Fig. 6 zeigt das Prinzipschaltbild eines Filters mit Quadraturdemodulation einer
Eingangsfolge. Üblicherweise werden bei solch einem Filter mit einer Sinus- und einer
Cosinusschwingung modulierte Datenfolgen aus einer ursprünglichen Datenfolge erzeugt,
indem in zwei Multiplizierern 17 die ursprünglichen Werte mit Sinus- und Cosinuswerten
multipliziert werden, die z. B. aus einem ROM ausgelesen werden. Erfindungsgemäß multipliziert
jeder der Multiplizierer 17 die eintreffenden ursprünglichen Datenwerte alternierend
mit einem Sinusund einem Cosinuswert. Dies hat zur Folge, daß Werte, die der sinus-
(bzw. cosinus-)modulierten Folge angehören, abwechselnd an den Datenkanälen 7
0 bzw. 7
1 anliegen, ohne daß hierfür ein vorgeschalteter Multiplexer erforderlich ist.
[0039] Fig. 7 zeigt die Anwendung des erfindungsgemäßen Konstruktionsprinzips auf ein Filter
zur gemeinsamen Filterung von drei Datenfolgen. Dieses Filter kann insbesondere zur
Filterung und Dezimierung von digitalisierten RGB- oder YUV-Daten in der Fernseh-
und Videotechnik eingesetzt werden.
[0040] Dem Filter ist ein der in Fig. 10 gezeigte Multiplexer vorgeschaltet, der auf drei
Eingängen die drei Datenfolgen u=[u
1, u
2, u
3, u
4, u
5, u
6,...], v=[v
1, v
2, v
3, v
4, v
5, v
6, ...] und w=[w
1, w
2, w
3, w
4, w
5, w
6, ...] empfängt. Jedem Eingang sind zwei Register 31 zugeordnet, die jeden eintreffenden
Folgenwert abspeichern und um eine Taktperiode verzögern. Ein Steuerschalter 33 hat
drei Gruppen 34-36 mit je drei Eingängen. Jede Gruppe enthält einen direkt mit dem
Eingang des Multiplexers verbundenen, einen einfach verzögerten und einen doppelt
verzögerten Eingang. Zu Beginn der Umsetzung liegen am Eingang des Multiplexers die
Folgenwerte u
1, v
1, w
1 an, und die Register enthalten Nullen. Die Steuerschaltung 33 schaltet die an ihrem
Eingang 34 anliegenden Werte u
1, 0, 0 auf den Ausgang durch. Im nachfolgenden Takt liegen Werte u
2, v
2, w
2 am Eingang des Multiplexers. Die einfach verzögernden Register enthalten die Werte
u
1, v
1, w
1, die zweifach verzögernden enthalten Nullen. Die am Eingang 35 anliegenden Werte
u
1, v
2, 0 werden ausgegeben. Im Folgetakt gibt die Schaltung die am Eingang 36 anliegenden
Werte w
1, v
2, u
3 aus. Die drei Kanäle 7
0, 7
1, 7
2 des Filters werden so mit Datenfolgen u
1, v
1, w
1, u
4, v
4, w
4, ...; 0, u
2, v
2, w
2, u
5, v
5, w
5, ... bzw. 0, 0, u
3, v
3, w
3, u
6, v
6, ... versorgt.
[0041] Das Konstruktionsprinzip des Multiplexers aus Fig. 10 läßt sich für beliebige Zahlen
n gemeinsam zu verarbeitender Datenfolgen anwenden. Dabei ist jedem der n Eingänge
des Multiplexers eine Kette von n-1 Registern zugeordnet, und der Steuerschalter hat
n Gruppen zu n Eingängen, von denen jeweils einer mit einem Eingang der Schaltung
bzw. dem Ausgang eines i-fach verzögernden Registers verbunden ist (i=1, 2, ..., n-1).
[0042] Das Filter in Fig. 7 enthält wie das aus Fig. 1 eine Kette, die abwechselnd aus Addierern
5
m-1, 5
m-2, ... 50 und Registern 3
m, ..., 3
0 aufgebaut ist. Jedem der drei Datenkanäle 7
0, 7
1, 7
2, des Filters ist eine Gruppe von Registern 3
m, 3
m- 3, ...; 3
m-1, ... bzw. 3
m-2, ... zugeordnet, die über Multiplizierer 9
m, 9
m-1, ... und ggf. Addierer 5
m-1, 5
m-2, ... mit ihrem Datenkanal verbunden sind, um eine Übertragungsfunktion der Form

zu realisieren. In einem ersten Arbeitstakt empfängt das Filter auf den drei Datenkanälen
das Wertetripel u1, 0, 0. Die dem Kanal 7
0 zugeordneten Register 3m, 3
m-3, ... empfangen Werte a
mu
1 , a
m-3u
1, ... usw., die Register der anderen Gruppen bleiben noch unbelegt. In einem zweiten
Takt liegen auf den drei Kanälen die Werte v
1, u
2, 0. Die Addierer 5
m-1, 5
m-4 addieren zu den Inhalten der Register 3
m, 3
m-3, ... jeweils Werte a
m-1u
2, a
m-4u
2, ... und geben sie in der Kette eine Stelle weiter in die Register 3
m-1, 5
m-4, .... Gleichzeitig werden Werte a
mv
1 , a
m-3v
1, ... usw. in die Register der dem Kanal 7
0 zugeordneten Gruppe geladen. Im nächsten Takt wandern die Werte wiederum einen Schritt
weiter, und die dem Kanal 7
0 zugeordneten Register werden mit a
mw
1 , a
m-3w
1, ... usw. geladen. Nach m Takten beginnt das Filter, eine Datenfolge der Form




auszugeben. Die Filterung der Folgen u, v und w beinhaltet gleichzeitig eine Dezimierung
um den Faktor 3.
[0043] Fig. 8 zeigt das Prinzip eines Filters zum gemeinsamen Filtern und Dezimieren um
den Faktor 6. Das Filter umfaßt drei Datenkanäle 7
0, 7
1, 7
2 zum Empfangen der vom Multiplexer aus Fig. 10 ausgegebenen Datenfolgen. Je nach Stufe
des Polynoms der Übertragungsfunktion H(z) besitzt das Filter eine oder mehrere hintereinandergeschaltete
Filterstufen 21, die jeweils entsprechend der Zahl der Datenkanäle eine Kette aus
je drei Addierern 5
0, 5
1, 5
2, und drei Register 3
0, 3
1, 3
2 sowie drei erste Multiplexer 23
0, 23
1, 23
2 und zweimal drei Multiplizierer 9
00, 9
10, 9
20 und 9
01, 9
11, 9
21 umfassen. Jeder erste Multiplexer 23
i (i=0, 1, 2) hat zwei Eingänge, die über die Multiplizierer 9
i0, 9
i1 mit dem Datenkanal 7
i verbunden sind. Bei einer tatsächlichen Implementierung des Filters aus Fig. 8 können
je nach Übertragungsfunktion einzelne Multiplizierer und Multiplexer entfallen, wie
später erläutert wird.
[0044] Der Eingang des ersten Addierers 50 der Kette ist mit einem zweiten Multiplexer 25
verbunden, von dem ein Eingang den Eingang der Stufe 21 bildet und dessen zweiter
Eingang mit dem Ausgang des letzten Registers 3
2 verbunden ist. Der Ausgang des letzten Registers 3
2 ist gleichzeitig Ausgang der Filterstufe 21. Der Ausgang jeder Filterstufe 21 mit
Ausnahme der letzten führt auf den Eingang einer nachfolgenden Filterstufe. Der Ausgang
der letzten führt zu einem Addierer 5
3, dessen zweiter Eingang über einen Multiplizierer 9
3 an den Kanal 7
0 angeschlossen ist, zu einem Multiplexer 27, der das Ergebnis der Filterung und Dezimierung
ausgibt.
[0045] Die Arbeitsweise des Filters wird anhand des Ausführungsbeispiels in Fig. 9 erläutert.
Dieses Filter ist angelegt für eine Übertragungsfunktion

[0046] Es besitzt nur eine Filterstufe 21. Der dem Koeffizienten a
0 = 1 entsprechende Multiplizierer 9
3 ist entfallen, genauso der a
5 = 1 entsprechende Multiplizierer 9
11. Da a
6 = 0, ist der entsprechende Multiplizierer 9
01 durch einen Nullsignal-Eingang ersetzt. Da die Faktoren a
4 und a
1 gleich sind, ist für sie nur ein Multiplizierer 9
2 vorgesehen und der Multiplexer ist 23
2 entfallen.
[0047] Das Filter empfängt die Datenfolgen v
1, w
1, u
4, v
4, w
4, ...; u
2, v
2, w
2, u
5, v
5, w
5, ... bzw. 0, u
3, v
3, w
3, u
6, v
6, ... vom Multiplexer aus Fig. 10. Zu Beginn des Betriebs sind die Multiplexer so
gesteuert, daß die ersten Multiplexer ihre in der Fig. links dargestellten Eingänge
selektieren und der zweite Multiplexer 25 den oberen Eingang selektiert, an dem ständig
0 anliegt. Vom ersten auf den Kanälen erscheinenden Wertetripel v
1, u
2, 0 geht der Wert v
1 verloren, die Register 3
0, 3
1, 3
2 bekommen die Inhalte 0, 5u
2, 0. Der nächste Takt mit dem Wertetripel w
1, v
2, u
3 führt zu Registerinhalten 0, 5v
2, 5u
2+10u
3. Zum darauffolgenden Takt werden die Multiplexer 23
0, und 25 umgeschaltet, so daß die vom Register 3
2 ausgegebenen Werte auf den Addierer 50 zurückgeführt werden und der rechte Eingang
des ersten Multiplexers 23
0 aktiv ist. Das Wertetripel u
4, w
2, v
3 ergibt somit die Registerbelegung 5u
2+10u
3+10u
4, 5v
2+10v
3, 5w
2. Mit dem nächsten Takt müßte, wenn er vorhanden wäre, der Multiplexer 23
1 umgeschaltet werden, danach der Multiplexer 23
2. Noch einen Takt später selektiert der Multiplexer 27 seinen oberen Eingang und gibt
drei Takte lang die Filterungsergebnisse für die Folgen u, v, w aus. Im Dauerbetrieb
des Filters wechseln sämtliche Multiplexer nach jeweils drei Takten ihren Zustand.
Man erhält so für je sechs eingegebene Folgenwerte einen gefilterten Wert, also einen
Dezimationsfaktor von 6.
[0048] Höhere Dezimationsfaktoren, die immer ein ganzzahliges Vielfaches der Kanalzahl sind,
lassen sich auf einfache Weise erzielen, wenn man die Anzahl der Eingänge der ersten
Multiplexer und die Zahl der Male, die die eingegebenen Daten in der Filterstufe im
Kreis laufen, erhöht.
[0049] Dieselbe Wirkung wie mit den Filtern aus Fig. 7-9 läßt sich erzielen, wenn man die
eingangsseitigen zweiten Multiplexer 25 durch Demultiplexer am Ausgang des letzten
Registers 5
2 ersetzt.
[0050] Auch die Multiplizierer der Filter aus Fig. 7 bis 9 können aus Submultiplizierern
wie in Verbindung mit Fig. 2 beschrieben aufgebaut werden. Im Falle des Filters aus
Fig. 8 bzw. 9 können insbesondere an denselben Multiplexer angeschlossene Multiplizierer
Submultiplizierer gemeinsam haben.
1. Filter zur Filterung von n Datenfolgen im Zeitmultiplex, wobei n eine ganze Zahl >
1 ist, mit einer Mehrzahl von Registern (30, 31, 32, 33) zum Zwischenspeichern von Werten der Datenfolgen oder davon abgeleiteten Werten
und Addierern (50, 51, 52, 53), wobei die Register und die Addierer abwechselnd miteinander zu einer Kette verbunden
sind,
dadurch gekennzeichnet, daß die Register in n Gruppen (30, 32; 31, 33) unterteilt sind, jeder Gruppe ein Datenkanal (70, 71) zum Empfangen von Werten der Datenfolgen zugeordnet ist, wobei der erste Eingang
jedes einem Register (30, 32; 31, 33) der i-ten Gruppe (0≤i≤n-1) vorgeschalteten Addierers (50, 52; 51, 53) eine Verbindung mit dem der i-ten Gruppe zugeordneten Datenkanal (7i) und der zweite Eingang desselben Addierers eine Verbindung mit einem Register (31, 33; 30, 32) der Gruppe mit der Nummer (i-1)mod n ohne zwischengeschaltetes Register einer weiteren
Gruppe hat,
2. Filter nach Anspruch 1,
dadurch gekennzeichnet, daß wenigstens eine der Verbindungen einen Multiplizierer (90, 91, 92) umfaßt.
3. Filter nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß wenigstens eine der Verbindungen eine Mehrzahl von parallelen Multiplizierern zum
Multiplizieren mit verschiedenen Faktoren und einen Schalter zum selektiven Verbinden
eines der Multiplizierer mit dem zugeordneten Addierer (50, 51, 52, 53) umfaßt.
4. Filter nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß er wenigstens einen Multiplizierer (90, 91) zum Multiplizieren mit einem Faktor k, der keine Zweierpotenz ist, enthält, wobei
der Multiplizierer (90; 91) aus einer Mehrzahl paralleler Submultiplizierer (901, 902; 911, 912) zum Multiplizieren mit je einer Zweierpotenz 2j und Addierern (501, 502) aufgebaut ist, die die Ausgabewerte der Submultiplizierer addieren, und wobei die
Submultiplizierer eine Verbindung ihrer Eingangsdatenleitungen mit um jeweils um j
Bits nach links verschobenen Ausgangsleitungen umfassen.
5. Filter nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet, daß zum Realisieren einer als Polynom in z-1 darstellbaren Übertragungsfunktion H(z-1)=Σaj z-j, wobei j=0, 1, ..., m-1 ist, die Kette m Addierer (50, 51, 52, 53) und Register (30, 31, 32, 33) umfaßt, wobei der Eingang des nullten Registers (30) mit dem zugeordneten Datenkanal (70, 71) und für alle j>0 der Eingang des j-ten Registers (31, 32, 33) mit dem Ausgang des (j-1)-ten Addierers (50, 51, 52) verbunden ist.
6. Filter nach Anspruch 5,
dadurch gekennzeichnet, daß für alle aj≠1 ein Eingang des j-tenAddierers (50, 51, 52, 53) mit dem zugehörigen Datenkanal (70, 71) über einen Multiplizierer (90, 91, 92) zum Multiplizieren mit dem Faktor aj verbunden ist.
7. Filter nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß wenigstens ein Addierer zwei Eingänge aufweist, die mit den Ausgängen von zwei derselben
Gruppe angehörenden Registern verbunden sind.
8. Filter nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen Schalter, der den Ausgang eines Registers der Gruppe (i+1)mod n (0≤i≤n-1) wahlweise
mit den Eingängen verschiedener, Register der Gruppe i vorgeschalteter Addierer verbindet.
9. Filter nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen Schalter, der den Eingang eines einem Register der Gruppe (i+1)mod n (0≤i≤n-1)
vorgeschalteten Addierers wahlweise mit den Ausgängen verschiedener Register der Gruppe
i verbindet.
10. Filter nach einem der vorstehenden Ansprüche, gekennzeichnet durch einen Multiplexer (Fig. 10) mit n Eingängen für die n Datenfolgen (u, v, w) und n
Ausgängen, an die jeweils einer der n Datenkanäle (70, 71) angeschlossen ist, wobei der Multiplexer eingerichtet ist, Datenwerte einer der
Datenfolgen im zyklischen Wechsel auf die verschiedenen Datenkanäle (70, 71) auszugeben.
11. Filter nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen Demultiplexer, der an den Ausgang einer der Addierer angeschlossen ist, mit
n Ausgängen, die jeweils einen einer der Datenfolgen zugeordneten Ausgang des Filters
bilden.
12. Filteranordnung zum Erzeugen von zwei quadraturdemodulierten Datenfolgen aus einer
gemeinsamen Ursprungsfolge und zum Filtern der erzeugten Folgen,
gekennzeichnet durch einen Filter nach einem der Ansprüche 1 bis 10, wobei n=2 ist, zwei Multiplizierer
(17), die die Werte der Ursprungsfolge empfangen, wobei die Multiplizierer (17) eingerichtet
sind, empfangene Werte alternierend mit Sinus- und Cosinus-Faktoren zu multiplizieren
und auf die Datenkanäle (70, 71) auszugeben.
13. Verfahren zum Betreiben eines Filters nach einem der Ansprüche 1 bis 12, mit den Schritten:
a) für alle i=0, ..., n-1: Anlegen eines Wertes der i-ten Datenfolge an den Datenkanal
(70, 71) der Gruppe (i+d)mod n;
b) Abspeichern der an den ersten Eingängen aller Register (30, 31, 32, 33) anliegenden Werte in den Registern (30, 31, 32, 33);
c) Verändern von d um 1; und
d) Wiederholen der Schritte a) bis c) so oft wie erforderlich.
14. Verfahren nach Anspruch 13, wobei die Taktraten aller Datenfolgen dieselben sind.
15. Verfahren nach Anspruch 14, wobei die Schritte a) bis c) in jeder Taktperiode der
Datenfolgen n-mal durchgeführt werden.
16. Verfahren nach Anspruch 14, wobei die Schritte a) bis c) in jeder Taktperiode der
Datenfolgen einmal durchgeführt werden.
17. Verwendung eines Filters nach einem der Ansprüche 1 bis 12 zur parallelen Dezimierung
von n Datenfolgen um einen gemeinsamen Faktor.
1. A filter for filtering n data sequences in time multiplex, wherein n is a whole number
> 1, having a plurality of registers (30, 31, 32, 33) for buffering values of the data sequences or values derived therefrom and adders
(50, 51, 52, 53), with the registers and the adders being alternately connected to one another to
form a chain,
characterised in that the registers are divided into n groups (30, 32; 31, 33), a data channel (70, 71) for receiving values of the data sequences is assigned to each group, with the first
input of each adder (50, 52; 51, 53) connected in front of a register (30, 32; 31, 33 ) of the ith group (0≤i≤n-1) having a connection with the data channel (7i) assigned to the ith group and the second input of the same adder having a connection with a register
(31, 33; 30, 32) of the group with the number (i-1)mod n without a register of another group connected
between them.
2. A filter according to Claim 1,
characterised in that at least one of the connections comprises a multiplier (90, 91, 92).
3. A filter according to Claim 1 or 2,
characterised in that at least one of the connections comprises a plurality of parallel multipliers for
multiplication with various factors and a switch for selectively connecting one of
the multipliers to the associated adder (50, 51, 52, 53).
4. A filter according to one of the preceding Claims,
characterised in that it contains at least one multiplier (90, 91) for multiplication with a factor k, which is not a power of two, with the multiplier
(90, 91 ) being formed from a plurality of parallel sub-multipliers (901, 902 ; 911, 912) for multiplication each with a power of two 2j and adders (501, 502), which add the output values of the submultipliers, and with the submultipliers
comprising a connection of their input data lines with output lines shifted by j bits
to the left in each case.
5. A filter according to one of the preceding Claims,
characterised in that for implementing a transfer function, which can be represented as a polynomial in
z-1, H(z-1)=Σaj z-j, in which j=0, 1, ..., m-1, the chain comprises m adders (50, 51, 52, 53) and registers (30, 31, 32, 33), with the input of the zero register (30) being connected to the associated data channel (70, 71) and for all j>0 the input of the jth register (31, 32, 33) being connected to the output of the (j-1)th adder (50, 51, 52).
6. A filter according to Claim 5,
characterised in that for all aj≠1 an input of the jth adder (50, 51, 52, 53) is connected to the associated data channel (70, 71) via a multiplier (90, 91, 92) for multiplication with the factor aj.
7. A filter according to one of Claims 1 to 5,
characterised in that at least one adder comprises two inputs, which are connected to the outputs of two
registers belonging to the same group.
8. A filter according to one of the preceding Claims,
characterised by a switch which connects the output of one register of the group (i+1)mod n (0≤i≤n-1)
optionally with the inputs of various adders which are connected in front of registers
of group i.
9. A filter according to one of the preceding Claims,
characterised by a switch which connects the input of an adder connected in front of a register of
the group (i+1)mod n (0≤i≤n-1) optionally with the outputs of various registers of
group i.
10. A filter according to one of the preceding Claims,
characterised by a multiplexer (Figure 10) having n inputs for the n data sequences (u, v, w) and
n outputs, to which in each case one of the n data channels (70, 71) is connected, with the multiplexer being equipped to output data values of one of
the data sequences in cyclic change to the various data channels (70, 71).
11. A filter according to one of the preceding Claims,
characterised by a demultiplexer, which is connected to the output of one of the adders, having n
outputs, which in each case form an output of the filter associated with one of the
data sequences.
12. A filter arrangement for producing two quadrature-demodulated data sequences from
a common original sequence and for filtering the sequences produced,
characterised by a filter according to one of Claims 1 to 10, in which n=2, two multipliers (17),
which receive the values of the original sequence, wherein the multipliers (17) are
equipped to multiply received values alternately with sine and cosine factors and
to output them to the data channels (70, 71).
13. A method for the operation of a filter according to one of Claims 1 to 12, having
the following steps:
a) for all i=0, ..., n-1: applying a value of the ith data sequence to the data channel (70, 71) of the group (i+d)mod n;
b) storing the values present at the first inputs of all registers (30, 31, 32, 33 ) in the registers (30 ,31 ,32 ,33);
c) changing d by 1; and
d) repetition of steps a) to c) as often as required.
14. A method according to Claim 13, in which all the clock pulse rates of all data sequences
are the same.
15. A method according to Claim 14, in which the steps a) to c) are carried out n times
in each clock pulse period of the data sequences.
16. A method according to Claim 14, in which the steps a) to c) are carried out once in
each clock pulse period of the data sequences.
17. Use of a filter according to one of Claims 1 to 12 for the parallel decimation of
n data sequences by a common factor.
1. Filtre pour filtrer (n) suites de données en multiplexage dans le temps, n étant un
nombre entier > 1, comprenant plusieurs registres (30, 31, 32, 33) pour enregistrer de façon intermédiaire des valeurs des suites de données ou des
valeurs déduites de celles-ci et des additionneurs (50, 51, 52, 53), les registres et les additionneurs étant reliés alternativement les uns aux autres
pour former une chaîne,
caractérisé en ce que
les registres sont subdivisés en n groupes (30, 32 ; 31, 33), chaque groupe comprend un canal de données (70, 71) pour recevoir des valeurs des suites de données, la première entrée des additionneurs
en amont (50, 52 ; 51, 53) de chaque registre (30, 32 ; 31, 33) du groupe d'ordre i (0≤i≤n-1) ayant une liaison avec le canal de données (7i) associé au groupe numéro i et la seconde entrée du même additionneur est reliée
à un registre (31, 33 ; 30, 32) du groupe de numéro (i-1) modulo n, sans registre intermédiaire d'un autre groupe.
2. Filtre selon la revendication 1,
caractérisé en ce qu'
au moins l'une des liaisons comprend un multiplicateur (90, 91, 92).
3. Filtre selon l'une quelconque des revendications 1 ou 2,
caractérisé en ce qu'
au moins l'une des liaisons comprend plusieurs multiplicateurs en parallèle pour multiplier
par différents coefficients et un commutateur pour relier sélectivement l'un des multiplicateurs
à l'additionneur associé (50, 51, 52, 53).
4. Filtre selon l'une quelconque des revendications précédentes,
caractérisé en ce qu'il
comporte au moins un multiplicateur (90, 91) pour multiplier avec un coefficient k qui ne correspond pas à une puissance de deux,
le multiplicateur (90, 91) étant formé de plusieurs sous multiplicateurs (901, 902 ; 911, 912) pour multiplier chaque fois avec une puissance de deux 2j et des additionneurs (501, 502) qui additionnent les valeurs émises par les sous multiplicateurs, et
les sous multiplicateurs ont leur ligne de données d'entrée reliée avec des lignes
de sortie décalées chaque fois de j bits vers la gauche.
5. Filtre selon l'une quelconque des revendications précédentes,
caractérisé en ce que
pour réaliser une fonction de transfert H(z-1)=Σaj z-j avec j = 0, 1..., m-1, susceptible d'être représentée sous la forme d'un polynôme
en z-1, la chaîne comprend m additionneurs (50, 51, 52, 53) et registres (30, 31, 32, 33), l'entrée du registre d'ordre zéro (30) étant reliée au canal de données associé (70, 71) et pour toutes les autres valeurs j>0 l'entrée du registre d'ordre j (31, 32, 33) est reliée à la sortie de l'additionneur d'ordre (j-1) (50, 51, 52).
6. Filtre selon la revendication 5,
caractérisé en ce que
pour toutes les aj≠1 une entrée de l'additionneur d'ordre j (50, 51, 52, 53) est reliée au canal de données correspondant (70, 71) par un multiplicateur (90, 91, 92) pour multiplier avec le coefficient aj.
7. Filtre selon l'une quelconque des revendications 1 à 5,
caractérisé en ce qu'
au moins un additionneur comporte deux entrées reliées aux sorties de deux registres
appartenant au même groupe.
8. Filtre selon l'une quelconque des revendications précédentes,
caractérisé par
un commutateur qui relie la sortie d'un registre du groupe (i+1) modulo n (0≤i≤n-1)
de manière sélective aux entrées des différents additionneurs en amont des registres
du groupe i.
9. Filtre selon l'une quelconque des revendications précédentes,
caractérisé en ce qu'
un commutateur reliant l'entrée d'un additionneur en amont d'un registre du groupe
(i+1) modulo n (0≤i≤n-1) est relié sélectivement en sortie de différents registres
du groupe i.
10. Filtre selon l'une quelconque des revendications précédentes,
caractérisé par
un multiplexeur (fig. 10) à n entrées pour n suites de données (u, v, w) et n sorties
auxquelles sont reliés chaque fois l'un des n canaux de données (70, 71), le multiplexeur étant tel que les valeurs de données de l'une des suites de données
soient émises en alternance cyclique entre les différents canaux de données (70, 71).
11. Filtre selon l'une quelconque des revendications précédentes,
caractérisé par
un démultiplexeur relié à la sortie de l'un des additionneurs, et ayant n sorties
qui forment chaque fois une sortie du filtre associée à l'une des suites de données.
12. Montage de filtres pour générer deux suites de données démodulées en quadrature à
partir d'une suite d'origine commune et pour filtrer les suites générées,
caractérisé par
un filtre selon l'une des revendications 1 à 10, n = 2, deux multiplicateurs (17)
qui reçoivent les valeurs de la suite d'origine, les multiplicateurs (17) étant prévus
de façon que les valeurs reçues soient multipliées en alternance avec des coefficients
sinus et cosinus et soient émises par les canaux de données (70, 71).
13. Procédé de mise en oeuvre d'un filtre selon l'une quelconque des revendications 1
à 12 comprenant les étapes suivantes :
a) pour tous les i=0,..., n-1, on applique une valeur de la suite de données d'ordre
i au canal de données (70, 71) du groupe (i+d) modulo n,
b) on enregistre les valeurs appliquées aux premières entrées de tous les registres
(30, 31, 32, 33) dans les registres (30, 31, 32, 33),
c) on modifie d de la valeur 1, et
d) on répète les étapes a)...c) aussi souvent que nécessaire.
14. Procédé selon la revendication 13,
dans lequel
les vitesses d'horloge de toutes les suites de données sont les mêmes.
15. Procédé selon la revendication 14,
caractérisé en ce qu'
on effectue n fois les étapes a)...c) dans chaque période d'horloge.
16. Procédé selon la revendication 14,
caractérisé en ce qu'
on effectue une fois les étapes a)...c) dans chaque période d'horloge des suites de
données.
17. Application d'un filtre selon l'une quelconque des revendications 1 à 12 pour décimer
en parallèle d'un facteur commun, n suites de données.