-
Die Erfindung betrifft ein Verfahren zur Kodierung und Speicherung von digitalen Daten, die eine Vielzahl reeller Größen umfassen, in einer Signalverarbeitungseinheit eines Radarsensors, bei dem mindestens eine reelle Größe r in einer Exponentialdarstellung in der Form
gespeichert wird, wobei m eine digitale Mantisse mit einer Länge p, b eine ganzzahlige Basis, und k eine positive Zahl ist, die als digitale Zahl mit einer Länge q kodiert ist.
-
Insbesondere befasst sich die Erfindung mit der Kodierung und Speicherung von digitalen Daten in einem Radarsensor für Kraftfahrzeuge.
-
Stand der Technik
-
In Radarsensoren für Kraftfahrzeuge ist das gesendete Radarsignal zumeist ein zyklisch frequenzmoduliertes Signal, beispielsweise eine Sequenz von nacheinander ausgesandten Frequenzrampen oder auch eine Sequenz von sogenannten OFDM-Symbolen (OFDM = Orthogonal Frequency Devision Multiplex). Die von den georteten Objekten empfangenen Signale werden in ein niederfrequentes Basisband heruntergemischt und nach Vorverstärkung mit Hilfe eines Analog/Digital-Wandlers digitalisiert. Je Modulationszyklus erhält man so ein Zeitsignal in der Form eines Vektors x(n), dessen Komponenten je nach verwendetem Demodulationsverfahren reell oder komplex sind und die digital repräsentiert werden. Die Anzahl der Komponenten, also die Dimension des Vektors, entspricht der Anzahl der Messzeitpunkte, zu denen das Signal innerhalb des Modulationszyklus ausgewertet wird.
-
Der Vektor x(n) lässt sich durch mindestens eine Fourier-Transformation (z.B. FFT) in einen Vektor V(k) umwandeln, dessen komplexe Komponenten die Amplitude und Phase des empfangenen Signals als Funktion der Frequenz k angeben. Die Dimension dieses Vektors entspricht der Anzahl der Frequenzbins auf der Frequenzachse und bestimmt damit die Frequenzauflösung.
-
In vielen bekannten Radarsystemen für Kraftfahrzeuge umfasst jeder Modulationszyklus eine Vielzahl aufeinanderfolgender Frequenzrampen oder OFDM-Symbole, die mit Hilfe eines Index y gezählt werden können. In dem Fall kann durch eine weitere Schnelle Fouriertransformation der Vektoren Vy(k)über den Index y eine zweidimensionale Matrix gebildet werden. Jede Zelle dieser Matrix repräsentiert dann eine Kombination aus einem Abstand d und einer Relativgeschwindigkeit v, und die Zellen, in denen die durch die zweidimensionale FFT erhaltene Größe ein Maximum annimmt, repräsentieren Objekte, die im Abstand d und mit der Relativgeschwindigkeit v geortet wurden.
-
Wenn der Radarsensor ein Array mit mehreren Empfangsantennen aufweist und die Signale der Empfangsantennen in getrennten Empfangskanälen ausgewertet werden, so lässt sich anhand der Amplituden- und Phasenbeziehungen der Signale, die in den verschiedenen Kanälen für dasselbe Objekt erhalten werden, auch der Azimut- und/oder Elevationswinkel bestimmen, bei dem das Objekt geortet wird.
-
Mit steigenden Anforderungen an die Abstands- und Winkelauflösung des Radarsensors nimmt die Zahl der Empfangskanäle zu, und innerhalb jedes Empfangskanals nimmt die Dimension der zu verarbeitenden Vektoren x(n) und V(k) ebenfalls zu, so dass innerhalb jedes Modulationszyklus eine beträchtliche Datenmenge zu verarbeiten ist. Das erfordert nicht nur schnelle Prozessoren, sondern auch eine hohe Speicherkapazität für die temporäre Speicherung der digitalen Eingangsgrößen sowie der in jedem Verarbeitungsschritt erhaltenen Zwischenergebnisse. Der erhöhte Bedarf an Speicherkapazität führt zu einer Zunahme der Chipgröße und zu höheren Kosten sowie zu höherem Energiebedarf.
-
Nach dem ANSI/IEEE Standard 754-1985 werden digitale Repräsentationen von reellen Zahlen in der Form r = m 2-k gespeichert. Der Speicherbedarf je reeller Zahl ist dann gegeben durch die Summe aus der Länge p der Mantisse m und der Länge q des Exponenten k. Für die Repräsentation einer komplexen Zahl werden zwei reelle Zahlen benötigt, beispielsweise Realteil und Imaginärteil.
-
In
US 9 541 637 B2 sowie in
WO 2015/185058 A1 werden Verfahren beschrieben, mit denen durch Datenkompression der Speicherbedarf in Grenzen gehalten werden soll.
-
Aufgabe der Erfindung ist es, ein Verfahren anzugeben, mit dem sich der Speicherbedarf weiter reduzieren oder bei gegebenem Speicherplatz die Ortungsgenauigkeit verbessern lässt.
-
Diese Aufgabe wird erfindungsgemäß gelöst mit einem Verfahren der eingangs genannten Art, bei dem die Größen r zur komprimierten Speicherung in eine Exponentialdarstellung der Form
transformiert werden, wobei m* die Mantisse und f eine unter mehreren Funktionen ausgewählte Funktion von k ist und die Auswahl der Funktion f in Abhängigkeit von einer Werteverteilung der zu speichernden Größen erfolgt.
-
Je nach Werteverteilung der zu speichernden Größen kann es vorkommen, dass bestimmte niedere Potenzen von b-1 in der Exponentialdarstellung gar nicht benötigt werden. Die Funktion f lässt sich dann so wählen, dass in der Exponentialdarstellung anstelle dieser nicht benötigten Potenzen höhere Potenzen auftreten, die eine höhere Auflösung ermöglichen. Die digitale Zahl k mit der Länge q wird dann dazu benutzt, anstelle der 2q niedrigsten Potenzen von b-1 eine andere, geeignetere Auswahl von Potenzen zu kodieren, um ohne zusätzlichen Speicherbedarf eine höhere Auflösung zu erreichen.
-
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird zur komprimierten Speicherung der Größen eine Exponentialdarstellung mit b > 2 verwendet wird.
-
Dadurch, dass anstelle der Standardbasis b = 2 eine größere ganzzahlige Basis verwendet wird, lässt sich bei einem signifikanten Anteil der zu speichernden Größen bei gegebener Gesamtlänge der Mantisse und des Exponenten eine höhere Auflösung erreichen. Umgekehrt bedeutet dies, dass bei gegebenen Anforderungen an die Auflösung die Länge der Mantisse und/oder des Exponenten reduziert werden kann und somit Speicherplatz eingespart wird.
-
In einer vorteilhaften Ausführungsform ist die verwendete Basis b eine Zweierpotenz, beispielsweise b = 4 oder b = 8. Die Umrechnung der Exponentialdarstellung von einer Basis (z.B. b = 2) auf eine andere (z.B. b = 4) lässt sich dann sehr einfach durchführen und erfordert kaum zusätzliche Rechenzeit. Wahlweise ist es auch möglich, die Größen gleich bei der Digitalisierung im Analog/Digital-Wandler in der Exponentialdarstellung mit b < 2 zu generieren.
-
Die Auswahl der Funktion f kann vor Inbetriebnahme des Radarsensors erfolgen. Auswahlkriterium ist dann die voraussichtliche Werteverteilung der zu speichernden Größen, die in Anbetracht der Eigenschaften, Einsatzbedingungen und Aufgaben des Radarsensors am ehesten zu erwarten ist.
-
Die Auswahl der Funktion f kann jedoch auch während des Betriebs des Radarsensors dynamisch variiert werden, beispielsweise bei einer Änderung des Anforderungsprofils des Radarsensors oder wahlweise auch aufgrund einer stichprobenartigen oder fortlaufenden statistischen Analyse der Werteverteilung der zu speichernden Daten.
-
Im folgenden werden Ausführungsbeispiele anhand der Zeichnung näher erläutert.
-
Es zeigen:
- 1 ein vereinfachtes Schaltbild eines Radarsensors, auf den die Erfindung anwendbar ist;
- 2 ein Blockdiagramm einer digitalen Signalverarbeitungsseinheit in dem Radarsensor nach 1;
- 3 Beispiele für die Kodierung von digitalen Größen in einem Standardformat;
- 4 eine Speicherarchitektur für ein Kodierungsverfahren gemäß einem Ausführungsbeispiel der Erfindung;
- 5 - 7 Beispiele für die Kodierung von Daten gemäß dem Verfahren nach dem Ausführungsbeispiel der Erfindung;
- 8 ein Diagramm zur Erläuterung einer Abwandlung des Verfahrens nach 5 bis 7;
- 9 und 10 Histogramme zur Erläuterung einer weiteren Variante des Verfahrens nach dem zweiten Ausführungsbeispiel; und
- 11 ein Blockdiagramm einer Signalverarbeitungsstufe für das Verfahren nach dem zweiten Ausführungsbeispiel.
-
1 zeigt als Beispiel einen FMCW-Radarsensor, der eine Sende- und Empfangseinrichtung 10 mit vier Antennenelementen 12, 14, 16, 18 aufweist, die zusammen eine planare Gruppenantenne bilden. Der Radarsensor wird so in das Kraftfahrzeug eingebaut, dass die Antennenelemente 12 - 18 auf gleicher Höhe nebeneinander liegen, so dass ein gewisses Winkelauflösungsvermögen des Radarsensors in der Horizontalen (im Azimut) erreicht wird.
-
Ein Hochfrequenzteil 20 zur Ansteuerung der Antennenelemente wird beispielsweise durch ein oder mehrere MMICs (Monolithic Microwave Integrated Circuits) gebildet und weist einen Oszillator 22 auf, der ein Sendesignal in die einzelnen Antennenelemente einspeist. Die Frequenz des Sendesignals wird periodisch in Form einer Folge von steigenden und/oder fallenden Frequenzrampen moduliert. Beispielsweise umfasst jeder Modulationszyklus eine Folge von sogenannten Rapid Chirps, d.h. Frequenzrampen mit gleicher Steigung, die ihrerseits jeweils einen gewissen Frequenzversatz zueinander aufweisen. Die von den Antennenelementen 12 - 18 empfangenen Radarechos werden jeweils mit Hilfe eines Zirkulators 24 ausgekoppelt und einem Mischer 26 zugeführt, wo sie mit dem vom Oszillator 22 gelieferten Sendesignal gemischt werden. Auf diese Weise erhält man für jedes der Antennenelemente ein Basisbandsignal b1, b2, b3, b4, das einer elektronischen Steuer- und Auswerteeinrichtung 28 zugeführt wird.
-
Die Steuer- und Auswerteeinrichtung 28 enthält einen vierkanaligen Analog/Digital-Wandler 30, der die von den vier Antennenelementen erhaltenen Basisbandsignale b1 - b4 digitalisiert und aufzeichnet. Die so erhaltenen digitalen Zeitsignale werden dann in einer Signalverarbeitungseinheit 32 kanalweise weiter verarbeitet. Beispielsweise werden die Zeitsignale für jede Rampe durch eine Schnelle Fouriertransformation in Spektren umgewandelt die dann noch einmal einer Fouriertransformation über den Rampenindex unterzogen werden. Auf diese Weise erhält man ein zweidimensionales Spektrum, aus dem sich die Abstände d und Relativgeschwindigkeiten v der georteten Objekte ablesen lassen.
-
Die durch die Fouriertransformationen erhaltenen Größen sind komplexe Zahlen, die die Amplituden und die Phasen der empfangenen Signale angeben. Da die Amplituden- Phasenbeziehungen der Signale, die in den verschiedenen Empfangskanälen von demselben Objekt empfangen werden, vom Azimutwinkel des betreffende Objekts abhängig sind, lassen sich in einem Winkelschätzmodul 34 auch die Azimutwinkel θ der Objekte mit einer gewissen Genauigkeit bestimmen.
-
In 2 sind wesentliche Komponenten der Signalverarbeitungseinheit 32 als Blockdiagramm dargestellt. Die Signalverarbeitungseinheit weist eine Eingangsstufe 36 auf, die die digitalen Daten vom Analog/Digital-Wandler 30 übernimmt. In einer Kompressionsstufe 38 werden die Daten nach einem Verfahren, das weiter unten näher erläutert wird, komprimiert. Die Daten werden dann in komprimierter Form in einem Speicher 40 abgelegt. Wenn die Daten weiter verarbeitet werden sollen, werden sie in einer Dekompressionsstufe 42 dekomprimiert und dann in einer Verarbeitungsstufe 44 weiter verarbeitet.
-
Die Signalverarbeitungseinheit 32 kann auch mehrere verkettete Verarbeitungsstufen 44 aufweisen, beispielsweise zwei FFT-Stufen für eine zweidimensionale Fouriertransformation. Die Verarbeitungsergebnisse der ersten Stufe werden dann erneut komprimiert und in einem weiteren Speicher abgelegt, auf den dann die nachgeschaltete Verarbeitungsstufe über eine weitere Dekompressionsstufe zugreift. In bestimmten Anwendungsfällen kann die Verarbeitungsstufe 44 oder eine nachgeschaltete Verarbeitungsstufe auch so ausgebildet sein, dass sie direkt die komprimierten Daten verarbeiten kann, wie sie im Speicher 40 abgelegt sind. Die Dekompressionsstufe 42 wird dann umgangen oder reicht die Daten unverändert weiter. Ebenso ist es möglich, dass eine Verarbeitungsstufe die komprimierten Daten direkt im Speicher 40 verändert. Die nachgeschaltete Verarbeitungsstufe greift dann auf denselben Speicher 40 zu.
-
Nach dem Standard IEEE 754-1985 werden reelle Größen in einer Exponentialdarstellung in der Form r = m b-k kodiert und gespeichert. Darin ist b = 2, m ist eine Mantisse mit einer Länge p von beispielsweise 8 Bit, und k ist eine positive ganze Zahl mit einer Länge q von beispielsweise 3 Bit. In 3 ist als Beispiel die Digitalisierung einer Dezimalzahl 0,8408203125 gezeigt. In binärer Festkommadarstellung wird diese Zahl repräsentiert durch die Bitfolge 01101011101, die eine Länge von 11 Bit hat. Oberhalb dieser Bitfolge sind in 3 die Werte der zugehörigen Binärstellen als negative Zweierpotenzen angegeben. Das höchstwertigste Bit hat den Wert 2°, das nächste Bit den Wert 2-1 , usw.
-
Eine Tabelle 46 in
3 illustriert die Umwandlung dieser Festkommazahl in die Standard-Exponentialdarstellung mit p = 8, q = 3 und der Basis b = 2. Da der Exponent k die Länge q = 3 hat, kann k die Werte von 0 bis 7 einnehmen. Dementsprechend hat die Tabelle 46 acht Zeilen. Da die Mantisse die Länge p = 8 hat, müssen bei dem Übergang zu der Exponentialdarstellung die drei niederwertigsten Bit der ursprünglichen Bitfolge fallengelassen werden. Die achtstelle Mantisse wird in derjenigen Zeile der Tabelle 46 eingetragen, die (bei positiven Zahlen) eine Stelle links von dem ersten von 0 verschiedenen Bit der ursprünglichen 11-Bit-Folge liegt, im gegebenen Beispiel also in der Zeile k = 0. Die gespeicherte Größe ist also zu interpretieren als
wobei m
i (i = 0 bis 7) die i-te Stelle der Mantisse m ist.
-
Die Mantisse wird in diesem Beispiel im Zweierkomplementformat angegeben. In diesem Format muss bei positiven Zahlen das höchstwertige Bit (am linken Ende der Folge) gleich 0 sein, während bei negativen Zahlen das höchstwertige Bit gleich 1 sein muss. Wenn die ursprüngliche Bitfolge mehr als eine führende 0 aufweist, können die führenden Nullen bis auf die letzte weggelassen werden, und für jede weggelassene 0 wird der Exponent k um 1 erhöht.
-
Als Beispiel zeigt eine Tabelle 48 in 3 die Kodierung der Dezimalzahl 0,02813720703125. Die zugehörige Bitfolge hat sechs führende Nullen. Davon werden 5 Nullen weggelassen und die verbleibende Mantisse (die nächsten 8 Stellen) werden in der Zeile k = 5 eingetragen.
-
Entsprechend können bei negativen Zahlen die führenden Einsen bis auf die letzte weggelassen werden. Da für die weggelassenen führenden Stellen zusätzliche niederwertige Bits in die Mantisse aufgenommen werden können, wird in der Exponentialdarstellung eine höhere Genauigkeit bei der Repräsentation der reellen Zahl erreicht.
-
Für den in der Tabelle 46 illustrierten Fall ist unter der ursprünglichen Dezimalzahl 0,840.... der Wert der Dezimalzahl nach Umwandlung in die Exponentialdarstellung angegeben: 0,8359375. Ein Vergleich der beiden Dezimalzahlen zeigt, dass durch die Begrenzung der Mantisse auf 8 Bit ein Quantisierungsfehler in der Größenordnung von 0,004 verursacht wird.
-
Auch für den in der Tabelle 48 illustrierten Fall sind die Dezimalzahlen angegeben, die der ursprünglichen Bitfolge und der Exponentialdarstellung entsprechen. Man erkennt, dass hier wegen der Skalierung um k = 5 Stellen der Quantisierungsfehler deutlich kleiner ist.
-
Die Verarbeitungsstufen 44 in der Signalverarbeitungseinheit 32 sind jeweils für eine bestimmte Aufgabenstellung konzipiert, und die Datenstruktur der zu verarbeitenden und zu speichernden Daten ist in ihren Grundzügen im voraus bekannt. Es kann deshalb für jede einzelne Verarbeitungsstufe 44 individuell festgelegt werden, mit welcher Variante des erfindungsgemäßen Verfahrens gearbeitet werden soll. Wenn ein großer Dynamikbereich gefordert ist, wird man q erhöhen. Wenn der erwartete Dynamikbereich kleiner ist, kann man p erhöhen und dadurch eine größere Genauigkeit erreichen. In bestimmten Fällen kann es auch zweckmäßig sein, mit einer größeren Basis, beispielsweis b = 4 oder b = 8, zu arbeiten, wobei die Basis vorzugsweise eine Zweierpotenz sein sollte.
-
4 illustriert ein Kodierungsverfahren gemäß einem Ausführungsbeispiel der Erfindung. Bei diesem Ausführungsbeispiel gibt k nicht unmittelbar den Exponenten in der Exponentialdarstellung an, sondern k ist lediglich das Argument einer Funktion f(k), deren Funktionswert dann den Exponenten bestimmt. Die Exponentialdarstellung hat somit die Form:
wobei die Mantisse hier mit m* bezeichnet ist.
-
In 4 sind Beispiele für Wertetabellen 58, 60, 62, 64 gezeigt, die jeweils eine andere Funktion f definieren. Bei den Wertetabellen 58, 60 und 62 ist die Zuordnung der Funktionswerte bzw. der daraus gebildeten Potenzen bf(k) zu den Argumenten k explizit angegeben.
-
Der Vorteil dieses Verfahrens besteht darin, dass man auch bei einer gegebenen Länge q = 2 des zu speichernden Arguments k nicht auf die vier niedrigsten Potenzen 4°, 4-1, 4-2 und 4-3 beschränkt ist (wie in der Wertetabelle 58), sondern wahlweise auch einen anderen Satz von vier Viererpotenzen verwenden kann, wie als Beispiel in den Wertetabellen 60 und 62 gezeigt ist. Die Auswahl der Funktion f und der zugehörigen Wertetabelle kann sich dann danach richten, welcher Satz von Potenzen am besten zu der erwarteten oder vorgefundenen Struktur der zu speichernden Daten passt. Dies wird im folgenden noch näher erläutert.
-
In dem Speicher 40 sind die Daten in diesem Beispiel in verschiedenen Datenblöcken 66, 68, 70 abgelegt, und zu jedem Datenblock ist zusätzlich ein Zeiger 72 gespeichert, der auf eine der Wertetabellen 58 - 64 verweist. Die Daten in jedem Datenblock werden mit der Funktion f kodiert und dekodiert, die durch den Zeiger 72 angegeben wird.
-
In 5 ist ein zu speichernder Datensatz 74 gezeigt, der in diesem vereinfachten Beispiel nur aus fünf Bitfolgen besteht, die jeweils eine Länge von 22 Bit haben. Der Dynamikumfang beträgt in diesem Beispiel allerdings nur 14 Bit, da alle niedrigerwertigen Bits 0 sind. Die ersten drei Bitfolgen entsprechen reellen Zahlen in der Größenordnung 2°, während die beiden letzten Bitfolgen kleinere Zahlen in der Größenordnung von 2-4 bzw. 2-6 angeben.
-
Weiterhin sind in 5 drei Tabellen 76, 78, 80 gezeigt, die jeweils die Exponentialdarstellung mit einer der in 7 gezeigten Funktionen f repräsentieren. Die jeweils zugehörigen Wertetabellen 58, 60 und 62 sind in 8 ebenfalls angegeben.
-
Um zu prüfen, wie gut sich beispielsweise die Exponentialdarstellung gemäß Tabelle 76 für den Datensatz 74 eignet, kann man nun für jede Bitfolge in dem Datensatz 74 eine Zeile aus der Tabelle 76 auswählen, mit der sich die von 0 verschiedenen Bits bestmöglich abdecken lassen. Die auf diese Weise abgedeckten Bits sind in dem Datensatz 74 durch einen Rahmen 82 gekennzeichnet. Man sieht, dass die erste Bitfolge vollständig mit der Zeile k = 0 abgedeckt werden kann und die letzte Bitfolge vollständig mit der Zeile k = 3 abgedeckt werden kann. Bei den drei anderen Bitfolgen gehen jeweils einige niederwertige Bits verloren.
-
Wenn man nun die gleiche Prozedur mit den Tabellen 78 und 80 wiederholt, so wird man sehen, dass bei diesen Tabellen der insgesamt eintretende Datenverlust größer ist. Zur Kodierung des Datensatzes 74 würde man deshalb die Funktion f auswählen, die durch die Wertetabelle 58 definiert ist (Tabelle 76).
-
Analog zeigt 6 ein Beispiel eines Datensatzes 84, der am besten mit der Wertetabelle 60 (Tabelle 78) abgebildet werden kann, und 7 zeigt ein Beispiel eines Datensatzes 86, der am besten mit der Wertetabelle 62 abgebildet werden kann (Tabelle 80).
-
Als Kriterium für die Auswahl der am besten geeigneten Funktion f kann ein Fehlermaß berechnet werden, beispielsweise die Summe der Quantisierungsfehler, die mittlere quadratische Abweichung, etc..
-
8 zeigt einen umfangreicheren Datensatz 88 mit insgesamt zwanzig Bitfolgen. Diese Bitfolgen sind zumindest grob nach abnehmender Größe der reellen Zahlen geordnet, die durch die Bitfolge repräsentiert werden. Dies entspricht einer Situation, die in der Praxis häufig anzutreffen ist. Beispielsweise könnten die Bitfolgen die Amplituden von empfangenen Radarechos mit zunehmenden Frequenzen und entsprechend zunehmenden Objektabständen repräsentieren. Die Sortierung nach fallenden Größen ergibt sich dann automatisch aufgrund der Tatsache, dass die Radarechos mit zunehmendem Objektabstand schwächer werden.
-
Um den Speicherbedarf zu minimieren und/oder die Genauigkeit zu verbessern ist es nun zweckmäßig, einen solchen geordneten oder teilgeordneten Datensatz in einzelne Blöcke 90, 92, 94 aufzuteilen und für jeden Block diejenige Funktion f auszuwählen, die an die Datenstruktur dieses Blockes am besten angepasst ist. Beispielsweise würde man für den Block 90 eine Funktion f wählen, in deren Wertebereich vorwiegend niedrige Viererpotenzen auftreten, während man für den Block 94 eine Funktion wählen würde, in deren Wertebereich vorwiegend hohe Viererpotenzen auftreten, so dass man die in allen Bitfolgen in Block 94 auftretenden führenden Nullen bzw. Einsen wegskalieren kann.
-
Wenn das Einsatzgebiet des Radarsensors bekannt ist, kann die Auswahl der Funktion f oder der Funktionen f für verschiedene Blöcke ebenso wie die zu verwendende Basis (p = 4 oder höher) und die Länge p der Mantisse und die Länge q des Arguments k vor Inbetriebnahme des Radarsensors festgelegt werden. In einer anderen Ausführungsform ist es jedoch auch möglich, diese Parameter während des Betriebs des Radarsensors dynamisch auf der Basis der aktuell zu verarbeitenden Daten anzupassen.
-
Statt die Funktionen f mit Hilfe vordefinierter und gespeicherter Wertetabellen 58, 60, 62 zu definieren, ist es in einer anderen Ausführungsform auch möglich, die jeweils anzuwendende Funktion f unmittelbar während der Datenkompression zu generieren, indem diejenigen Viererpotenzen ausgewählt werden, mit denen sich die signifikanten Bits in den zu komprimierenden Bitfolgen am besten abdecken lassen.
-
Beispielsweise kann die Auswahl oder Erzeugung der Funktionen f auf der Basis einer statistischen Analyse erfolgen, bei der anhand der zu speichernden Bitfolgen ein Histogramm erstellt wird, das für jede Potenz e der Basis b die Anzahl n der Bitfolgen angibt, deren höchstes signifikantes Bit (nach Streichen der führenden Einsen oder Nullen) in dem Intervall zwischen b-e und b-e-1 liegt. Beispiele für solche Histogramme sind in 9 und 10 gezeigt. In 9 liegen die Werte der höchsten signifikanten Bits entweder im Bereich von b0 bis b-1 oder im Bereich von b-5 bis b-7. Da mit einem Argument k der Länge 2 aber nur vier verschiedene Potenzen angegeben werden können, werden unter den überhaupt auftretenden Potenzen die vier niedrigsten ausgewählt, in diesem Beispiel b0, b-1, b-5 und b-6. Bitfolgen, deren signifikante Bits bei b-7 beginnen, werden in der Form m b-6 kodiert, wobei ein gewisser Datenverlust in Kauf genommen werden muss.
-
10 zeigt ein Beispiel, bei dem die höchsten signifikanten Bits entweder im Bereich von b-3 bis b-5 oder bei b-9 liegen. Folglich werden in diesem Fall die Potenzen b-3, b-4, b-5 und b-9 ausgewählt.
-
11 zeigt ein Blockdiagramm einer Signalverarbeitungseinheit 32', bei der die Parameter für die Datenkompression dynamisch angepasst werden können. Zwischen der Eingangsstufe 36 und der Kompressionsstufe 38 ist hier ein Statistikmodul 96 eingefügt, das an den von der Eingangsstufe 36 empfangenen Daten eine statistische Analyse vornimmt, beispielsweise durch Erstellung von Histogrammen der in 12 und 13 gezeigten Art. Gegebenenfalls erfolgt in diesem Statistikmodul 96 auch eine Aufteilung des zu speichernden Datensatzes in Blöcke mit ähnlicher Datenstruktur. Die Ergebnisse der statistischen Analyse für den kompletten Datensatz oder für den gerade betrachteten Block werden dann an ein Auswahlmodul 98 übergeben, das die Wertetabelle für die anzuwendende Funktion f sowie ggf. die optimalen Parameter p und q und gegebenenfalls auch die Basis b bestimmt, wenn diese größer sein soll als 4. Die vom Auswahlmodul 96 bestimmten Parameter (und Funktionen) werden an die Kompressionsstufe 38 übergeben und dort zur Datenkompression verwendet.
-
Die komprimierten Daten werden dann zusammen mit den verwendeten Parametern (oder einem Zeiger auf den verwendeten Parametersatz) blockweise im Speicher 40 abgelegt.
-
In dem bisher beschriebenen Verfahren wurde nur die Kodierung reeller Zahlen betrachtet. Es versteht sich jedoch, dass das Verfahren auch für komplexe Zahlen angewandt werden kann, da sich jede komplexe Zahl durch zwei reelle Zahlen ausdrücken lässt, beispielsweise durch ihren Realteil und ihnen Imaginärteil oder auch durch ihren Betrag und die Phase. Das oben beschriebene Kodierungsverfahren kann dann zur Kodierung jeder oder mindestens einer der beiden reellen Zahlen verwendet werden, die die komplexe Zahl repräsentieren.
-
Z.B. kann man für den Betrag die Exponentialdarstellung und für die Phase eine Festkommadarstellung verwenden. In vielen Anwendungsfällen in einem Radarsensor ist diese Repräsentation komplexer Zahlen besonders vorteilhaft, weil bei der Datenauswertung häufig eine Phasenkompensation erforderlich ist, die sich bei der Darstellung der komplexen Größen durch Betrag und Phase zu einer einfachen Addition der Phasen vereinfacht. Anwendungsbeispiele sind etwa die Phasenkompensation bei einem Radar mit synthetischer Apertur (SAR = Synthetic Aperture Radar) oder auch die Phasenkompensation bei Radarsensoren mit OFDM-Modulation.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 9541637 B2 [0009]
- WO 2015/185058 A1 [0009]