<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.4//EN" "ep-patent-document-v1-4.dtd">
<ep-patent-document id="EP03759867B1" file="EP03759867NWB1.xml" lang="de" country="EP" doc-number="1514347" kind="B1" date-publ="20111116" status="n" dtd-version="ep-patent-document-v1-4">
<SDOBI lang="de"><B000><eptags><B001EP>......DE..ESFRGB..IT......SE........................................................................</B001EP><B003EP>*</B003EP><B005EP>J</B005EP><B007EP>DIM360 Ver 2.15 (14 Jul 2008) -  2100000/0</B007EP></eptags></B000><B100><B110>1514347</B110><B120><B121>EUROPÄISCHE PATENTSCHRIFT</B121></B120><B130>B1</B130><B140><date>20111116</date></B140><B190>EP</B190></B100><B200><B210>03759867.9</B210><B220><date>20030618</date></B220><B240><B241><date>20041027</date></B241><B242><date>20070129</date></B242></B240><B250>de</B250><B251EP>de</B251EP><B260>de</B260></B200><B300><B310>10250607</B310><B320><date>20020618</date></B320><B330><ctry>DE</ctry></B330></B300><B400><B405><date>20111116</date><bnum>201146</bnum></B405><B430><date>20050316</date><bnum>200511</bnum></B430><B450><date>20111116</date><bnum>201146</bnum></B450><B452EP><date>20110818</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>H03H  17/02        20060101AFI20041101BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>VERFAHREN ZUR DIGITALEN FILTERUNG</B542><B541>en</B541><B542>DIGITAL FILTERING METHOD</B542><B541>fr</B541><B542>PROCEDE DE FILTRAGE NUMERIQUE</B542></B540><B560><B561><text>EP-A2- 0 295 464</text></B561><B562><text>LEE C L ET AL: "BIT-SLICED MEDIAN FILTER DESIGN BASED ON MAJORITY GATE" IEE PROCEEDINGS G. ELECTRONIC CIRCUITS &amp; SYSTEMS, INSTITUTION OF ELECTRICAL ENGINEERS. STEVENAGE, GB, Bd. 139, Nr. 1, 1. Februar 1992 (1992-02-01), Seiten 63-71, XP000293218 ISSN: 0622-0039</text></B562><B562><text>ATAMAN ET AL: "A fast method for real-time median filtering" IEEE TRANSACTIONS ON ACOUSTICS,SPEECH AND SIGNAL PROCESSING, Bd. 28, Nr. 4, August 1980 (1980-08), Seiten 415-421, XP001160948 NEW YORK US</text></B562><B562><text>BARUN K. KAR; DHIRAJ K. PRADHAN: "A New Algorithm for Order Statistic and Sorting", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 41, no. 8, August 1993 (1993-08), pages 2688-2694, USA</text></B562></B560></B500><B700><B720><B721><snm>WINTERMANTEL, Markus</snm><adr><str>Hammerweg 38</str><city>88131 Lindau</city><ctry>DE</ctry></adr></B721></B720><B730><B731><snm>Automotive Distance Control Systems GmbH</snm><iid>100081342</iid><irf>PTM80121B EP</irf><adr><str>Kemptener Strasse 99</str><city>88131 Lindau</city><ctry>DE</ctry></adr></B731></B730><B740><B741><snm>Grau, Ulf</snm><iid>100021200</iid><adr><str>Conti Temic microelectronic GmbH, 
Sieboldstrasse 19</str><city>90411 Nürnberg</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>DE</ctry><ctry>ES</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>IT</ctry><ctry>SE</ctry></B840><B860><B861><dnum><anum>DE2003002050</anum></dnum><date>20030618</date></B861><B862>de</B862></B860><B870><B871><dnum><pnum>WO2003107533</pnum></dnum><date>20031224</date><bnum>200352</bnum></B871></B870></B800></SDOBI>
<description id="desc" lang="de"><!-- EPO <DP n="1"> -->
<p id="p0001" num="0001">Die Erfindung betrifft ein Verfahren zur digitalen Filterung von K digitalen Eingangswerten, welche i. Allg. benachbarte Werte eines ein- oder mehrdimensionalen digitalen Signals darstellen, wobei das Filter nichtlinear ist und als Ausgangswert den R-größten Wert aus den K Eingangswerten bestimmt, wobei R und K ganzzahlig sind und K ≥ R ≥ 1 gilt. Ein solches Filter soll nachfolgend Rangfilter genannt, wobei R=1 dem größten der Eingangswerte und R=K dem kleinsten der Eingangswerte entspricht. Ein eindimensionales Rangfilter berechnet zu jedem Zeitpunkt m = L·n den R-größten Wert von K aufeinanderfolgenden Werten eines Eingangssignals x(n); für L = 1 handelt es sich um ein Filter ohne Dezimation, d. h. ohne Reduktion der Abtastrate, für L &gt; 1 um ein Filter mit Dezimation. Analog dazu ermittelt ein mehrdimensionales Rangfilter den R-größten Wert von K benachbarten Werten eines mehrdimensionalen Signals. Der R-größte Eingangswert entspricht dabei selbstverständlich dem (K-R)-kleinsten Eingangswert, so dass das Verfahren synonym auch die Bestimmung eines x-kleinsten Eingangswertes umfasst, in dem der R=K-x-größte Wert gesucht wird.</p>
<p id="p0002" num="0002">Ein Spezialfall eines solchen Rangfilters ist ein Medianfilter. Unter dem Median von einer ungeraden Zahl K an Eingangswerten versteht man den mittleren Wert, d. h. den (K+1)/2-kleinsten Wert oder, was identisch ist, den (K+1)/2-größten Wert, was i. Allg. unterschiedlich zum Mittelwert ist. Zum Beispiel ergibt sich für die fünf Werte 5, 3, 2, 79 und 1 der Median 3, als Mittelwert jedoch der Wert 18.</p>
<p id="p0003" num="0003">Derartige digitale Filter dienen der Signalverarbeitung von gewonnenen Eingangswerten, bspw. der Aufbereitung von Bilddaten oder Entfernungsmesssignalen, insbesondere auch Reflexionssignalen von in einem Zielgebiet reflektierten Impulsen, wobei optische Wellen, vorzugsweise im Infrarotbereich, Radarwellen oder Ultraschallwellen in Betracht kommen. Eine Realisierung von derartigen nichtlinearen Filtern ist nur im digitalen Bereich möglich.</p>
<p id="p0004" num="0004">Für die Implementierung von derartigen Filtern sind Algorithmen bekannt, welche meist auf Sortierverfahren basieren, die sehr rechenaufwendig sind, oder auf Histogrammverfahren, die einen hohen Speicherbedarf haben, und sich i. Allg. eher für eine Software- als für eine Hardware-Realisierung eignen.</p>
<p id="p0005" num="0005">Weiterhin sind im Stand der Technik Verfahren bekannt, die zur Medianfilterung binärer Zahlen auf Bit-Ebene geeignet sind. Diese Verfahren bestimmen den Median von einer Anzahl von Eingangswerten, indem sukzessive die einzelnen Bitwerte der Eingangswerte beginnend mit dem Most significant bit (MSB) betrachtet und daraus der Median Bit für Bit bestimmt wird. Ein solches Verfahren wurde z.B. von <nplcit id="ncit0001" npl-type="b"><text>Lee et al. "Bit sliced median filter design based on majority gate" (veröffentlicht in IEEE Proceedings G. Electronic Circuits &amp; Systems, Institution of Electrical Engeneers. Stevenage, GB, Bd. 139, Nr. 1, 1. Februar 1992, S. 63-67</text></nplcit>, <nplcit id="ncit0002" npl-type="s"><text>Atman et al. "A Fast Method for real time median filtering" (veröffentlicht in IEEE transactions on Acoustics, Speech and Signal Processing, Bd.28, Nr.4, August1989, S. 415-421</text></nplcit><i>)</i>, <nplcit id="ncit0003" npl-type="s"><text>Barun K. Kar et al. " A new Algorithm for Order Statistic and Sorting" (veröffentlicht in IEEE transactions on Signal Processing, Bd.41, Nr.8, August1993, S. 2688-2694</text></nplcit><i>)</i> und in der <patcit id="pcit0001" dnum="EP0295464A"><text>EP0295464</text></patcit> beschrieben.</p>
<p id="p0006" num="0006">Nachteilig an den beschriebenen Verfahren zur Medianfilterung binärer Zahlen auf Bit-Ebene ist, dass die Eingangswerte kein Vorzeichen aufweisen dürfen.<!-- EPO <DP n="2"> --></p>
<p id="p0007" num="0007">Aufgabe der Erfindung ist es daher, ein neuartiges Verfahren zur digitalen Rangfilterung vorzustellen, welches einfach und kostengünstig realisierbar und auf vorzeichenbehaftete Werte in Binärdarstellung anwendbar ist. Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche 1 und 3 gelöst. Vorteilhafte Weiterbildungen sind den Unteransprüchen zu entnehmen.</p>
<p id="p0008" num="0008">Grundgedanke ist dabei zum einen die Verwendung einer binären Darstellung der Eingangswerte in Festkommaformat und zum anderen eine bitserielle Abarbeitung, wobei sich alle üblichen binären Zahlendarstellungen in Festkommaformat verwenden lassen und nur geringfügige Anpassungen unter Berücksichtigung der jeweiligen Eigenheiten der verwendeten Zahlendarstellung erforderlich sind. Der Anspruch 1 beinhaltet den Ablauf der Filterung unter Berücksichtigung aller wichtigen binären Zahlendarstellungen in Festkommaformat und weist in Abhängigkeit von der jeweils vorliegenden Zahlendarstellung entsprechende Schrittalternativen auf, die aber auf dem gleichem Grundgedanken beruhen. Eine Reihe von Unteransprüchen zeigt dabei auf, wie sich der Filterablauf für bestimmte Zahlendarstellungen der Eingangswerte deutlich vereinfacht.<!-- EPO <DP n="3"> --></p>
<p id="p0009" num="0009">Zudem werden vorteilhafte Weiterbildungen zur hardwaretechnischen Umsetzung des digitalen Filters z. B. in einem FPGA oder einem ASIC vorgestellt, die eine hohe Verarbeitungsgeschwindigkeit ermöglichen, wie dies für die Bildverarbeitung oder Radaranwendungen in Kraftfahrzeugen erforderlich ist.</p>
<p id="p0010" num="0010">Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen und Figuren näher erläutert.</p>
<p id="p0011" num="0011">Die Figuren zeigen:
<dl id="dl0001">
<dt>Fig. 1 a):</dt><dd>Amplitude bzw. Einhüllende ŝ(t) der ausgesendeten Welle für den Fall von rechteckförmigen Impulsen</dd>
<dt>Fig. 1 b):</dt><dd>Amplitude bzw. Einhüllende ê(t) der empfangenen Welle für den Fall eines Objekts in der Entfernung a, welche in einer Signallaufzeit von Δt = 2a/c resultiert</dd>
<dt>Fig. 1c):</dt><dd>gestörtes Empfangssignal ê(t), bspw. wegen Überreichweiten oder Interferenzen von einem anderen gepulsten, im selben Frequenzbereich arbeitenden System</dd>
<dt>Fig. 2a):</dt><dd>Sinusschwingung im diskreten Zeitbereich, welcher zahlreiche hohe Störimpulse überlagert sind; im Spektrum des resultierenden Signals ist der spektrale Peak der Sinusschwingung in dem von den Störimpulsen erzeugten Rauschen verschwunden</dd>
<dt>Fig. 2b):</dt><dd>Ausgangssignal nach zweistufiger Medianfilterung mit jeweiliger Filterlänge K = 5, bei dem die Sinusschwingung im Zeitbereich fast vollständig wieder rekonstruiert und im Spektrum somit deutlich sichtbar ist</dd>
<dt>Figur 3</dt><dd>Blockschaltbild eines Puls-Doppler-Radarsystems</dd>
<dt>Figur 4</dt><dd>vereinfachtes Schaltbild zur Erläuterung des Prinzip des Doppler-Verfahrens;</dd>
<dt>Figur 5</dt><dd>die Signal-Zeit-Diagramme für das Schaltbild nach <figref idref="f0004">Figur 4</figref>;</dd>
<dt>Figur 6</dt><dd>die Übertragungsfunktion eines idealen und eines realen Optimalfilters;</dd>
<dt>Figur 7</dt><dd>das Schaltbild eines ersten Ausführungsbeispiels eines Optimalfilters;</dd>
<dt>Figur 8</dt><dd>das Schaltbild eines zweiten, bevorzugten Ausführungsbeispiels eines Optimalfilters;</dd>
<dt>Fig.9a</dt><dd>Algorithmus zur Implementierung eines Median-Filters mit einer bitserielle Abarbeitung für Binärdaten in vorzeichenloser Binärdarstellung</dd>
<dt>Fig.9b</dt><dd>Algorithmus zur Implementierung eines Median-Filters mit einer bitserielle Abarbeitung für Binärdaten in Vorzeichen-Betrags-Darstellung</dd>
<dt>Fig.9c</dt><dd>Algorithmus zur Implementierung eines Median-Filters mit einer bitserielle Abarbeitung für Binärdaten in Einer- oder Zweier-Komplement-Darstellung</dd>
<dt>Fig.10a,b,c</dt><dd>Detail jeweils zu den <figref idref="f0008 f0009 f0010">Fig.9a,9b,9c</figref></dd>
<dt>Figur 11</dt><dd>die Übertragungsfunktion eines idealen und eines realen Dezimationstiefpasses;</dd>
<dt>Figur 12</dt><dd>die Impulsantwort h(n) eines gleitenden Mittelwertbildners sowie ein Signalflussdiagramm;</dd>
<dt>Figur 13</dt><dd>ein vorteilhaftes Ausführungsbeispiels eines Dezimationstiefpasses.</dd>
</dl><!-- EPO <DP n="4"> --></p>
<p id="p0012" num="0012">Das Verfahren zur digitalen Filterung soll zunächst anhand eines einfachen Beispiels einer Bestimmung des Median von 5 Eingangswerten erläutert werden. Dazu seien die nachfolgenden fünf Zahlen in vorzeichenloser Binärdarstellung und mit der Wortlänge W = 4 (4 binäre Ziffern) betrachtet; dabei bezeichnet das Bit 0 das höchststignifikante Bit MSB (most significant bit) und das Bit 3 das niedersignifikanteste Bit LSB (least significant bit):
<tables id="tabl0001" num="0001">
<table frame="all">
<tgroup cols="6">
<colspec colnum="1" colname="col1" colwidth="12mm"/>
<colspec colnum="2" colname="col2" colwidth="10mm"/>
<colspec colnum="3" colname="col3" colwidth="10mm"/>
<colspec colnum="4" colname="col4" colwidth="10mm"/>
<colspec colnum="5" colname="col5" colwidth="10mm"/>
<colspec colnum="6" colname="col6" colwidth="10mm"/>
<thead>
<row>
<entry valign="top"/>
<entry align="center" valign="top">Bit</entry>
<entry align="center" valign="top">0</entry>
<entry align="center" valign="top">1</entry>
<entry align="center" valign="top">2</entry>
<entry align="center" valign="top">3</entry></row>
<row>
<entry valign="top">Zahl</entry>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/></row></thead>
<tbody>
<row>
<entry>a</entry>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>b</entry>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">0</entry>
<entry align="center">1</entry>
<entry align="center">0</entry></row>
<row>
<entry>c</entry>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>d</entry>
<entry align="center"/>
<entry align="center">0</entry>
<entry align="center">0</entry>
<entry align="center">0</entry>
<entry align="center">0</entry></row>
<row>
<entry>e</entry>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">0</entry>
<entry align="center">0</entry>
<entry align="center">0</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0013" num="0013">Für die einzelnen Bits werden in absteigender Bitwertigkeit beginnend mit einem höchstsignifikanten Bit (MSB) nacheinander bis zum niedersignifikantesten Bit (LSB) folgende Schritte durchgeführt:
<ul id="ul0001" list-style="dash">
<li>beim jeweils aktuell betrachteten Bit wird über alle 5 Eingangswerte gesehen der mittlere, also 3-größte Bitwert bestimmt, welcher 1 ist, falls beim aktuell betrachteten Bit über alle 5 Eingangswerte gesehen nicht weniger als 3-mal der Wert 1 auftritt, ansonsten ist der R-größte Bitwert 0,</li>
<li>wobei der 3-größte Bitwert dann den Bitwert für das aktuell betrachtete Bit des 3-größten Werts und damit des Ausgangswertes, also des Median darstellt,</li>
<li>und für diejenigen Eingangswerte, bei welchen der Bitwert des aktuell betrachteten Bits nicht dem 3-größten Bitwert entspricht, als Bitwerte aller nachfolgenden, d. h. niederwertigeren Bits, derjenige Bitwert dieser Eingangswerte am aktuell betrachteten Bit betrachtet werden.</li>
</ul></p>
<p id="p0014" num="0014">Das MSB (Bit 0) des Median muss 1 sein, da die Mehrheit der fünf MSBs gleich 1 ist; vier MSBs sind 1 und die zugehörigen Zahlen a, b, c und e somit größer als die Zahl d mit dem MSB 0, so dass eine der Zahlen mit dem MSB 1 der Median sein muss. Die übrigen Bits 1...3 des Median ergeben sich somit als drittgrößter der durch die Bits 1...3 dargestellten Werte der vier Zahlen mit dem MSB 1. Ersetzt man bei der Zahl d mit dem MSB 0 die Bits 1...3 durch den minimal darstellbaren Wert <b>000</b> (siehe nachfolgende Tabelle) und betrachtet alle fünf Zahlen, dann ergeben sich die Bits 1...3 des Median weiterhin als drittgrößter der durch die Bits 1...3 dargestellten Werte <b>-</b> nun aber aller Zahlen - und somit als Median dieser Werte.
<tables id="tabl0002" num="0002">
<table frame="all">
<tgroup cols="6">
<colspec colnum="1" colname="col1" colwidth="16mm"/>
<colspec colnum="2" colname="col2" colwidth="10mm"/>
<colspec colnum="3" colname="col3" colwidth="10mm"/>
<colspec colnum="4" colname="col4" colwidth="10mm"/>
<colspec colnum="5" colname="col5" colwidth="10mm"/>
<colspec colnum="6" colname="col6" colwidth="10mm"/>
<thead>
<row>
<entry valign="top"/>
<entry align="center" valign="top">Bit</entry>
<entry align="center" valign="top">0</entry>
<entry align="center" valign="top">1</entry>
<entry align="center" valign="top">2</entry>
<entry align="center" valign="top">3</entry></row>
<row>
<entry valign="top">Zahl</entry>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/></row></thead>
<tbody>
<row>
<entry>a</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>b</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center">0</entry>
<entry align="center">1</entry>
<entry align="center">0</entry></row>
<row>
<entry>c</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>d</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>0</b></entry>
<entry align="center"><b>0</b></entry>
<entry align="center"><b>0</b></entry></row>
<row>
<entry>e</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center">0</entry>
<entry align="center">0</entry>
<entry align="center">0</entry></row>
<row>
<entry/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry><b>Median</b></entry>
<entry align="center"/>
<entry align="center"><b>1</b></entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row></tbody></tgroup>
</table>
</tables><!-- EPO <DP n="5"> --></p>
<p id="p0015" num="0015">Somit hat man das Problem auf die Medianbildung von weiterhin fünf Zahlen, aber mit um eins reduzierter Wortlänge 3 zurückgeführt - diese Zahlen sind in obiger, modifizierter Tabelle dargestellt (das nicht mehr zu betrachtende MSB ist durchgestrichen). Um das Bit 1 des Median zu bestimmen, ist wieder nur zu prüfen, ob beim Bit 1 mehr Nullen oder Einsen auftreten; demzufolge ist das Bit 1 des Median gleich 0. Eine der drei Zahlen b, d und e mit dem Bit 1 gleich 0 muss bezüglich den Bits 1...3 den Median darstellen, da die zwei Zahlen a und c mit Bit 1 gleich 1 größer sind. Die übrigen Bits 2...3 des Median ergeben sich somit als drittkleinster der durch die Bits 2...3 dargestellten Werte der drei Zahlen b, d und e mit dem Bit 1 gleich 0. Ersetzt man bei den Zahlen a und c mit Bit 1 gleich 1 die Bits 2...3 durch den maximal darstellbaren Wert 11 (siehe nachfolgende Tabelle) und betrachtet alle fünf Zahlen, dann ergeben sich die Bits 2...3 des Median weiterhin als drittkleinster der durch die Bits 2...3 dargestellten Werte - nun aber aller Zahlen - und somit als Median dieser Werte.
<tables id="tabl0003" num="0003">
<table frame="all">
<tgroup cols="6">
<colspec colnum="1" colname="col1" colwidth="16mm"/>
<colspec colnum="2" colname="col2" colwidth="10mm"/>
<colspec colnum="3" colname="col3" colwidth="10mm"/>
<colspec colnum="4" colname="col4" colwidth="10mm"/>
<colspec colnum="5" colname="col5" colwidth="10mm"/>
<colspec colnum="6" colname="col6" colwidth="10mm"/>
<thead>
<row>
<entry valign="top"/>
<entry align="center" valign="top">Bit</entry>
<entry align="center" valign="top">0</entry>
<entry align="center" valign="top">1</entry>
<entry align="center" valign="top">2</entry>
<entry align="center" valign="top">3</entry></row>
<row>
<entry valign="top">Zahl</entry>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/></row></thead>
<tbody>
<row>
<entry>a</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>b</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">0</entry></row>
<row>
<entry>c</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center">1</entry>
<entry align="center">1</entry></row>
<row>
<entry>d</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>0</b></entry>
<entry align="center"><b>0</b></entry></row>
<row>
<entry>e</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center">0</entry>
<entry align="center">0</entry></row>
<row>
<entry/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry><b>Median</b></entry>
<entry align="center"/>
<entry align="center"><b>1</b></entry>
<entry align="center"><b>0</b></entry>
<entry align="center"/>
<entry align="center"/></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0016" num="0016">Die für die Medianbildung zu betrachtende Wortlänge ist somit weiter um eins reduziert worden - es ist nur noch der Median der oben dargestellten fünf Zahlen mit Wortlänge 2 zu bilden, wobei analog zu den vorhergehenden Schritten vorzugehen ist. Da im Bit 2 die Einsen überwiegen, ergibt sich das Bit 2 des Median zu 1. Bei den zwei Zahlen d und e mit Bit 2 gleich 0 ist das Bit 3 durch den minimal darstellbaren Wert 0 zu ersetzen (siehe nachfolgende Tabelle). Bei der Zahl d wäre das nicht notwendig, da dieses Bit schon in einem früheren Schritt entsprechend modifiziert wurde.
<tables id="tabl0004" num="0004">
<table frame="all">
<tgroup cols="6">
<colspec colnum="1" colname="col1" colwidth="16mm"/>
<colspec colnum="2" colname="col2" colwidth="10mm"/>
<colspec colnum="3" colname="col3" colwidth="10mm"/>
<colspec colnum="4" colname="col4" colwidth="10mm"/>
<colspec colnum="5" colname="col5" colwidth="10mm"/>
<colspec colnum="6" colname="col6" colwidth="10mm"/>
<thead>
<row>
<entry valign="top"/>
<entry align="center" valign="top">Bit</entry>
<entry align="center" valign="top">0</entry>
<entry align="center" valign="top">1</entry>
<entry align="center" valign="top">2</entry>
<entry align="center" valign="top">3</entry></row></thead>
<tbody>
<row>
<entry>Zahl</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry>a</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>1</b></entry></row>
<row>
<entry>b</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>0</b></entry></row>
<row>
<entry>c</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>1</b></entry></row>
<row>
<entry>d</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>0</b></entry></row>
<row>
<entry>e</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"><b>0</b></entry></row>
<row>
<entry/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry><b>Median</b></entry>
<entry align="center"/>
<entry align="center"><b>1</b></entry>
<entry align="center"><b>0</b></entry>
<entry align="center"><b>1</b></entry>
<entry align="center"/></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0017" num="0017">Da zu diesem Zeitpunkt bereits 4 (a,c,d,c) der 5 Eingangswerte modifiziert und somit nicht als mit dem Median übereinstimmend erkannt wurden, ergibt sich als Median bereits erkennbar der Wert von b und könnte der Prozess bereits abgebrochen werden. Ein derartiges Abbruchkriterium ist jedoch zusätzlicher Aufwand, so dass es eventuell einfacher ist, die Schrittfolge auch noch für die nachfolgenden Bits, hier das LSB durchzuführen. Da beim Bit 3 (LSB) die Nullen überwiegen, ergibt sich das LSB des Median zu 0 (siehe nachfolgende Tabelle).<!-- EPO <DP n="6"> -->
<tables id="tabl0005" num="0005">
<table frame="all">
<tgroup cols="6">
<colspec colnum="1" colname="col1" colwidth="16mm"/>
<colspec colnum="2" colname="col2" colwidth="10mm"/>
<colspec colnum="3" colname="col3" colwidth="10mm"/>
<colspec colnum="4" colname="col4" colwidth="10mm"/>
<colspec colnum="5" colname="col5" colwidth="10mm"/>
<colspec colnum="6" colname="col6" colwidth="10mm"/>
<thead>
<row>
<entry valign="top"/>
<entry align="center" valign="top">Bit</entry>
<entry align="center" valign="top">0</entry>
<entry align="center" valign="top">1</entry>
<entry align="center" valign="top">2</entry>
<entry align="center" valign="top">3</entry></row>
<row>
<entry valign="top">Zahl</entry>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/>
<entry align="center" valign="top"/></row></thead>
<tbody>
<row>
<entry>a</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry>b</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry>c</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry>d</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry>e</entry>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/>
<entry align="center"/></row>
<row>
<entry><b>Median</b></entry>
<entry align="center"/>
<entry align="center"><b>1</b></entry>
<entry align="center"><b>0</b></entry>
<entry align="center"><b>1</b></entry>
<entry align="center"><b>0</b></entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0018" num="0018">Damit ist der Median vollständig und richtig bestimmt; der berechnete Wert 1010 stimmt mit der drittgrößten Zahl b der Ausgangswerte überein.</p>
<p id="p0019" num="0019">Der zugrundeliegende Algorithmus zur Bestimmung des Median von K Zahlen soll nun für den Fall der vorzeichen losen Binärdarstellung in allgemeiner Weise formuliert werden:</p>
<p id="p0020" num="0020">Die einzelnen Bits sind beginnend beim MSB bis hin zum LSB der Reihe nach wie folgt abzuarbeiten. Zuerst ist zu untersuchen, ob beim betrachteten Bit b über alle K Zahlen gesehen mehr Einsen oder Nullen auftreten; der häufiger auftretende Bitwert stellt das Bit b des Median dar. Für die Zahlen, bei welchen das Bit b dem weniger oft auftretenden Bitwert entspricht, sind alle nachfolgenden, d. h. niederwertigeren Bits gleich dem Bit b zu setzen.</p>
<p id="p0021" num="0021">Für die anderen meistgebräuchlichen Binärdarstellungen unterscheidet sich nur die Bedeutung des ersten Bits gegenüber der bisher betrachteten vorzeichen losen Binärdarstellung; bei der Einer- und Zweierkomplementdarstellung ist das erste Bit weiterhin das MSB - aber mit anderer Wertigkeit, bei der Vorzeichen-Betrag-Darstellung ist das erste Bit das Vorzeichenbit (VZB), welches vom MSB des Betrags gefolgt wird. Damit ergibt sich bei der sequentiellen Abarbeitung der Bits nur beim ersten Bit ein Unterschied, während alle nachfolgenden Bits unverändert, wie oben beschrieben, zu behandeln sind. Auch die Bestimmung des ersten Bits des Median bleibt unverändert; es entspricht immer dem häufiger auftretenden Bitwert bei dem ersten Bit der K Zahlen. Einzig die Modifikation der Zahlen mit dem weniger oft auftretenden ersten Bitwert ist unterschiedlich; abhängig davon, ob diese Zahlen nicht über oder unter dem Median liegen, ist für ihre nachfolgenden Bits immer der mit diesen Bits darstellbare minimale oder maximale Wert zu verwenden - bei der Vorzeichen-Betrag-Darstellung jedoch bzgl. einer Interpretation mit dem Median-Vorzeichen. Im Fall der Einer- und Zweierkomplementdarstellung sind für die Zahlen mit dem weniger oft auftretenden MSB-Wert alle nachfolgenden Bits gleich dem inversen MSB-Wert zu setzen; im Fall der Vorzeichen-Betrag-Darstellung sind für die Zahlen mit dem weniger oft auftretenden VZB-Wert alle nachfolgenden Bits gleich 0 zu setzen.</p>
<p id="p0022" num="0022">In den <figref idref="f0008">Figuren 9a</figref>,<figref idref="f0009">9b</figref>,<figref idref="f0010">9c</figref> sowie den <figref idref="f0008">Fig.10a</figref>,<figref idref="f0009">10b</figref>,<figref idref="f0010">10c</figref> sind Varianten des Filteralgorithmus zur Medianberechnung in Form eines eindimensionalen Filters ohne Dezimation dargestellt, wobei die <figref idref="f0008">Fig.9a</figref> in Verbindung mit <figref idref="f0008">Fig.10a</figref> den Aufbau für Eingangswerte in vorzeichenloser Binärdarstellung zeigen, während die <figref idref="f0009">Fig.9b</figref> in Verbindung mit <figref idref="f0009">Fig.10b</figref> die Abwandlung für eine Vorzeichen-Betrags-Darstellung der Eingangswerte und die <figref idref="f0010">Fig.9c</figref> in Verbindung mit <figref idref="f0010">Fig.10c</figref> die Abwandlung für eine Einer- oder Zweier-Komplement-Darstellung der Eingangswerte verdeutlichen. Zur Erläuterung seien folgende Punkte angemerkt:</p>
<p id="p0023" num="0023">Das Eingangssignal x(n) und das Ausgangssignal bestehend aus den Medianwerten m(n) besitzen die Wortlänge W, d. h. jeder Zeitwert besteht aus W Bits. Die einzelnen Bits werden mit v nummeriert, beginnend bei v = 0 für das MSB (bei vorzeichenloser Binärdarstellung in <figref idref="f0008">Fig.9a,10a</figref> sowie Einer- und Zweierkomplementdarstellung in <figref idref="f0010">Fig.9c,10c</figref>) bzw. das VZB (bei Vorzeichen-Betrag-Darstellung<!-- EPO <DP n="7"> --> in <figref idref="f0009">Fig.9b,10b</figref>) und endend bei ν = W-1 für das LSB. Das Bit ν von x(n) bzw. m(n) wird mit x(n,ν) bzw. m(n,ν) bezeichnet.</p>
<p id="p0024" num="0024">Die Zeit auf Ebene der Ein- und Ausgangssignale, d. h. Wortebene, wird mit n bezeichnet, die Zeit auf Bitebene mit µ = n·W +ν.</p>
<p id="p0025" num="0025">Die Verarbeitung ist bitseriell, d. h. ein Bit nach dem anderen wird bearbeitet, beginnend beim MSB bzw. VZB und endend beim LSB. Die gesamte Filterstruktur, d. h. Speicher und Logik, werden also mit der Bitzeit µ getaktet.</p>
<p id="p0026" num="0026">Die zur Medianberechnung benötigten Eingangswerte werden bitweise mit Hilfe von K aufeinanderfolgenden Schieberegistern der Länge W gespeichert; dabei ist K die Medianfilterlänge.</p>
<p id="p0027" num="0027">Das Flag B0(µ) kennzeichnet die Verarbeitung vom Bit 0; es ist 1 für ν = 0 und sonst 0. Die Flags B1(µ) und LSB(µ) kennzeichnen die Verarbeitung vom Bit 1 bzw. vom LSB; sie sind in analoger Weise definiert und lassen sich durch Verzögerung von B0(µ) um einen bzw. W-1 Takte generieren.</p>
<p id="p0028" num="0028">Im Block "Median von K Bits" findet die bitweise Medianbildung statt, d. h. die Majorität von Nullen oder Einsen unter den K eingespeisten Bits wird bestimmt.</p>
<p id="p0029" num="0029">Im k-ten Block "zu verwendender Bitwert" (k = 0,1,...,K-1 ist von oben gesehen), welcher im Detail jeweils in den <figref idref="f0008">Figuren 10a</figref>, <figref idref="f0009">10b</figref> und <figref idref="f0010">10c</figref> gezeigt ist, wird zum einen der k-te Bitwert w(n-k,ν) für die bitweise Medianbildung bestimmt: dies ist entweder der Originalwert x(n-k,ν), d. h. vom Eingangswert x(n-k) das betrachtete Bit ν, oder ein entsprechend modifizierter Wert. Zum anderen wird ermittelt, ob im nächsten Bittakt µ+1 der Originalwert oder ein entsprechend modifizierter Wert zu verwenden ist, was durch das Flag o<sub>k</sub>(µ) =1 für die bisher nicht erfolgte Modifizierung bzw. o<sub>k</sub>(µ) = 0 für die bereits erfolgte Modifizierung gekennzeichnet wird. Dabei ist die aus dem oben beschriebenen Vorgehen folgende Regel berücksichtigt, dass nach der ersten Verwendung eines modifizierten Wertes dieser auch nachfolgend bis zum Ende des jeweiligen Zeitschrittes n zu verwenden ist. Anschließend, d. h. bei LSB(µ)=1 wird das Flag wieder zurückgesetzt, d. h. für den nächsten Ausgangswert wird zunächst wieder der unmodifizierte Eingangswert berücksichtigt.</p>
<p id="p0030" num="0030">Die Initialisierung der Speicher (Schieberegister sowie Verzögerer) ist abhängig vom gewünschten Anlaufverhalten des Filters.</p>
<p id="p0031" num="0031">Im folgenden soll diese neue Medianfilterstruktur bzgl. ihres Aufwandes bei einer Hardware-Realisierung (z. B. auf einem ASIC oder FPGA) betrachtet werden:</p>
<p id="p0032" num="0032">Die bitweise Medianbildung, d. h. die Bestimmung der Majorität von Nullen oder Einsen unter den K eingespeisten Bits, ist zentraler Block dieser Struktur. Eine mögliche, insbesondere für größere Filterlängen K geeignete Strategie zur Realisierung dieses Blocks basiert auf der Summenbildung der Bitwerte (sind 0 oder 1). Ist die Bitsumme &gt;= (K+1)/2, so ist der Bitmedian gleich 1, ansonsten 0; den Vergleich kann man über eine Subtraktion und anschließende Abprüfung auf das Vorzeichen implementieren. Die Bitsummenbildung kann z. B. in gestufter paralleler Form realisiert werden, bei welcher von Stufe zu Stufe die Zahl der parallelen Einzeladdierer ab- und ihre Wortlänge zunimmt; dadurch lassen sich einerseits der kritische Pfad und damit die benötigte Durchlaufzeit minimieren sowie andererseits die benötigten Wortlängen und damit der Aufwand möglichst klein halten. Die Minimierung des kritischen Pfads ist besonders dann wichtig, wenn eine hohe Taktzeit des Filters gefordert ist, da die bitweise Medianbildung in einer rekursiven Schleife<!-- EPO <DP n="8"> --> liegt und deshalb ein Pipelining ausscheidet. Für kleine Filterlängen gibt es zur Realisierung der bitweisen Medianbildung spezielle, auf die benutzte Hardware optimierte Lösungen. Als Beispiel betrachtet sei die Filterlänge K = 5 und die Realisierung auf einem marktüblichen FPGA, welches als Grundbaustein Look-Up-Tables (LUTs) mit vier logischen Eingängen und einem logische Ausgang besitzt; es werden dann drei solcher LUTs für die bitweise Medianbildung benötigt.</p>
<p id="p0033" num="0033">Die K identischen Blöcke "zu verwendender Bitwert" benötigen jeweils nur zwei Verzögerer (FIFOs) sowie eine sehr einfache Logik (im obigem Beispiel 2 LUTs).</p>
<p id="p0034" num="0034">Die K Schieberegister zur Speicherung der Eingangswerte benötigen in vielen Fällen (insbesondere wenn die Wortlänge W relativ groß ist) wesentlich mehr Aufwand als der Rest der Filterstruktur, was für die Effizienz der Fifterlogik spricht. Es sei bemerkt, dass eine Speicherung von K Eingangswerten in jedem Medianfilter unabhängig von der Struktur notwendig ist.</p>
<p id="p0035" num="0035">Die neue Medianfilterstruktur ist skalierbar, sofern die bitweise Medianbestimmung über eine Summenbildung realisiert ist; bei Änderung der Filterlänge K sind nur die Zahl der verwendeten Schieberegister, die Zahl der identischen Blöcke "zu verwendender Bitwert" und die Zahl der aufzusummierenden Bits sowie der mit der Bitsumme zu vergleichende Wert anzupassen.</p>
<p id="p0036" num="0036">Die neue Medianfilterstruktur hat die Eigenschaft, dass die Medianbildung für jeden Eingangswert, d. h. jeden Zeitschritt n, ganz neu aufsetzt, also im Gegensatz zu den meisten gebräuchlichen Strukturen nicht auf Ergebnisse früherer Zeitschritte zurückgreift; beispielsweise wird bei Sortierverfahren i. Allg. von der im vorhergehenden Zyklus bestimmten Reihenfolge ausgegangen. Wegen dieser Eigenschaft eignet sich der neue Algorithmus zur Medianberechnung in ganz besonderem Maße für eine Filterung mit Dezimation. Dazu sind in der Filterstruktur nur die Schieberegister in modifizierter Weise zu speisen. So sind bei einer Dezimation um den Faktor L = 2 die zwei obersten Schieberegister parallel mit zwei aufeinanderfolgenden Eingangswerten zu speisen, und bei der Verkopplung der Schieberegister wird jeweils eins übersprungen. Bei einer Dezimation um die Medianfilterlänge, d. h. L = K, sind die Schieberegister nicht mehr verkoppelt, sondern werden parallel mit K aufeinanderfolgenden Eingangswerten gespeist. Durch Dezimation kann die von der Filterstruktur maximal prozessierbare Taktrate des Eingangssignals x(n) um den Dezimationsfaktor L erhöht werden.</p>
<p id="p0037" num="0037">Für Hardware-Realisierungen des digitalen Filters führt der neue Algorithmus zur Medianberechnung in vielen Fällen zu einer beträchtlichen Reduktion des benötigten Aufwands; dies ist hauptsächlich abhängig von der Taktrate sowie der Wortlänge des Eingangssignals, dem Grad der Dezimation und der verwendeten Technologie bzw. verfügbaren Logik.</p>
<p id="p0038" num="0038">Bisher wurden nur die meistgebräuchlichen binären Festkommadarstellungen (vorzeichenlose Binär-, Zweierkomplement-, Einerkomplement- oder Vorzeichen-Betrag-Darstellung) betrachtet. Für andere binäre Festkommadarstellungen lässt sich der neue Algorithmus zur Medianbildung in analoger Weise formulieren und geht auch aus der nachfolgenden Beschreibung für allgemeinere Rangfilter hervor.</p>
<p id="p0039" num="0039">Statt unter einer ungeraden Zahl K an Werten speziell den (K+1)/2-größten Wert zu deklarieren, kann man auch einen Wert mit anderem Rang, also ganz allgemein den R-größten Wert, R = 1,2,...,K, betrachten und dabei für K eine beliebige ganze Zahl zulassen. Das darauf basierende Filter wird im folgenden als Rangfilter bezeichnet; es berechnet also jeweils von K aufeinanderfolgenden bzw. benachbarten Werten eines ein- bzw. mehrdimensionalen<!-- EPO <DP n="9"> --> Eingangssignals den R-größten Wert und wird z. B. bei einer geordneten Statistik (Ordered Statistic) benutzt.</p>
<p id="p0040" num="0040">Der oben vorgestellte neue Filteralgorithmus zur Medianbildung kann recht einfach auf eine allgemeinere Rangbildung erweitert werden, was auf nachfolgende Formulierung führt; dabei sind alle binären Zahlendarstellungen in Festkommaformat zulässig, bei welchen sich der Betrag der Bitwertigkeiten vom MSB zum LSB hin jeweils halbiert, nur die Bitwerte 0 und 1 vorkommen (also z. B. nicht -1 wie im CSD-Code) und es gegebenenfalls ein zusätzliches Vorzeichenbit (VZB) gibt:</p>
<p id="p0041" num="0041">Um die R-größte von K Zahlen zu bestimmen, sind die einzelnen Bits b, b = 0,1,...,W-1, beginnend beim MSB bzw. V ZB bis hin zum LSB nacheinander bzgl. betragsmäßig absteigender Bitwertigkeit wie folgt abzuarbeiten. Zuerst ist beim betrachteten Bit b über alle K Zahlen gesehen entweder das R-größte oder R-kleinste Bit zu bestimmen - das R-größte Bit, falls die Wertigkeit des betrachteten Bits positiv ist oder es sich beim betrachteten Bit um ein VZB mit Wert 1 für positive und Wert 0 für negative Zahlen handelt, das R-kleinste Bit in den entgegengesetzten Fällen; bei Zahlendarstellungen mit VZB ist in die Wertigkeit der dem VZB nachfolgenden Bits das dann bekannte Vorzeichen der R-größten Zahl einzurechnen. Der so bestimmte Bitwert (0 oder 1) stellt das Bit b der R-größten Zahl dar. Für die Zahlen, welche bzgl. des Bits b unterschiedlich zur R-größten Zahl sind, ist für alle nachfolgenden Bits b+1...W-1 immer der mit diesen Bits darstellbare minimale oder maximale Wert zu verwenden, abhängig davon, ob bzgl. der durch die Bits b...W-1 dargestellten Werte diese Zahlen nicht über oder unter der R-größten Zahl liegen; bei Zahlendarstellungen mit VZB ist für die durch die Bits a...W-1 dargestellten Werte im Falle a&gt; 0 das Vorzeichen der R-größten Zahl in die Bitwertigkeiten einzurechnen."</p>
<p id="p0042" num="0042">Dieser neue Algorithmus zur allgemeinen Rangbildung lässt sich wiederum in eine sehr einfach realisierbare Filterstruktur umsetzen. Für den Fall eines eindimensionalen Filters ohne Dezimation ergeben sich im Vergleich zu der in den <figref idref="f0008">Fig.9a</figref>+10a, 9b+10b, 9c+10c dargestellten Medianfilterstruktur nur folgende Unterschiede:</p>
<p id="p0043" num="0043">Statt dem Median von K Bits ist das R-größte oder R-kleinste von K Bits zu bestimmen. Es gibt zusätzlich einen Block, welcher ermittelt, ob das R-größte oder das R-kleinste Bit zu bestimmen ist, also welcher Spezialfall vorliegt. Hierzu sei auf die Verfahrensschritte in den Ansprüchen verwiesen, welche die Bedingungen und Anpassung der Schritte jeweils beschreiben.</p>
<p id="p0044" num="0044">Die Blöcke "zu verwendender Bitwert" sind entsprechend zu modifizieren. Das Ausgangssignal des Filters ist dann der jeweilige R-größte Wert.</p>
<p id="p0045" num="0045">Die Bestimmung des R-größten oder R-kleinsten Bits kann wieder mit Hilfe einer Summenbildung der K Bitwerte realisiert werden. Ist das R-größte Bit gesucht, so ist für eine Bitsumme &gt;= R das R-größte Bit gleich 1, ansonsten gleich 0; ist das R-kleinste Bit gesucht, so ist für eine Bitsumme &gt;= K+1-R das R-kleinste Bit gleich 1, ansonsten gleich 0.</p>
<p id="p0046" num="0046">Für digitale Signale im Zeit- oder Frequenzbereich, welche nur bei einzelnen diskreten Werten einen Nutzpegel über dem Rauschpegel aufweisen, ist typischerweise eine sogenannte Rauschschwelle zu bestimmen, über welcher der Signalpegel als Nutzpegel interpretiert und weiter verwendet wird; die Rauschschwelle wird deshalb häufig auch als Detektionsschwelle bezeichnet. Zur Bestimmung der Rauschschwelle kann ein Rangfilter benutzt und in bevorzugter Weise mittels des voranstehend beschriebenen Rangfilterverfahrens bestimmt werden. Im Beispiel eines Puls-Doppler-Radars<!-- EPO <DP n="10"> --> kann die Bestimmung der spektralen Detektionsschwellen z. B. durch den 99-kleinsten Wert im Leistungsspektrum der Länge 128 gebildet werden.</p>
<p id="p0047" num="0047">Nachfolgend soll die Erfindung in ihrer Verwendung in einem Radarsystem insbesondere für ein Personenkraftfahrzeug vorgestellt werden.</p>
<p id="p0048" num="0048">Moderne Kraftfahrzeuge sind zunehmend mit einem auf Radar basierenden Abstandsregelsystem ausgestattet, bei dem der Abstand, die Geschwindigkeit und der relative Winkel des vorausfahrenden Kraftfahrtzeuges ermittelt wird.</p>
<p id="p0049" num="0049">Ein solches bekanntes Radarsystem ist beispielsweise das von der Firma Bosch entwickelte FMCW-System (Frequency Modulated Continuous Wave), bei dem zwei physikalische Größen, die Entfernung und die Relativgeschwindigkeit eines bewegten oder stehenden Körpers, auf eine physikalische Größe, die Frequenz, abgebildet werden. Zu diesem Zweck werden permanent Signale ausgesendet und die von dem bewegten Körper reflektierten Signale empfangen. Aus dem Frequenzverlauf von gesendetem und empfangenem Signal bzw. aus der Frequenzdifferenz dieser Signale lässt sich auf die gesuchten Größen schließen. Eine Separierung von Geschwindigkeit und Entfernung ist durch Auswertung mehrerer Signale, sogenannte Chirps, mit unterschiedlicher Frequenzsteigung möglich. Für ein einziges Ziel würden zwei Chirps genügen, für Mehrzielsituationen sind wenigstens drei Chirps notwendig.</p>
<p id="p0050" num="0050">Zum Betreiben eines solchen Radarsystems ist insbesondere ein Oszillator (VCO) mit geringem Phasenrauschen erforderlich, der möglichst lineare Frequenzrampen bereitstellt, was nicht ohne weiteres möglich ist und wodurch der RF-Teil des Radarsystems sehr aufwendig wird. Bei Verkehrssituationen mit vielen unterschiedlichen Zielen, wie dies durch Leitplanken und im Innenstadtbereich häufig der Fall ist, ergeben sich Probleme bei der Zieldetektion und -trennung, da alle Ziele in einem Antennenstrahl in jedem zugehörigen Chirp-Spektrum vorhanden sind. Eine exakte Extrahierung der unterschiedlichen Ziele ist daher nicht oder nicht immer zufriedenstellend möglich.</p>
<p id="p0051" num="0051">Um diese Probleme zu umgehen, bietet sich das Puls-Doppler-Verfahren an. Bei diesem Verfahren wird ein Ziel jeweils auf ein oder mehrere aufeinanderfolgende Entfemungstore abbildet. Das empfangene Signal wird dabei geeignet abgetastet. Aus dem Amplitudenverhältnis der Abtastwerte in aufeinanderfolgenden Entfemungstoren kann dann auf die genaue Entfernung geschlossen werden.</p>
<p id="p0052" num="0052">Allerdings besitzt der Puls-Doppler-System aufgrund der reduzierten mittleren Ausgangsleistung ein geringes Signal-Rausch-Verhältnis (S/N). Aufgrund des breitbandigen Empfangspfads weist dieses Radarsystem auch eine höhere Störbarkeit auf.</p>
<p id="p0053" num="0053">Bei dem Puls-Doppler-Verfahren wird, um das Vorzeichen der Geschwindigkeit zu erkennen, eine komplexe Abtastung des empfangenen Signals vorgenommen. Radarsystem nach dem Puls-Doppler-Verfahren zeichnen sich dadurch aus, dass die Geschwindigkeit und die Entfernung direkte Messgrößen darstellen. Der RF-Teil lässt sich im Vergleich zu dem eingangs genannten FMCW-System sehr viel einfacher realisieren, da hier ein freilaufender Oszillator (VCO) mit geringen Anforderungen an sein Phasen- und Amplitudenrauschen benutzt werden kann und keine Frequenzrampen erzeugt werden müssen.<!-- EPO <DP n="11"> --></p>
<p id="p0054" num="0054">Es werden bei einem solchen Radarsystem für einen Messzyklus eine Vielzahl, beispielsweise 1024, Sendeimpulse pro Empfangsantenne ausgewertet. Deren Abstand beträgt dann z.B. 2.5µs. Der Abstand ist zudem pseudo-noise-kodiert, um Überreichweiten und Interferenzen zu vermeiden.</p>
<p id="p0055" num="0055">Bei Verwendung einer hohen Anzahl an Sendeimpulsen ist eine genauere Geschwindigkeitsmessung sowie ein hoher Integrationsgewinn möglich und darüber hinaus ist das aufgrund der Pseudo-Noise-Kodierung erzeugte Rauschen gering, so dass ein optimaleres Signal-Rausch-Verhältnis erreichbar ist.</p>
<p id="p0056" num="0056">In <figref idref="f0001">Fig.1 a)</figref> ist für eine gepulstes System die Amplitude bzw. Einhüllende ŝ(t) der ausgesendeten Welle der Frequenz f<sub>s</sub> für den Fall von rechteckförmigen Impulsen dargestellt. Die Zeitpunkte, bei denen die Sendeimpulse beginnen, sind im Folgenden mit tp(n) bezeichnet, der Abstand von zwei aufeinanderfolgenden Impulsen ist die Pulswiederholzeit T<sub>PW</sub>(n).</p>
<p id="p0057" num="0057">Wird diese Welle mit der Ausbreitungsgeschwindigkeit c an einem Objekt in der Entfernung a reflektiert, so empfängt das System nach der Laufzeit Δt = 2a/c die reflektierte und i. Allg. gedämpfte Welle e(t); in <figref idref="f0001">Fig.1 b)</figref> ist die Amplitude bzw. Einhüllende ê(t) der empfangenen Welle dargestellt. Somit kann aus der Laufzeit At auf die Entfernung des Objekts geschlossen werden, solange die Laufzeit Δt immer kleiner als die Pulswiederholzeit T<sub>PW</sub>(n) ist; im anderen Fall entstehen Mehrdeutigkeitsprobleme - man spricht von Überreichweiten. Bewegt sich das von der Welle erfasste Objekt bzgl. des messenden Systems mit der Relativgeschwindigkeit v, so zeigt die vom System empfangene reflektierte Welle eine Frequenzverschiebung um die Dopplerfrequenz f<sub>D</sub> = 2f<sub>s</sub>v/c. Somit kann aus der Dopplerfrequenz f<sub>D</sub> auf die Relativgeschwindigkeit v geschlossen werden.</p>
<p id="p0058" num="0058">In <figref idref="f0001">Fig.1c</figref>) ist die Amplitude bzw. Einhüllende ê(t) der empfangenen Welle beispielhaft für Überreichweiten oder Interferenzen von einem anderen gepulsten, im selben Frequenzbereich arbeitenden System dargestellt.</p>
<p id="p0059" num="0059">Ausgangspunkt zur Unterdrückung von Überreichweiten und Interferenzen ist eine Pseudo-Noise-Kodierung der Pulswiederholzeit T<sub>PW</sub>(n), d.h. die Pulswiederholzeit ist nicht konstant, sondern wird einem Zufallsprozess nach variabel gestaltet. Empfangene Impulse, welche von Überreichweiten oder einem anderen gepulsten System stammen, haben dann zum unmittelbar zuvor ausgesendeten Impuls nicht immer den gleichen, sondern einen stochastisch verteilten Abstand.</p>
<p id="p0060" num="0060">Das empfangene Signal e(t) wird vorzugsweise nach entsprechender Aufbereitung (z. B. Abmischung auf eine Zwischenfrequenz oder ins Basisband, IQ-Bildung, Filterung) abgetastet. Dabei sind die Abtastzeitpunkte so gewählt, dass sie zur vorhergehenden Sendeimpulszeit t<sub>P</sub>(n) einen zeitlichen Abstand t<sub>A</sub>(m), m ∈ {0,1,...,M-1} besitzen; jeder zeitliche Abstand t<sub>A</sub>(m), m = 0,1,...,M-1, entspricht einem sogenannten Entfemungstor. Für jedes der M Entfemungstore werden pro Zyklus insgesamt N(m) Abtastwerte gebildet; in welcher Weise dies geschieht, ob z. B. seriell oder parallel, ist für die weitere Betrachtung nicht relevant.</p>
<p id="p0061" num="0061">Bei Überreichweiten und Interferenzen durch gepulste, im selben Frequenzbereich arbeitende Systeme sind wegen der Pseudo-Noise-Kodierung der Pulswiederholzeit T<sub>PW</sub>(n) in jedem Entfemungstor i. Allg. nur einzelne Abtastwerte gestört - man spricht von transienten Störem. Aber dies könnte im Falle hoher Störungen schon reichen, dass die weitere Signalverarbeitung (Spektralanalyse zur Dopplerbestimmung z. B. durch FFT oder Leistungsanalyse z. B. durch Leistungsintegration) unbrauchbare Ergebnisse liefert. <figref idref="f0002">Fig. 2a</figref> zeigt als Beispiel im diskreten<!-- EPO <DP n="12"> --> Zeitbereich eine Sinusschwingung, welcher zahlreiche hohe Störimpulse überlagert sind; im Spektrum des resultierenden Signals ist der spektrale Peak der Sinusschwingung in dem von den Störimpulsen erzeugten Rauschen verschwunden.</p>
<p id="p0062" num="0062">Hier kommt nun die Medianfilterung zum Einsatz. Die Medianfilterlängen sind vorzugsweise umso höher zu wählen, je mehr Werte gestört sein können; bei einer Leistungsanalyse kann man die Medianfilterlängen bis hin zur Zahl N(m) an Abtastwerten wählen, im Falle einer Spektralanalyse zur Dopplerbestimmung werden die Medianfilterlängen durch die größte zu detektierende Dopplerfrequenz begrenzt (wegen dem Tiefpasscharakter von Medianfiltem), was eine Überabtastung voraussetzt.</p>
<p id="p0063" num="0063">Für das in <figref idref="f0002">Fig. 2a</figref> dargestellte gestörte Signal ergibt sich nach einem zweistufigen Medianfilter mit jeweiliger Filterlänge K = 5 der in <figref idref="f0002">Fig. 2b</figref> dargestellte Verlauf; das Nutzsignal, eine Sinusschwingung, ist im Zeitbereich fast vollständig wieder rekonstruiert und im Spektrum somit deutlich sichtbar.</p>
<p id="p0064" num="0064">Kombiniert man also die Pseudo-Noise-Kodierung der Pulswiederholzeit und die Medianfilterung als eine zur Unterdrückung von transienten Störem geeignete nichtlineare Filterung, so kann man den Einfluss von Überreichweiten und Interferenzen durch gepulste, im selben Frequenzbereich arbeitende Systeme stark vermindern oder gänzlich eliminieren. Zudem ist zunächst vorzugsweise in jedem Entfemungstor eine adäquate Vorverarbeitung der Abtastwerte vorgesehen, wie z. B. eine Betragsquadratbildung für eine Leistungsanalyse.</p>
<p id="p0065" num="0065"><figref idref="f0003">Figur 3</figref> zeigt anhand eines Blockschaltbildes das erfindungsgemäße Puls-Doppler-Radarsystem. Die einzelnen Elemente dieses Systems, insbesondere das Optimalfilter und die Elemente des FPGAs werden anschließend noch detailliert erläutert.</p>
<p id="p0066" num="0066">Das Radarsystem weist ein RF-Empfangsteil mit nachgeschaltetem Verstärker, Bandpass-Optimalfilter und A/D-Wandler auf. Am Ausgang des A/D-Wandlers ist ein komplexes Ausgangssignal abgreifbar, welches einem nachgeschalteten FPGA zuführbar ist. Der FPGA besteht aus einer digitalen Modulationseinrichtung, dem Medianfilter gegen pulsförmige Störungen und einem als Tiefpass ausgebildeten Dezimationsfilter, die in Reihe zueinander angeordnet sind. Die FPGA-Einheit enthält außerdem einen PN-Generator. Ferner ist ein Rauschfilter vorgesehen, welches dem A/D-Wandler vorgeschaltet angeordnet ist.</p>
<p id="p0067" num="0067">Dem FPGA nachgeschaltet ist ein digitaler Signal-Prozessor (DSP), der im vorliegenden Fall eine Einrichtung zur Erzeugung einer Fensterfunktion, eine FFT-Einrichtung (Fast-Fourier-Transformation) sowie einen Störlinienkompensator aufweist. Anschließend wird ausgehend davon die Detektionsschwelle bestimmt und einer Einrichtung zur Zielbildung, die eine Zielliste erzeugt, zugeführt Dem DSP nachgeschaltet ist eine Mikrocontrollereinheit (MCU), die ausgehend von der Zielliste im Bedarfsfall Stellgrößen für das Fahrzeug erzeugt. Zu diesem Zwecke wird zunächst ein "Tracking" der Zielliste vorgenommen und ein relevantes Objekt bestimmt. Die Information darüber wird einem Längsregler zugeführt, der dann die gewünschten Stellgrößen erzeugt. Die Funktion des DSP und der MCU können selbstverständlich auch durch eine einzige programmgesteuerte Einheit, beispielsweise einen Mikrocomputer, erfüllt werden.</p>
<p id="p0068" num="0068">Nachfolgend soll anhand der <figref idref="f0004">Figuren 4</figref> und <figref idref="f0005">5</figref> das Doppler-Verfahren kurz erläutert werden. Dabei zeigt <figref idref="f0004">Figur 4</figref> anhand eines vereinfachten Schaltbildes das Prinzip des Doppler-Verfahrens und <figref idref="f0005">Figur 5</figref> die Signal-Zeit-Diagramme für das Schaltbild nach <figref idref="f0004">Figur 4</figref>.<!-- EPO <DP n="13"> --></p>
<p id="p0069" num="0069">Bei dem Doppler-Verfahren wird eine komplexe Abtastung des empfangenen Signals vorgenommen, um das Vorzeichen der Geschwindigkeit zu erkennen. Radarsystem mit dem Puls-Doppler-Verfahren zeichnen sich dadurch aus, dass die Geschwindigkeit und die Entfernung direkte Messgrößen darstellen. Das RF-Teil lässt sich dadurch im Vergleich zu dem eingangs genannten FMCW-System sehr viel einfacher realisieren, da hier ein freilaufender Oszillator (VCO) mit geringen Anforderungen an sein Phasen- und Amplitudenrauschen verwendet werden kann und keine Frequenzrampen erzeugt werden müssen.</p>
<p id="p0070" num="0070">Ein Messzyklus dauert bspw. jeweils 50ms. Das Messergebnis ist eine Zielliste, d.h. eine Momentaufnahme der Verkehrssituation. Jedem Messzyklus sind 5 Messblöcke, nämlich ein Störlinienmessblock, ein ZF-Messblock sowie drei Antennenmessblöcke (für jede Antenne einer), zugeordnet. Jeder dieser Messblöcke dauert 2,76ms. In dieser Zeit werden beispielsweise 1024 + 64 Sendeimpulse erzeugt, wobei die ersten 64 Sendeimpulse dem Einschwingen der Filter dienen und somit nicht verwertet werden. Nach jedem Sendeimpuls wird 40 Mal im Abstand von jeweils 25ns abgetastet. Damit wird sichergestellt, dass jedes Ziel zumindest in einem Entfemungstor erfasst wird.<br/>
Über die Schalter ANT0 bis ANT2 wird eine der drei Antennen ausgewählt. Durch Schließen der Sendeschalter TX für 25ns wird das Signal des Oszillators auf die ausgewählte Antenne gegeben und abgestrahlt.<br/>
Nach diesem Aussenden eines rechteckförmigen Sendeimpulses werden die Empfangsschalter RX geschlossen, und die Frequenz des Oszillators wird um 200MHz geändert. Dadurch werden die Empfangsimpulse über den Mischer auf eine Zwischenfrequenz von 200MHz transformiert. Die Dopplerverschiebung der Frequenz kann an dieser Stelle unberücksichtigt bleiben. Das so resultierende reelle Signal m(t) wird auf einen als Optimalfilter ausgelegten passiven Bandpass gegeben, welcher zwei zueinander orthogonale Ausgänge gleicher Amplitude besitzt und somit das komplexe Signal k(t) erzeugt, d. h., es wird ein IQ-Signal ohne komplexe Mischung realisiert.<br/>
Das IQ-Signal am Ausgang des Bandpassfilters wird nach jedem Sendeimpuls 40mal in Abständen von 25ns abgetastet. Die einzelnen Abtastzeitpunkte korrespondieren zu jeweils einem Entfernungsbereich - sie stellen damit sogenannte Entfernungstore dar, welche eine Breite von 3.75m besitzen und bis zu einer Entfernung von 150m reichen. Da ein rechteckförmiger Empfangsimpuls der Länge 25ns durch das Bandpassfilter zu einem dreieckförmigen Impuls der doppelten Länge verschliffen wird und somit i. Allg. in zwei aufeinanderfolgenden Entfernungstoren sichtbar ist, kann durch Auswerten der Amplitudenverhältnisse dieser zwei Entfemungstore die genaue Entfernung interpoliert werden.</p>
<p id="p0071" num="0071">Für die Ermittlung der Relativgeschwindigkeit der Ziele bezüglich des eigenen Fahrzeugs und zur Erhöhung des Signal-Rausch-Verhältnisses werden die komplexen Empfangssignale von 1024 aufeinanderfolgenden Sendeimpulsen in jedem Entfernungstor E ausgewertet, ohne dabei die selektierte Antenne A zu ändern. Für den Fall äquidistanter Sendeimpulse zeigt Bild 4 den Real- und Imaginärteil d<sub>I</sub>(n,E,A) und d<sub>Q</sub>(n,E,A) der 1024 komplexen Abtastwerte d(n,E,A) eines Entfemungstors, in welchem sich ein relativ bewegtes Ziel befindet (während der kurzen Beobachtungsdauer von 2.56ms für die 1024 Abtastwert kann die Relativgeschwindigkeit stets als konstant betrachtet werden); von Abtastwert zu Abtastwert ändert sich die Phase gleichförmig, da<!-- EPO <DP n="14"> --> sich die Entfernung des Ziels und somit die Phase des Empfangsimpulses gleichförmig ändern - es resultiert genau die Dopplerfrequenz inklusive ihrem Vorzeichen (weil das Signal komplex ist).</p>
<p id="p0072" num="0072">Das eben beschriebene Verfahren wird sequentiell für jede der drei Antennen angewendet. Eine der Antennen schaut genau geradeaus, während die zwei anderen leicht nach links bzw. rechts gerichtet sind, um so die Position der erfassten Ziele relativ zur eigenen Fahrspur bestimmen zu können</p>
<p id="p0073" num="0073">Das empfangene Signal enthält immer auch einen Störungsanteil, der sich als Rauschen bemerkbar macht. Die Störung weist näherungsweise die Charakteristik von weißem Rauschen auf. Um dieses Rauschen möglichst gut herauszufiltern, d. h. ein maximales Signal-Rausch-Verhältnis zu erzielen, wird ein Optimalfilter benutzt. Seine Übertragungsfunktion entspricht dem Spektrum der empfangenen Zwischenfrequenzimpulse (ZF-Impulse), d h. dem Spektrum eines mit 200MHz modulierten Rechtecks der Impulslänge 25ns. Das Optimalfilter entspricht somit einem Bandpass.</p>
<p id="p0074" num="0074">Das verwendete Optimalfilter wird vorteilhafterweise als ein in ohmsche Widerstände eingebetteter LC-Vierpol realisiert. Im betrachteten Frequenzbereich ist dies eine besonders günstige und flexible Technologie, da die hierfür benötigten Induktivitäten als SMD-Bauteile verfügbar sind. Die Filterschaltung kann dadurch sehr einfach, klein und damit auch kostengünstig aufgebaut werden.</p>
<p id="p0075" num="0075">Beim Entwurf eines solchen Optimalfilters nach dem bekannten Verfahren nach Bader sind zwei Entwurfsstrategien möglich:
<ol id="ol0001" ol-style="">
<li>1. Zunächst wird ein bedarfsgemäß angepasster Tiefpass entworfen. Anschließend wird daraus eine Transformation des Tiefpasses in einen Bandpass vorgenommen. Diese Variante eignet sich allerdings nur bedingt und auch nur für spezielle Schaltungen, da sie zu für die Realisierung der Schaltung ungeeigneten Strukturen und Bauteilewerten führt.</li>
<li>2. Direkter Entwurf eines Bandpassfilters: Diese Variante ist besonders vorteilhaft, wenngleich auch beim Entwurf etwas aufwendiger, da sie zu unterschiedlichen alternativen Strukturen führt, die je nach Anforderungen mehr oder weniger gut an die geforderten Verhältnisse angepasst sind. Bei diesem Verfahren wird zunächst eine Approximation der idealen Übertragungsfunktion vorgenommen.</li>
</ol></p>
<p id="p0076" num="0076"><figref idref="f0006">Fig. 6</figref> zeigt gestrichelt die Übertragungsfunktion eines im direkten Entwurf hergestellten Optimalfilters; die dünne durchgehende Kurve gehört zum idealen Optimalfilter, welches durch die reale Schaltung sehr gut angenähert bzw. nachgebildet wird.</p>
<p id="p0077" num="0077">Die <figref idref="f0007">Figur 7</figref> zeigt eine erste Schaltungsanordnung für die Realisierung eines nach Bader approximierten Optimalfilters: Die Werte der Induktivitäten, Kapazitäten und Widerstände sind hier auf real verfügbare Werte gerundet. Freiheitsgrade bei Entwicklung wurden hier so ausgenutzt, dass vorteilhafterweise kein Übertrager notwendig ist. Die in <figref idref="f0007">Figur 7</figref> dargestellte Struktur hat im Gegensatz zu ihrer dualen Struktur von fast allen Knoten Kapazitäten gegen Masse, in welche die Streukapazitäten mit eingerechnet werden können.</p>
<p id="p0078" num="0078">Die Ausgangssignale k<sub>I</sub>(t) und k<sub>Q</sub>(t) der Schaltung in <figref idref="f0007">Figur 7</figref> stehen orthogonal zueinander, d.h. sie weisen eine Phasendifferenz von 90° zueinander auf, und besitzen bei der Zwischenfrequenz f<sub>ZF</sub>=200MHz gleiche Amplitude, was durch Freiheitsgrade bei Entwicklung erreichbar ist<!-- EPO <DP n="15"> --></p>
<p id="p0079" num="0079">Das komplexe Ausgangssignal k<sub>I</sub>(t) + j*k<sub>Q</sub>(t), nachfolgend IQ-Signal genannt, stellt damit eine komplexe Schwingung für die reelle Eingangsschwingung mit der Zwischenfrequenz f<sub>ZF</sub> dar. Dieses sogenannte IQ-Signal wurde vorteilhafter Weise ohne jegliche Mischung realisiert.</p>
<p id="p0080" num="0080">Besonders vorteilhaft ist es, wenn sowohl der dem Realteil als auch dem Imaginärteil zugeordnete Teil des Ausgangssignals, also k<sub>I</sub>(t) und k<sub>Q</sub>(t), gegen Masse ausgebildet sind. <figref idref="f0006">Figur 6</figref> zeigt anhand eines Schaltbildes ein zweites, bevorzugten Ausführungsbeispiels eines approximierten Optimalfilters, bei dem dieser Forderung Rechnung getragen wird. Die ausgangsseitige Teil der Filterschaltung wurde dabei im Wesentlichen aufgedoppelt.</p>
<p id="p0081" num="0081">Diese in Figur dargestellte modifizierte Ausgangsstufe hat den weiteren großen Vorteil, dass trotz ohmscher und kapazitiver Belastung durch den A/D-Wandler der I/Q-Charakter des Ausgangssignals erhalten bleibt. Lediglich die Filtercharakteristik ändert sich geringfügig.</p>
<p id="p0082" num="0082">Ein entsprechend den <figref idref="f0007">Figuren 7 und 8</figref> ausgebildetes Bandpass-Optimalfilter weist zusammenfassend also die folgenden vorteilhaften Funktionen auf:
<ul id="ul0002" list-style="dash">
<li>Das Filter weist ein optimiertes Signal-Rausch-Verhältnis auf.</li>
<li>Das Filter erzeugt auf einfache, jedoch sehr zuverlässige Weise ein weitestgehend exaktes IQ-Signal, welches am Ausgang des Filters abgreifbar ist.</li>
<li>Da das dreieckförmige Ausgangssignal in zwei Entfemungstoren sichtbar ist und über das Amplitudenverhältnis die Entfernung bestimmt werden kann, ist auf diese Weise eine einfache Interpolation der Entfernung möglich.</li>
</ul></p>
<p id="p0083" num="0083">Der FPGA-Block in <figref idref="f0003">Figur 3</figref> weist eine Einrichtung zur digitalen Modulation des von dem Optimalfilter erzeugten komplexen Ausgangssignals auf. Eine derartige Einrichtung ist erforderlich, da der interessierende Geschwindigkeitsbereich typischerweise nicht symmetrisch ist und damit zu einem unsymmetrischen Frequenzbereich führen würde; im Anwendungsbeispiel interessieren Geschwindigkeiten im Bereich von -88,2 bis +264,7 km/h. Mittels eines Frequenzoffsets von -12.5kHz lässt sich daraus ein symmetrischer Frequenzbereich erzeugen. Mittels einer geeignet dimensionierten Einrichtung zur digitalen Modulation lässt sich dies realisieren, beispielsweise durch Multiplikation des abgetasteten IQ-Signals mit einem Signal, welches von einem umlaufenden komplexen Zeiger der Amplitude 1 und der Drehfrequenz -12.5kHz erzeugt wird.</p>
<p id="p0084" num="0084">Der FPGA-Block weist ferner ein nichtlineares Filter gegen pulsförmige Störungen auf. Pulsförmige Störungen haben ihren Ursprung z.B. in Überreichweiten oder Puls-Radar-Systemen anderer Verkehrsteilnehmer. Durch eine Pseudo-Noise-Kodierung der Abtastzeitpunkte werden pulsförmige Störungen auf alle Entfernungstore (mehr oder weniger gleichmäßig) verteilt. Dadurch sind nur einzelne Werte in jedem Entfemungstor gestört. Durch Pseudo-Noise-Kodierung und nichtlineare Filterung, beispielsweise durch Medianfilter, lassen sich unerwünschte pulsförmige Störungen kompensieren.</p>
<p id="p0085" num="0085">Für die Realisierung des Filters gegen pulsförmige Störungen ist folgende Problematik zu berücksichtigen:</p>
<p id="p0086" num="0086">Ein lineares Filter ist hier wenig vorteilhaft, da der dem Filter nachfolgende Dezimationstiefpass bereits ein lineares Filter mit minimaler Bandbreite darstellt. Denkbar sind alle nichtlinearen Filter,<!-- EPO <DP n="16"> --> welche einzelne Fehlwerte kompensieren können; viele dieser Filter sind allerdings hinsichtlich der Stabilität und der Implementierung auf einem FPGA problematisch.</p>
<p id="p0087" num="0087">Hier ist vorteilhafter Weise ein ein- oder mehrstufiges Medianfilter zu verwenden. In einer bevorzugten Ausgestaltung ist dieses Filter zweistufig mit jeweils die Länge 5. Vorteilhafterweise wird durch den vorgeschalteten A/D-Wandler eine Überabtastung vorgenommen.</p>
<p id="p0088" num="0088">Der Median von K Werten ist der mittlere Wert, d.h. der (K+1)/2-kleinste Wert = (K+1)/2-größte Wert.</p>
<p id="p0089" num="0089">Zum Beispiel ist der Median der fünf Zahlen 5, 3, 2, 79, 1 gleich 3. Ein gleitendes Medianfilter ohne Reduktion der Abtastrate berechnet zu jedem Zeitpunkt n den Median von K aufeinander folgender Werte einer Eingangsfolge x(n) und erzeugt daraus ein Ausgangssignal m(n). Für Median-Filter sind viele Algorithmen bekannt, welche sich insbesondere für eine Software-Realisierung eignen. Diese basieren auf Sortierung mit einhergehender hoher Rechenzeit oder statistische Auswertung mit einhergehendem hohen Speicherbedarf von Daten. Für eine Hardware-Realisierung sind diese Algorithmen wenig geeignet, da sie typischerweise zu viele Fallunterscheidungen und Verzweigungen benötigen.</p>
<p id="p0090" num="0090">Es wurde jedoch nun ein neuer Algorithmus für eine Hardware-Realisierung eines Median-Filters entwickelt Die Funktionsweise ist bereits anhand der <figref idref="f0008">Figuren 9a</figref>,<figref idref="f0009">9b</figref>,<figref idref="f0010">9c</figref> und <figref idref="f0008 f0009 f0010">10a,10b,10c</figref> dargestellt worden. Mit einer solchen Struktur kann in vielen Fällen der Aufwand eines Median-Filters deutlich reduziert werden, insbesondere wenn die maximale Taktzeit des FPGAs wesentlich größer als der Worttakt des Eingangssignals ist. Ein weiterer Vorteil besteht in der einfachen Skalierbarkeit der Struktur.</p>
<p id="p0091" num="0091">Der FPGA-Block in <figref idref="f0003">Figur 3</figref> weist ferner ein Dezimationsfilter auf. Das Dezimationsfilter ist vorteilhafterweise als Tiefpass ausgebildet.</p>
<p id="p0092" num="0092">Im vorliegenden Ausführungsbeispiel wird eine Dezimation der Abtastfrequenz von 400kHz auf 50kHz, also um den Faktor 8, vorgenommen. Dadurch ist - im Falle eines idealen Dezimationstiefpasses - eine Verbesserung des Signal-Rausch-Verhältnisses um 9dB möglich.</p>
<p id="p0093" num="0093">Ein realer Dezimationstiefpass muss die Anforderung möglichst steiler Flanken um die Frequenzen f = ±25kHz herum erfüllen. Nicht erforderlich ist |H<sub>real</sub>(j2πf)| ≈ const im Durchlassbereich |f| &lt; 25kHz, da bei der Auswertung lediglich Spektren verwertet werden und dabei auf einfache Weise Amplitudenfehler kompensiert werden können. In der <figref idref="f0011">Figur 11</figref> ist die Übertragungsfunktion eines idealen und eines realen Dezimationstiefpasses dargestellt. Der dafür verwendete Tiefpass besteht aus zwei gleitenden Mittelwertbildnern, wobei der zweite schon mit der halbierten Eingangstaktrate arbeitet. Der gleitende Mittelwertbildner der Länge N mittelt über den aktuellen und die N-1 vorhergehenden Werte. <figref idref="f0012">Figur 12</figref> zeigt die Impulsantwort h(n) eines solchen gleitenden Mittelwertbildners sowie ein Signalflussdiagramm. Der Mittelwertbildner lässt sich sehr effizient in rekursiver Form realisieren.</p>
<p id="p0094" num="0094">Die Gesamtstruktur eines vorteilhaften Ausführungsbeispiels eines Dezimationstiefpasses ist in <figref idref="f0012">Figur 13</figref> dargestellt. Ein fehlender Faktor 64/40 am Ausgang wird bei einer späterer Fensterung für die digitale Fourier-Transformation (DFT) mit realisiert. Für ein solches Dezimationsfilter mit dem Grad 15 müssen also folgende Elemente bereitgestellt werden: ein Shifter, vier Addierer, vier<!-- EPO <DP n="17"> --> Speicherelemente. Ein Multiplizierer ist aber nicht erforderlich. Im Vergleich dazu müssen bei einem üblichen linearphasigen Filter mit dem Grad 15 insgesamt acht Multiplizierer, 15 Addierer, 15 Speicher bereitgestellt werden. Das Dezimationsfilter zeichnet sich also auch durch einen deutlich geringeren schaltungstechnischen Aufwand aus.</p>
</description>
<claims id="claims01" lang="de"><!-- EPO <DP n="18"> -->
<claim id="c-de-01-0001" num="0001">
<claim-text>Verfahren zur digitalen Filterung von K Eingangswerten mittels eines nichtlinearen Filters, wobei das Filter als Ausgangswert den R-größten Wert aus den K Eingangswerten erzeugt, wobei K ≥ R ≥ 1, und wobei die Eingangswerte in binärer Einer- oder Zweierkomplementdarstellung in Festkommaformat vorliegen, bei weicher der Betrag der Bitwertigkeiten von einem höchstsignifikanten Bit MSB zu einem niedersignifikantesten Bit LSB hin jeweils mit dem Faktor 1/2 abnimmt und nur die Bitwerte 0 und 1 vorkommen, in dem:
<claim-text>a) für die einzelnen Bits der Eingangs- und Ausgangswerte in betragsmäßig absteigender Bitwertigkeit beginnend mit dem höchstsignifikanten Bit MSB nacheinander bis zum niedersignifikantesten Bit LSB</claim-text>
<claim-text>b) beim jeweils aktuell betrachteten Bit,
<claim-text>- falls es das höchstsignifikante Bit MSB ist, über alle K Eingangswerte gesehen der R-kleinste Bitwert bestimmt wird, welcher 0 ist, falls beim aktuell betrachteten Bit über alle K Eingangswerte gesehen nicht weniger als R-mal der Bitwert 0 auftritt, ansonsten ist der R-kleinste Bitwert gleich 1,</claim-text>
<claim-text>- falls es nicht das höchstsignifikante Bit MSB ist, über alle K Eingangswerte gesehen der R-größte Bitwert bestimmt wird, welcher 1 ist, falls beim aktuell betrachteten Bit über alle K Eingangswerte gesehen nicht weniger als R-mal der Bitwert 1 auftritt, ansonsten ist der R-größte Bitwert gleich 0,</claim-text></claim-text>
<claim-text>c) wobei der so bestimmte Bitwert dann den Bitwert für das aktuell betrachtete Bit des R-größten Wertes und damit des Ausgangswertes darstellt,</claim-text>
<claim-text>d) und für diejenigen Eingangswerte, bei welchen der Bitwert des aktuell betrachteten Bits nicht dem so bestimmten Bitwert entspricht, als Bitwerte aller nachfolgenden Bits:
<claim-text>- der invertierte Bitwert dieser Eingangswerte am aktuell betrachteten Bit verwendet wird, sofern das aktuell betrachtete Bit das höchstsignifikante Bit MSB ist,</claim-text>
<claim-text>- der Bitwert dieser Eingangswerte am aktuell betrachteten Bit verwendet wird, sofern das aktuell betrachtete Bit nicht das höchstsignifikante Bit MSB ist.</claim-text></claim-text><!-- EPO <DP n="19"> --></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Verfahren zur digitalen Filterung nach Anspruch 1, wobei als Ausgangswert der Median einer ungeraden Anzahl K von Eingangswerten in binärer Einer- oder Zweierkomplementdarstellung erzeugt wird, bei dem somit R=(K+1)/2 ist und in dem:
<claim-text>im Schritt b) jeweils geprüft wird, ob über alle K Eingangswerte gesehen beim aktuell betrachteten Bit als Bitwert mehr Einsen oder Nullen auftreten, und</claim-text>
<claim-text>im Schritt c) der häufiger auftretende Bitwert dann den Bitwert für das aktuell betrachtete Bit des Median und damit des Ausgangswertes darstellt.</claim-text><!-- EPO <DP n="20"> --></claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Verfahren zur digitalen Filterung <u>von K Eingangswerten mittels eines nichtlinearen Filters</u>, <u>wobei das Filter als Ausgangswert den R-größten Wert aus den K Eingangswerten erzeugt</u>, wobei <u>K ≥ R ≥ 1, und</u> wobei die Eingangswerte in binärer Vorzeichen-Betrag-Darstellung in Festkommaformat vorliegen, bei welcher der Betrag der Bitwertigkeiten von einem höchstsignifikanten Bit MSB zu einem niedersignifikantesten Bit LSB hin jeweils mit dem Faktor 1/2 abnimmt und nur die Bitwerte 0 und 1 vorkommen, in dem:
<claim-text>a) für die einzelnen Bits der Eingangs- und Ausgangswerte beginnend mit dem Vorzeichenbit VZB, gefolgt von dem höchstsignifikanten Bit MSB nacheinander bzgl. betragsmäßig absteigender Bitwertigkeit bis zum niedersignifikantesten Bit LSB</claim-text>
<claim-text>b) beim jeweils aktuell betrachteten Bit,
<claim-text>- falls es das Vorzeichenbit VZB ist oder <u>falls die Wertigkeit des aktuell betrachteten Bits negativ ist</u>, über alle K Eingangswerte gesehen der R-kleinste Bitwert bestimmt wird, welcher 0 ist, falls beim aktuell betrachteten Bit über alle K Eingangswerte gesehen nicht weniger als R-mal der Bitwert 0 auftritt, ansonsten ist der R-kleinste Bitwert gleich 1,</claim-text>
<claim-text>- falls es nicht das Vorzeichenbit VZB oder <u>falls die Wertigkeit des aktuell betrachteten Bits positiv ist ist</u>, über alle K Eingangswerte gesehen der R-größte Bitwert bestimmt wird, welcher 1 ist, falls beim aktuell betrachteten Bit über alle K Eingangswerte gesehen nicht weniger als R-mal der Bitwert 1 auftritt, ansonsten ist der R-größte Bitwert gleich 0,</claim-text></claim-text>
<claim-text>c) wobei der so bestimmte Bitwert dann den Bitwert für das aktuell betrachtete Bit des R-größten Wertes und damit des Ausgangswertes darstellt,</claim-text>
<claim-text>d) und für diejenigen Eingangswerte, bei welchen der Bitwert des aktuell betrachteten Bits nicht dem so bestimmten Bitwert entspricht, als Bitwerte aller bezüglich der Reihenfolge nach a) nachfolgenden Bits
<claim-text>- der Bitwert 0 verwendet wird, sofern das aktuell betrachtete Bit das Vorzeichenbit VZB ist,</claim-text>
<claim-text>- der Bitwert dieser Eingangswerte am aktuell betrachteten Bit verwendet wird, sofern das aktuell betrachtete Bit nicht das Vorzeichenbit VZB ist.</claim-text></claim-text><!-- EPO <DP n="21"> --></claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Verfahren zur digitalen Filterung nach Anspruch 3, wobei als Ausgangswert der Median einer ungeraden Anzahl K von Eingangswerten in binärer Vorzeichen-Betrag-Darstellung erzeugt wird, bei dem somit R=(K+1)/2 ist und in dem:
<claim-text>im Schritt b) jeweils geprüft wird, ob über alle K Eingangswerte gesehen beim aktuell betrachteten Bit als Bitwert mehr Einsen oder Nullen auftreten, und</claim-text>
<claim-text>im Schritt c) der häufiger auftretende Bitwert dann den Bitwert für das aktuell betrachtete Bit des Median und damit des Ausgangswertes darstellt.</claim-text></claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren nach einem der vorangehenden Ansprüche, wobei zur Durchführung von Schritt d) für die Eingangswerte, bei welchen der Bitwert des aktuell betrachteten Bits nicht dem in c) bestimmten Bitwert des Ausgangswertes entspricht, alle nachfolgenden Bits im Speicher entsprechend ersetzt und für nachfolgende Schritte b) auf die entsprechend ersetzten Bitwerte zugegriffen wird.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Verfahren nach einem der vorangehenden Ansprüche, wobei ein Register vorgesehen ist, in welchem für jeden Eingangswert abgelegt ist,
<claim-text>- ob für den jeweiligen Eingangswert bereits bei einem vorhergehend betrachteten Bit der Bitwert dieses Eingangswertes nicht dem in c) bestimmten Bitwert des Ausgangswertes entsprochen hat und</claim-text>
<claim-text>- falls ja, welcher Bitwert dann aktuell für diesen Eingangswert in Schritt b) zu verwenden ist.</claim-text></claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Verfahren nach einem der Ansprüche 1-6, wobei in Schritt b) die Bestimmung der Anzahl des Auftretens vom Bitwert 1 bzw. 0 beim aktuell betrachteten Bit über die K Eingangswerte erfolgt, indem die Bitwerte binär addiert werden, und der Additionswert somit der Anzahl des Auftretens des Wertes 1 bzw. K minus dem Additionswert der Anzahl des Auftretens des Wertes 0 entspricht.<!-- EPO <DP n="22"> --></claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Verfahren nach einem der Ansprüche 1-7, welches abbricht, wenn es in Schritt d) nur noch einen Eingangswert gibt, dessen Bitwerte bei allen bisher betrachteten Bits inklusive dem aktuell betrachteten Bit jeweils dem in c) bestimmten Bitwert des Ausgangswertes entsprochen haben, wobei die restlichen Bits des Ausgangswertes dann denen dieses Eingangswertes entsprechen.</claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Digitales Filter <u>umfassend eine Recheneinheit, auf der ein Verfahren nach einem der vorherigen Ansprüche hinterlegt ist,</u> welches sukzessive aus K benachbarten digitalen Werten eines beliebig langen ein- oder mehrdimensionalen Eingangssignals einen digitalen Wert des Ausgangssignals nach einem der vorangehenden Verfahren ermittelt, wobei die Datenrate am Eingang des Filters und die Datenrate am Ausgang identisch sind.</claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Digitales Filter umfassend eine Recheneinheit, auf der ein Verfahren nach einem der Anprüche 1-8 hinterlegt ist, welches sukzessive aus K benachbarten digitalen Werten eines beliebig langen ein- oder mehrdimensionalen Eingangssignals einen digitalen Wert des Ausgangssignals nach einem der vorangehenden Verfahren ermittelt, wobei die Datenrate am Eingang des Filters größer als die Datenrate am Ausgang ist.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Digitales Filter umfassend eine Recheneinheit, auf der ein Verfahren nach einem der Ansprüche 1-8 hinterlegt ist, welches sukzessive aus K benachbarten digitalen Werten eines beliebig langen ein- oder mehrdimensionalen Eingangssignals einen digitalen Wert des Ausgangssignals nach einem der vorangehenden Verfahren ermittelt, wobei die Datenrate am Eingang des Filters um den Faktor K größer als die Datenrate am Ausgang ist, d. h., jeder Wert des Einganssignals wird nur einmal benutzt.</claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Signalverarbeitungssystem mit einer Abtastvorrichtung zur Abtastung eines Eingangssignals, einem Analog-Digital-Wandler zur Digitalisierung des abgetasteten Eingangssignals und einem digitalen Filter nach einem der Ansprüche 9 bis 11.</claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Verwendung eines Signalverarbeitungssystems nach Anspruch 12 zur Unterdrückung transienter Störungen in einem Eingangssignal durch ein Medianfilterverfahren nach einem der Ansprüche 2, 4 oder 5-8 in Verbindung mit Anspruch 2 oder 4.</claim-text></claim>
<claim id="c-de-01-0014" num="0014">
<claim-text>Verwendung eines Verfahrens nach einem der Ansprüche 1-8, um für digitale Signale im Zeit-oder Frequenzbereich, welche nur bei einzelnen diskreten Werten einen Nutzpegel über dem Rauschpegel aufweisen, eine Rauschschwelle zu bestimmen, über welcher der Signalpegel als Nutzpegel interpretiert und weiter verwendet wird.<!-- EPO <DP n="23"> --></claim-text></claim>
<claim id="c-de-01-0015" num="0015">
<claim-text>Optisches System zur Objekterfassung, bei dem Lichtimpulse, vorzugsweise im Infrarot-Wellenlängenbereich ausgesendet werden, mit einem Signalverarbeitungssystem nach Anspruch 12.</claim-text></claim>
<claim id="c-de-01-0016" num="0016">
<claim-text>Radarsystem zur Objekterfassung mit einem Signalverarbeitungssystem nach Anspruch 12.</claim-text></claim>
<claim id="c-de-01-0017" num="0017">
<claim-text>Ultraschallsystem zur Objekterfassung mit einem Signalverarbeitungssystem nach Anspruch 12.</claim-text></claim>
</claims>
<claims id="claims02" lang="en"><!-- EPO <DP n="24"> -->
<claim id="c-en-01-0001" num="0001">
<claim-text>A method for digital filtering <u>of K input values by means of a non-linear filter, wherein the filter produces the R</u><sup><u>th</u></sup> <u>largest value from the K input values as an output value, wherein K ≥ R ≥ 1, and wherein</u> the input values are provided in fixed-point, binary one's complement representation or two's complement representation, where the bit significance decreases from a most significant bit MSB towards a least significant bit LSB by the factor of 1/2 in each case and the bit values are either 0 or 1, in which method:
<claim-text>a) for the individual bits of the input and output values, in accordance with the decrease in bit significance, starting with the most significant bit MSB and successively down to the least significant bit LSB,</claim-text>
<claim-text>b) for the currently examined bit in each case,
<claim-text>- if it is the most significant bit MSB, the R<sup>th</sup> smallest bit value is determined taking into account all K input values, which bit value is 0 if the bit value of 0 occurs at least R times in the currently examined bit, taking into account all K input values; otherwise, the R<sup>th</sup> smallest bit value is 1,</claim-text>
<claim-text>- if it is not the most significant bit MSB, the R<sup>th</sup> largest bit value is determined taking into account all K input values, which bit value is 1 if the bit value of 1 occurs at least R times in the currently examined bit, taking into account all K input values; otherwise, the R<sup>th</sup> largest bit value is 0,</claim-text></claim-text>
<claim-text>c) wherein the bit value determined in this way then constitutes the bit value for the currently examined bit of the R<sup>th</sup> largest value and hence of the output value,</claim-text>
<claim-text>d) and for those input values where the bit value of the currently examined bit is not the same as the bit value determined in this way, the following applies to the bit values of all subsequent bits:<!-- EPO <DP n="25"> -->
<claim-text>- the inverted bit value of these input values is used for the currently examined bit if the currently examined bit is the most significant bit MSB,</claim-text>
<claim-text>- the bit value of these input values is used for the currently examined bit if the currently examined bit is not the most significant bit MSB.</claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>A digital filtering method according to claim 1, wherein the median of an odd number K of input values provided in binary one's complement representation or two's complement representation is produced as an output value, where in consequence R = (K+1)/2, and in which method:
<claim-text>in step b), it is checked in each case whether the currently examined bit has more ones or zeros as bit value, taking into account all K input values, and</claim-text>
<claim-text>in step c), the more frequent bit value constitutes the bit value for the currently examined bit of the median and hence of the output value.</claim-text></claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>A method for digital filtering <u>of K input values by means of a non-linear filter, wherein the filter produces the R</u><sup><u>th</u></sup> <u>largest value from the K input values as an output value, wherein K ≥ R ≥ 1, and wherein</u> the input values are provided in fixed-point, binary sign-value representation, where the bit significance decreases from a most significant bit MSB towards a least significant bit LSB by the factor of 1/2 in each case and the bit values are either 0 or 1, in which method:
<claim-text>a) for the individual bits of the input and output values, starting with the sign bit VZB, followed by the most significant bit MSB and successively down to the least significant bit LSB in accordance with the decrease in bit significance,</claim-text>
<claim-text>b) for the currently examined bit in each case,
<claim-text>- if it is the sign bit VZB or <u>if the significance of the currently examined bit is negative</u>, the R<sup>th</sup> smallest bit value is determined taking into account all K input values, which<!-- EPO <DP n="26"> --> bit value is 0 if the bit value of 0 occurs at least R times in the currently examined bit, taking into account all K input values; otherwise, the R<sup>th</sup> smallest bit value is 1,</claim-text>
<claim-text>- if it is not the sign bit VZB or <u>if the significance of the currently examined bit is positive</u>, the R<sup>th</sup> largest bit value is determined taking into account all K input values, which bit value is 1 if the bit value of 1 occurs at least R times in the currently examined bit, taking into account all K input values; otherwise, the R<sup>th</sup> largest bit value is 0,</claim-text></claim-text>
<claim-text>c) wherein the bit value determined in this way then constitutes the bit value for the currently examined bit of the R<sup>th</sup> largest value and hence of the output value,</claim-text>
<claim-text>d) and for those input values where the bit value of the currently examined bit is not the same as the bit value determined in this way, the following applies to the bit values of all bits following a) in order of occurrence:
<claim-text>- the bit value of 0 is used if the currently examined bit is the sign bit VZB,</claim-text>
<claim-text>- the bit value of these input values is used for the currently examined bit if the currently examined bit is not the sign bit VZB.</claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>A digital filtering method according to claim 3, wherein the median of an odd number K of input values provided in binary sign-value representation is produced as an output value, where in consequence R = (K+1)/2, and in which method:
<claim-text>in step b), it is checked in each case whether the currently examined bit has more ones or zeros as bit value, taking into account all K input values, and</claim-text>
<claim-text>in step c), the more frequent bit value constitutes the bit value for the currently examined bit of the median and hence of the output value.</claim-text></claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>A method according to any one of the preceding claims, wherein, to carry out step d) for the input values where the bit value of the currently examined bit is not the same as<!-- EPO <DP n="27"> --> the bit value of the output value determined in c), all subsequent bits are replaced in memory accordingly, and said replaced bit values are retrieved for subsequent steps b).</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>A method according to any one of the preceding claims, wherein a register is provided in which the following information is stored for each input value:
<claim-text>- whether for the input value in question, the bit value of this input value was already not the same as the bit value of the output value determined in c) in a bit examined earlier, and</claim-text>
<claim-text>- if so, which bit value is to be used at present for this input value in step b).</claim-text></claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>A method according to any one of claims 1-6, wherein in step b), the frequency of the bit value of 1 or 0 in the currently examined bit, taking into account the K input values, is determined by binary adding the bit values, and the sum is therefore equal to the frequency of the value of 1 and K minus the sum is equal to the frequency of the value of 0.</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>A method according to any one of claims 1-7, which is stopped when in step d), there is only one input value left whose bit values, taking into account all bits that have been examined so far and including the currently examined bit, have each been the same as the bit value of the output value determined in c), wherein the remaining bits of the output value are then the same as those of this input value.</claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>A digital filter <u>comprising a computing unit where a method according to any one of the preceding claims is stored</u>, which filter successively determines from K adjacent digital values of a one- or multidimensional input signal of any desired length a digital value of the output signal according to any one of the preceding methods, wherein the data rate at the input of the filter and the data rate at the output are identical.</claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>A digital filter <u>comprising a computing unit where a method according to any one of claims 1-8 is stored</u>, which filter successively determines from K adjacent digital values of a one- or multidimensional input signal of any desired length a digital value of<!-- EPO <DP n="28"> --> the output signal according to any one of the preceding methods, wherein the data rate at the input of the filter exceeds the data rate at the output.</claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>A digital filter <u>comprising a computing unit where a method according to any one of claims 1-8 is stored</u>, which filter successively determines from K adjacent digital values of a one- or multidimensional input signal of any desired length a digital value of the output signal according to any one of the preceding methods, wherein the data rate at the input of the filter exceeds the data rate at the output by the factor of K, i.e. each value of the input signal is used only once.</claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>A signal processing system comprising a scanning device for scanning an input signal, an analogue to digital converter for digitizing the scanned input signal, and a digital filter according to any one of claims 9 to 11.</claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>The use of a signal processing system according to claim 12 to suppress transient interference in an input signal by means of a median filtering method according to any one of claims 2, 4 or 5-8 in conjunction with claim 2 or 4.</claim-text></claim>
<claim id="c-en-01-0014" num="0014">
<claim-text>The use of a method according to any one of claims 1-8 to determine, for digital signals in the time or frequency range whose useful level only exceeds the noise level in individual discrete values, a noise threshold above which the signal level is considered to be a useful level and continued to be used.</claim-text></claim>
<claim id="c-en-01-0015" num="0015">
<claim-text>An optical system for the detection of objects, in which light pulses, preferably in the infrared wavelength range, are emitted, comprising a signal processing system according to claim 12.</claim-text></claim>
<claim id="c-en-01-0016" num="0016">
<claim-text>A radar system for the detection of objects, comprising a signal processing system according to claim 12.</claim-text></claim>
<claim id="c-en-01-0017" num="0017">
<claim-text>An ultrasonic system for the detection of objects, comprising a signal processing system according to claim 12.</claim-text></claim>
</claims>
<claims id="claims03" lang="fr"><!-- EPO <DP n="29"> -->
<claim id="c-fr-01-0001" num="0001">
<claim-text>Procédé de filtrage numérique <u>de K valeurs d'entrée au moyen d'un filtre non linéaire, le filtre produisant en tant que valeur de sortie la R</u><sup><u>ième</u></sup> <u>plus grande valeur à partir des K valeurs d'entrée, où K ≥ R ≥ 1, et</u> les valeurs d'entrée se présentant dans le format en virgule fixe dans une représentation binaire de complément à un ou à deux, dans laquelle le montant des poids du bit diminue respectivement selon le facteur ½ depuis un bit de poids fort MSB vers un bit de poids faible LSB, et dans laquelle n'apparaissent que les valeurs binaires 0 et 1, dans lequel :
<claim-text>a) pour les différents bits des valeurs d'entrée et de sortie, dans un poids du bit dont le montant diminue en commençant par le poids du bit diminuant de montant avec le bit de poids fort MSB successivement jusqu'au bit de poids faible LSB,</claim-text>
<claim-text>b) pour le bit considéré actuellement respectivement,
<claim-text>- si c'est le bit de poids fort MSB, la R<sup>ième</sup> plus petite valeur binaire vue sur toutes les K valeurs d'entrée est déterminée, qui est 0, si, pour le bit considéré actuellement vu sur toutes les K valeurs d'entrée, la valeur binaire 0 apparaît pas moins de R fois, sinon la R<sup>ième</sup> plus petite valeur binaire est égale à 1,</claim-text>
<claim-text>- si ce n'est pas le bit de poids fort MSB, la R<sup>ième</sup> plus grande valeur binaire vue sur toutes les K valeurs d'entrée est déterminée, qui est 1, si, pour le bit considéré actuellement vu sur toutes les K valeurs d'entrée, la valeur binaire 1 apparaît pas moins de R fois, sinon la R<sup>ième</sup> plus grande valeur binaire est égale à 0,</claim-text></claim-text>
<claim-text>c) la valeur binaire ainsi déterminée représentant ensuite la valeur binaire pour le bit considéré actuellement de la R<sup>ième</sup> plus grande valeur et ainsi de la valeur de sortie,</claim-text>
<claim-text>d) et pour les valeurs d'entrée pour lesquelles la valeur binaire du bit considéré actuellement ne correspond pas à la valeur binaire ainsi déterminée, en tant que valeurs binaires de tous les bits suivants :
<claim-text>- la valeur binaire inversée de ces valeurs d'entrée est utilisée sur le bit considéré actuellement dans la mesure où le bit considéré actuellement est le bit de poids fort MSB,<!-- EPO <DP n="30"> --></claim-text>
<claim-text>- la valeur binaire de ces valeurs d'entrée est utilisée sur le bit considéré actuellement dans la mesure où le bit considéré actuellement n'est pas le bit de poids fort MSB.</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé de filtrage numérique selon la revendication 1, la médiane d'un nombre impair K de valeurs d'entrée étant produite en tant que valeur de sortie dans une représentation binaire de complément à un ou à deux, dans lequel ainsi R=(K+1)/2 et dans lequel :
<claim-text>dans l'étape b), il est contrôlé respectivement si, vu sur toutes les K valeurs d'entrée pour le bit considéré actuellement, il apparaît, en tant que valeur binaire, davantage de uns ou de zéros, et</claim-text>
<claim-text>dans l'étape c), la valeur binaire apparaissant plus souvent représente ensuite la valeur binaire pour le bit de la médiane considéré actuellement et donc de la valeur de sortie.</claim-text></claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé de filtrage numérique <u>de K valeurs d'entrée au moyen d'un filtre non linéaire, le filtre produisant en tant que valeur de sortie la R</u><sup><u>ième</u></sup> <u>plus grande valeur à partir des K valeurs d'entrée, où K ≥ R ≥ 1, et</u> les valeurs d'entrée se présentant dans le format en virgule fixe dans une représentation binaire de montant signé, dans laquelle le montant des poids du bit diminue respectivement selon le facteur ½ depuis un bit de poids fort MSB vers un bit de poids faible LSB, et dans laquelle n'apparaissent que les valeurs binaires 0 et 1, dans lequel :
<claim-text>a) pour les différents bits des valeurs d'entrée et de sortie, en commençant par le bit de signe VZB successivement par rapport au poids du bit dont le montant diminue jusqu'au bit de poids faible LSB,</claim-text>
<claim-text>b) pour le bit considéré actuellement respectivement,
<claim-text>- si c'est le bit de signe VZB ou bien <u>si le poids du bit considéré actuellement est négatif</u>, la R<sup>ième</sup> plus petite valeur binaire vue sur toutes les K valeurs d'entrée est déterminée, qui est 0, si, pour le bit considéré actuellement vu sur toutes les K valeurs d'entrée, la valeur binaire 0 apparaît pas moins de R fois, sinon la R<sup>ième</sup> plus petite valeur binaire est égale à 1,</claim-text>
<claim-text>- si ce n'est pas le bit de signe VZB, ou <u>bien si le poids du bit considéré actuellement est positif</u>, la R<sup>ième</sup> plus grande valeur binaire vue sur toutes les K<!-- EPO <DP n="31"> --> valeurs d'entrée est déterminée, qui est 1, si, pour le bit considéré actuellement vu sur toutes les K valeurs d'entrée la valeur binaire 1 apparaît pas moins de R fois, sinon la R<sup>ième</sup> plus grande valeur binaire est égale à 0,</claim-text></claim-text>
<claim-text>c) la valeur binaire ainsi déterminée représentant ensuite la valeur binaire pour le bit considéré actuellement de la R<sup>ième</sup> plus grande valeur et ainsi de la valeur de sortie,</claim-text>
<claim-text>d) et pour les valeurs d'entrée pour lesquelles la valeur binaire du bit considéré actuellement ne correspond pas à la valeur binaire ainsi déterminée, en tant que valeurs binaires de tous les bits suivants concernant l'ordre de succession selon a) :
<claim-text>- la valeur binaire 0 est utilisée dans la mesure où le bit considéré actuellement est le bit de signe VZB,</claim-text>
<claim-text>- la valeur binaire de ces valeurs d'entrée est utilisée sur le bit considéré actuellement dans la mesure où le bit considéré actuellement n'est pas le bit de signe VZB</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé de filtrage numérique selon la revendication 3, la médiane d'un nombre impair K de valeurs d'entrée étant produite en tant que valeur de sortie dans une représentation binaire de montant signé, dans lequel ainsi R=(K+1)/2 et dans lequel :
<claim-text>dans l'étape b), il est contrôlé respectivement si, vu sur toutes les K valeurs d'entrée pour le bit considéré actuellement, il apparaît, en tant que valeur binaire, davantage de uns ou de zéros, et</claim-text>
<claim-text>dans l'étape c), la valeur binaire apparaissant plus souvent représente ensuite la valeur binaire pour le bit de la médiane considéré actuellement et donc de la valeur de sortie.</claim-text></claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé selon une des revendications précédentes, où, pour la réalisation de l'étape d) pour les valeurs d'entrée pour lesquelles la valeur binaire du bit considéré actuellement ne correspond pas à la valeur binaire, définie dans c), de la valeur de sortie, tous les bits suivants sont remplacés en conséquence dans la mémoire et, pour les étapes b) suivantes, il est accédé aux valeurs binaires remplacées en conséquence.<!-- EPO <DP n="32"> --></claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé selon une des revendications précédentes, un registre étant prévu, dans lequel, pour chaque valeur d'entrée, il est enregistré
<claim-text>- si, pour la valeur d'entrée respective, pour un bit considéré précédemment, la valeur binaire de cette valeur d'entrée n'a pas déjà correspondu à la valeur binaire, déterminée dans c), de la valeur de sortie et</claim-text>
<claim-text>- si c'est le cas, quelle valeur binaire doit ensuite être utilisée pour cette valeur d'entrée dans l'étape b).</claim-text></claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Procédé selon une des revendications 1-6, la détermination du nombre d'apparitions de la valeur binaire 1 ou 0 pour le bit considéré actuellement s'effectuant dans la l'étape b) par le biais des K valeurs d'entrée en additionnant de façon binaire les valeurs binaires, et la valeur d'addition correspond ainsi au nombre d'apparitions de la valeur 1 ou K moins la valeur d'addition du nombre d'apparitions de la valeur 0.</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Procédé selon une des revendications 1-7, qui s'interrompt quand il ne reste dans l'étape d) plus qu'une valeur d'entrée, dont les valeurs binaires ont correspondu, pour tous les bits considérés jusqu'à présent, y compris le bit considéré actuellement, respectivement à la valeur binaire, déterminée dans c), de la valeur de sortie, les bits restants de la valeur de sortie correspondant alors à ceux de cette valeur d'entrée.</claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Filtre numérique <u>comprenant une unité de calcul dans laquelle est enregistré un procédé selon une des revendications précédentes</u>, qui détermine, successivement, à partir de K valeurs numériques voisines d'un signal d'entrée unidimensionnel ou pluridimensionnel de longueur quelconque, une valeur numérique du signal de sortie selon un des procédés précédents, le débit binaire à l'entrée du filtre et le débit binaire à la sortie étant identiques.</claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Filtre numérique <u>comprenant une unité de calcul dans laquelle est enregistré un procédé selon une des revendications 1-8</u>, qui détermine, successivement, à partir de K valeurs numériques voisines d'un signal d'entrée unidimensionnel ou pluridimensionnel de longueur quelconque, une valeur numérique du signal de<!-- EPO <DP n="33"> --> sortie selon un des procédés précédents, le débit binaire à l'entrée du filtre étant plus grand que le débit binaire à la sortie.</claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Filtre numérique <u>comprenant une unité de calcul dans laquelle est enregistré un procédé selon une des revendications 1-8</u>, qui détermine, successivement, à partir de K valeurs numériques voisines d'un signal d'entrée unidimensionnel ou pluridimensionnel de longueur quelconque, une valeur numérique du signal de sortie selon un des procédés précédents, le débit binaire à l'entrée du filtre étant plus grand, selon le facteur K, que le débit binaire à la sortie, ce qui signifie que chaque valeur du signal d'entrée n'est utilisée qu'une fois.</claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Système de traitement du signal avec un dispositif d'exploration pour l'exploration d'un signal d'entrée, un convertisseur analogique-numérique pour la numérisation du signal d'entrée exploré et un filtre numérique selon une des revendications 9 à 11.</claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Utilisation d'un système de traitement du signal selon la revendication 12 pour empêcher des perturbations transitoires dans un signal d'entrée par un procédé de filtrage de médiane selon une des revendications 2, 4 ou 5-8 en relation avec la revendication 2 ou 4.</claim-text></claim>
<claim id="c-fr-01-0014" num="0014">
<claim-text>Utilisation d'un procédé selon une des revendications 1-8 afin de déterminer, pour des signaux numériques dans la plage temporelle ou fréquentielle qui ne présentent un niveau utile au-dessus du niveau de bruit que pour différentes valeur discrètes, un seuil de bruit au-dessus duquel le niveau de signal est interprété et continue à être utilisé en tant que niveau utile.</claim-text></claim>
<claim id="c-fr-01-0015" num="0015">
<claim-text>Système optique pour la détection d'objets dans lequel des impulsions lumineuses, de préférence dans la plage de longueurs d'ondes infrarouges, sont émises, avec un système de traitement du signal selon la revendication 12.</claim-text></claim>
<claim id="c-fr-01-0016" num="0016">
<claim-text>Système radar pour la détection d'objets avec un système de traitement du signal selon la revendication 12.<!-- EPO <DP n="34"> --></claim-text></claim>
<claim id="c-fr-01-0017" num="0017">
<claim-text>Système ultrasonore pour la détection d'objets avec un système de traitement du signal selon la revendication 12.</claim-text></claim>
</claims>
<drawings id="draw" lang="de"><!-- EPO <DP n="35"> -->
<figure id="f0001" num="1a,1b,1c"><img id="if0001" file="imgf0001.tif" wi="165" he="95" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="36"> -->
<figure id="f0002" num="2a,2b"><img id="if0002" file="imgf0002.tif" wi="165" he="216" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="37"> -->
<figure id="f0003" num="3"><img id="if0003" file="imgf0003.tif" wi="152" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="38"> -->
<figure id="f0004" num="4"><img id="if0004" file="imgf0004.tif" wi="100" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="39"> -->
<figure id="f0005" num="5a,5b,5c"><img id="if0005" file="imgf0005.tif" wi="160" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="40"> -->
<figure id="f0006" num="6"><img id="if0006" file="imgf0006.tif" wi="144" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="41"> -->
<figure id="f0007" num="7,8"><img id="if0007" file="imgf0007.tif" wi="144" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="42"> -->
<figure id="f0008" num="9a,10a"><img id="if0008" file="imgf0008.tif" wi="162" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="43"> -->
<figure id="f0009" num="9b,10b"><img id="if0009" file="imgf0009.tif" wi="162" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="44"> -->
<figure id="f0010" num="9c,10c"><img id="if0010" file="imgf0010.tif" wi="162" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="45"> -->
<figure id="f0011" num="11"><img id="if0011" file="imgf0011.tif" wi="149" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="46"> -->
<figure id="f0012" num="12,13"><img id="if0012" file="imgf0012.tif" wi="137" he="233" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE</b></heading>
<p id="ref-p0001" num=""><i>Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.</i></p>
<heading id="ref-h0002"><b>In der Beschreibung aufgeführte Patentdokumente</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="EP0295464A"><document-id><country>EP</country><doc-number>0295464</doc-number><kind>A</kind></document-id></patcit><crossref idref="pcit0001">[0005]</crossref></li>
</ul></p>
<heading id="ref-h0003"><b>In der Beschreibung aufgeführte Nicht-Patentliteratur</b></heading>
<p id="ref-p0003" num="">
<ul id="ref-ul0002" list-style="bullet">
<li><nplcit id="ref-ncit0001" npl-type="b"><article><atl>Bit sliced median filter design based on majority gate</atl><book><author><name>LEE et al.</name></author><book-title>IEEE Proceedings G. Electronic Circuits &amp; Systems</book-title><imprint><name>Institution of Electrical Engeneers</name><pubdate>19920201</pubdate></imprint><vid>139</vid><location><pp><ppf>63</ppf><ppl>67</ppl></pp></location></book></article></nplcit><crossref idref="ncit0001">[0005]</crossref></li>
<li><nplcit id="ref-ncit0002" npl-type="s"><article><author><name>ATMAN et al.</name></author><atl>A Fast Method for real time median filtering</atl><serial><sertitle>IEEE transactions on Acoustics, Speech and Signal Processing</sertitle><pubdate><sdate>19890800</sdate><edate/></pubdate><vid>28</vid><ino>4</ino></serial><location><pp><ppf>415</ppf><ppl>421</ppl></pp></location></article></nplcit><crossref idref="ncit0002">[0005]</crossref></li>
<li><nplcit id="ref-ncit0003" npl-type="s"><article><author><name>BARUN K. KAR et al.</name></author><atl>A new Algorithm for Order Statistic and Sorting</atl><serial><sertitle>IEEE transactions on Signal Processing</sertitle><pubdate><sdate>19930800</sdate><edate/></pubdate><vid>41</vid><ino>8</ino></serial><location><pp><ppf>2688</ppf><ppl>2694</ppl></pp></location></article></nplcit><crossref idref="ncit0003">[0005]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
