an Mathefreaks suche Hilfe bei FHT

OP #2556480
Lesenswert?

Hi Mathefreaks

Ich arbeite schon länger mit MLS=Maximum Length Sequence, das sind per 
LFSR=Linear Feedback Shift Register erzeugte Bitsequenzen ähnlich wie 
denen bei CRCs.

Mit diesen MLS moduliere ich Signale eines Senders (zB. Audio) und 
korreliere auf Empfängerseite per FHT=Fast Hadamard Transformtion den 
Empfangsdatenstrom, quasi wie ein Matched Filter. Mich interessiert 
dabei nur das Vorhandensein dieser Signale im empfangenen Signal.

Mit der FHT reduziert sich der Aufwand der Korrelation von O(n^2) auf 
O(n*ln(n)) also wie bei einer FFT=Fast Fourier Transformation.

Wie man eine einzelne MLS per FHT korreliert ist mir klar.

Jetzt gibt es sogenannte JPL-Codes. Das sind binäre Codes die aus zwei 
oder mehreren MLS per modulo-2 Operation verknüpft werden. Bsp: eine MLS 
mit 31Bit=2^5-1 und eine zweite MLS mit 127Bit=2^7-1 werden synchron per 
LFSR erzeugt und deren Outputbits per XOR Operation verknüpft. Es 
entsteht eine PRNG Sequenz die 31x127Bit lang ist und die ähnliche 
Korrelationseigenschaften aufweisen wie normale MLS. Auf alle Fälle sind 
beide MLS orthogonal zueinander.

Mein Problem ist nun die Matheamtik der 1D-FHT (eine FHT für eine MLS) 
in eine 2D-FHT (eine FHT für 2 MLS wie bei JPL-Codes) zu überführen.
Im Gegensatz zu den "2D-FHTs" die man aus der Bildbearbeitung kennt, zb. 
digitale Wasserzeichen, meine ich eine reale 2D-FHT.

Vereinfachtes Beispiel:

Nehmen wir mal an wir hätten folgende zwei Codes:

3Bit "+--"
2Bit "+-"

und vernachlässigen dabei deren orthogonale Eigenschaften wie bei MLS 
vorhanden. Die binäre Sequenz wird bipolar dargestellt durch 0=-1 und 
1=+1, also wir betrachten nur das Vorzeichen.

Ein JPL Code (abhängig vom Startwert) sähe dann so aus:

012012
+--+--
010101
+-+-+-
modulo-2 Ergebnis (Multiplikation von +1,-1)
++---+

Also 3*2=6Bits, als Tabelle so:

   +--
   012
+0 +--
-1 -++

in den Zeilen die 3Bit Sequenz und den Spalten die 2Bit Sequenz. Durch 
Multiplikation mit dem Vorzeichen der Zeilen mit den Spalten, und 
umgekehrt, erhält man dann wieder die originalen Sequenzen.

Die Tabelle lässt sich einfach sequentiell füllen mit zwei modularen 
Zählern für mod 2 und mod 3 und dem empfangenen Signal:

S: ++---+
X: 012012
Y: 010101

in Spalte/Zeile=X/Y=0/0 der Tabelle ein +
in Spalte/Zeile=X/Y=1/1 der Tabelle ein +
in Spalte/Zeile=X/Y=2/0 der Tabelle ein -
in Spalte/Zeile=X/Y=0/1 der Tabelle ein -

usw. usw.

Ich weiß nun wie ich eine FHT konstruiere für den 3Bit und 2Bit Code für 
sich alleine, möchte aber nun eine FHT Matrix konstruieren die in einem 
beide Codes korrelieren kann. An Hand dessen das beide Codes zueinander 
orthogonal sind, die Codes in sich orthogonal sind denke ich das man das 
mit der FHT korrelieren kann. Ich muß aber die Matrizen der beiden FHTs 
in eine mehrdimensionale Matrix überführen, und daran scheitere ich.

Hintergrund der Sache ist natürlich die Performance des Systems. 
Angenommen man benutzt einen JPL Code aus 2 MLS a 127*1023Bits = 129921 
Bits. Nimmt man eine normale sequentielle Korrelation dann benötigen wir 
129921^2=1.7e10 Operationen. Bestcase wären O(N*Ln(N)) = 1.5e6 
Operationen.

Mit "zerstückelten" FHTs für beide MLS Codes wären es 896*1023 + 
11264*127 = 2347136 statt wie im Bestcase 1529778 Operationen. Ein 
weiteres Manko dieser "gestückelten" Vorgehensweise ist es das man den 
Gesamtcode quasi in jweiles 127 und 1023 Akkumulatoren über 127*1023 
Bits aufkummuliert und dann erst 2x FHTs durchführt, wie beim 
Longranging System der amerikanischen Raumsonden Phoebos usw. Man 
erreicht also nur einen Bruchteil des maximal erreichbaren SNRs bei 
dieser Vorgehensweise.

Würde man dagegen eine mehrdimensionale FHT bauen können mit den oben 
beschriebenen Komplexitäten dann würde sich das Verfahren im SNR 
drastisch verbessern lassen.

Ich weiß das meine Informationen bischen dürftig sind, meine aber das 
sich in einer gemeinsammen Diskussion viele Sachen besser entwickeln 
lassen.

Gruß Hagen
Persönliche Seite #2558857
Lesenswert?

Hagen Re schrieb:

> Ich arbeite schon länger mit MLS=Maximum Length Sequence, das sind per
> LFSR=Linear Feedback Shift Register erzeugte Bitsequenzen ähnlich wie
> denen bei CRCs.

Sind diese Sequenzen immer gleich und werden quasi als Kennung 
verwendet, oder werden die Sequenzen verwendet, um Nutzdaten zu 
spreizen/falten/codieren/wie-auch-immer wie etwa beim CRC?
OP #2559030
Lesenswert?

Das sind schon die Nutzsignale. Es geht nur darum das Vorhandensein 
dieser Sequenzen im empfangenen Signalgemisch zu verifizieren und eben 
den Phasenshift (Index des Peakwerts der Korrelation) zu ermitteln. Die 
exakte Sequenz wird permanet lückenlos wiederholt.

Gruß hagen
Persönliche Seite #2560466
Lesenswert?

Richard P. Feynman schrieb:

>> We could, of course, use any notation we want; do not laugh at
>> notations; invent them, they are powerful.  In fact, mathematics
>> is, to a large extent, invention of better notations.

Die meisten Darstellungen von LFSR bzw. CRC, die sich im Web finden, 
lesen sich wie Programmieranleitungen: "Schiebe dies dahin und mache XOR 
dort und teste jenes Bit da drüben".

Mathematisches Werkzeug ist bei so einer Algorithmen-zentrierten 
Sichtweise wohl eher holprig, und statt dem Programmier-Rezept kann man 
diese Sequenzen auch anders darstellen:

Nimm F_2, den Körper mit 2 Elementen, und konstruiere darau einen Körper 
mit 2^n Elementen, F_2^n:
Die Konstruktion ist analog zu Konstruktion der Komplexen Zahlen aus den 
Reellen:
F_2^n hat Körpergrad n über F_2 und ist — ebenso wie C — bis auf 
Isomorphie eindeutig bestimmt.

Die multiplikative Gruppe des Körpers ist zyklisch: Ist a ein Erzeuger, 
dann hat die Folge {a^k}_k also Periode 2^n-1, und durch Projektion von 
a^k nach F_2 erhält man eine pseudo-zufällige (Bit)folge. Eine einfache 
Projektion wäre zum Beispiel die Spur eines Elements oder
Damit ist die MLS dargestellt als
und die Summe zweier MLS als
Vielleicht ist diese Darstellung ja hilfreich, weil sie nur aus recht 
simplen Operationen besteht und so die Summenfolge einer weitere Analyse 
zugänglich macht.

Für die Länge der Periode der kombinierten Sequenz gilt offenbar

> Wie man eine einzelne MLS per FHT korreliert ist mir klar.

Ist das eine Faltung?

Inwieweit geht da ein, daß MLS Periode 2^n-1 hat?
Was wäre, wenn die Periode 2^n+3 wäre? Oder ist dann das "F" in FHT 
hinfällt, analog zum "F" in FFT wenn kein 2^n-Paket vorliegt?
OP #2561123
Lesenswert?

Hi Johann:

Johann L. schrieb:
> Für die Länge der Periode der kombinierten Sequenz gilt offenbar...

Deine Ausführungen sind korrekt. Die JPLCodes haben eine effektive Länge 
die sich multiplikativ aus den Längen der einzelnen MLS ergibt. Diese 
Längen der Einzeln-MLS sind per Definition teilerfremd zueinander und 
maximal-Längen Sequenzen.

1. Frage:

Wenn ich zwei solcher MLS so wie bei den JPL Codes modulo-2 verküpfe 
sind diese Codes dann insich immer noch orthogonal ?

Wenn nämlich nicht, dann brauch ich garnicht weiter machen da dies eine 
Bedingung für den Weg der Korrelation dieser Sequenzen über die FHT ist.

>> Wie man eine einzelne MLS per FHT korreliert ist mir klar.
>
> Ist das eine Faltung?

Ja.

> Inwieweit geht da ein, daß MLS Periode 2^n-1 hat?

Komplett ;) Die FHT expandiert diese 2^n-1 um +1 auf 2^n. Es wird eine 
Matrix erzeugt, Shifted Version der MLS in den Spalten und Zeilen die 
(2^n-1)^2 groß ist. Diese Matrix ist in den Spalten und Zeilen immer 
orthogonal. Dann wird diese Matrix um eine Spalte und Zeile mit +1 
expandiert und so eine (2^n)^2 Matrix erzeugt. Nun wird diese Matrix in 
den Spalten und Zeilen so umsortiert das daraus eine Hadarmard/Walsh 
konforme Matrix wird. Dann wird diese Matrix faktorisiert so das man 
zwei Vektoren erechnen kann die die Permutationsverktoren darstellen mit 
denen man vor und nach der FHT-Butterfly den Bitstrom der MLS 
umsortiert. Dann wendet man den Butterfly Algorithmus (nur Additionen) 
an und fertig ist die Korrelation.

> Was wäre, wenn die Periode 2^n+3 wäre? Oder ist dann das "F" in FHT
> hinfällt, analog zum "F" in FFT wenn kein 2^n-Paket vorliegt?

Dieser Fall tritt nicht ein, die MLS sind immer 2^n-1 Bits groß und in 
der FHT wird diese um +1 Bit expandiert auf 2^n.

Das habe ich ja auch schon alles am Laufen, meine sogar das ich ein 
besseres Verfahren entwickelt habe um die Permutationsvektoren live 
berechnen zu können als das was ich in der einschlägigen Literatur 
gefunden habe. Normalerweise wird in der Literatur immer die 
Faktorisation der Matrix beschrieben und umständlich diese 
Permutationsvektoren erechnet. Diese Vektoren werden dann einmalig 
vorausberechnet und im Speicher abgelegt. Mein Verfahren erechnet diese 
Vektoren direkt zur Laufzeit der FHT und das mit sehr wenigen 
Operationen. Meine Feststellung ist nämlich das diese 
Permutationsvektroren aus dem inversen Polynom zu dem benutzen Polynom 
der MLS direkt berechenbar ist. Dh. man benötigt nur ein LFSR mit 
inversem Polynom um direkt diese Permutationstabelle zu berechnen.

Mein Problem setzt jetzt aber auf all dies auf. Statt die FHT nur für 
eine MLS durchzuführen möchte ich diesen FHT Algorithmus so umbauen das 
er auf einer zusammengesetzten Sequenz, eg. JPL-Code, funktioniert. 
Nehmen wir mal einen JPL Code aus zwei MLS zusammengesetzt an.

MLS #1 -> 2^5-1 = 31 Bit
MLS #2 -> 2^7-1 = 127 Bit

Die Gesamtlänge ergibt sich zu 31*127 Bit. Die bei JPL haben für ihr 
Longranging System der Deepspace Raumsonden folgenden Weg beschritten:

2 Akkumulatoren-Arrays aus jeweils 31 und 127 Registern. Addiere die 
sequentiell empfangene Gesamtsequenz jeweils 31x in das 127'er Register 
und 127x in das 31'er Register, jeweils mit modularen Addresszählern von 
mod 127 und mod 31. Mache nach 31x127 Takten zwei Korrelationen, jeweils 
eine für das 31'er und 127'er Register, fertig.

Auch das habe ich so schon nachgebaut und es funktioniert. Ich benötige 
per FHT für das 31'er Register (2^5-1) -> FHT expandiert +1 Bit -> 2^5*5 
= 160 Additionen und für das 127'er register 2^7*7=896 Additionen. Für 
die beiden Akkumulatoren benötigt man 31x127 Additionen. Das ist schon 
eine ziemlich gute Komplexität der Korrelation für eine solch lange 
Sequenz.

Wenn es nun einen FHT Algorithmus gäbe der beide Korreationen vereinen 
kann in einer Butterfly dann sollte dieser effizienter sein als die zwei 
einzelnen FHT.

Und exakt danach suche ich. Es gäbe da für mich zwei Möglichkeiten:

1. das JPL Prinzip mit den Akkumulatoren (eg. Integratoren) und als 
Abschluß statt 2'mal separate FHTs in einer einzigen

2. eine FHT die über die kompletten 31x127 Datenstrom arbeitet und ohne 
Akkumulatoren auskommt, statt dessen sitzen diese Akkumulatoren ja dann 
in dieser FHT als Operation.

Das Problem mit den Akkumulatoren ist das ich meine das der sich 
ergebende SNR geringer ist als die komplette Sequenz zu korrelieren. 
Weil eben pro Eintrag im 31'er Register eben 127 Werte des Signalstromes 
aufsummiert werden statt per Korrelation kreuzkorreliert.

Angenommen unsere Sequenz bestünde nur aus +1 und -1. Nach einem Umlauf 
von 31x127 Werten der Sequenz stünde dann im 31'er und 127'er Register 
wieder nur Werte von +1 und -1, logisch. Dh. die Werte in unseren beiden 
Akkumulatoren-Registern sind durch die Bank weg +1,-1 obwohl wir jeweils 
127 oder 31 Samples der Sequenz aufsummiert haben pro Register.

Mein Problem ist das ich keinen FHT Algorithmus kenne der solch 
zusammengesetzte JPL Codes korrelieren kann, noch weiß ich wie ich 
mathematisch die normale FHT in die höhere Dimension bekommen kann, da 
versagt mein Wissen.

Gruß Hagen

PS: sorry, mir fällt es sehr schwer mich mathematisch korrekt 
auszudrücken ;)
Persönliche Seite #2565252
Lesenswert?

Hagen Re schrieb:

Da ich von Signalverarbeitung keinen Plan hab, versuch ich mich erst
mal reinzudenken; nicht ganz einfach mit den zig Abkürzungen die da
rumwirbeln:

Die n Walsh-Funktionen der Ordnung 2^n bilden ein Fundamentalsystem von
V = (F_2)^n. Die Hadamard-Trafo bildet ein Element von V auf dessen 
Koordinaten bezüglich der W-Funktionen ab. Soweit richtig?

> 1. Frage:
>
> Wenn ich zwei solcher MLS so wie bei den JPL Codes modulo-2 verküpfe
> sind diese Codes dann insich immer noch orthogonal?

Wie ist denn Orthogonalität hier definiert?
Die beiden Folgen haben doch unterschiedliche (Perioden)Längen.

> Wenn nämlich nicht, dann brauch ich garnicht weiter machen da dies eine
> Bedingung für den Weg der Korrelation dieser Sequenzen über die FHT ist.

Die H-Trafo ist doch linear, d.h. insbesondere H(a+b) = H(a)+H(b).
Dies gilt doch unabhängig davon, wie das Ursprungssignal gebastelt 
wurde?

>> Inwieweit geht da ein, daß MLS Periode 2^n-1 hat?
>
> Komplett ;) Die FHT expandiert diese 2^n-1 um +1 auf 2^n. Es wird eine
> Matrix erzeugt, Shifted Version der MLS in den Spalten und Zeilen die
> (2^n-1)^2 groß ist. Diese Matrix ist in den Spalten und Zeilen immer
> orthogonal. Dann wird diese Matrix um eine Spalte und Zeile mit +1
> expandiert und so eine (2^n)^2 Matrix erzeugt. Nun wird diese Matrix in
> den Spalten und Zeilen so umsortiert das daraus eine Hadarmard/Walsh
> konforme Matrix wird. Dann wird diese Matrix faktorisiert so das man
> zwei Vektoren erechnen kann die die Permutationsverktoren darstellen mit
> denen man vor und nach der FHT-Butterfly den Bitstrom der MLS
> umsortiert. Dann wendet man den Butterfly Algorithmus (nur Additionen)
> an und fertig ist die Korrelation.

Das müsste man aufdröseln in den Teil, der notwendig ist für eine 
effektive Implementierung, und den "theoretischen" Teil, d.h. was wird 
wirklich an Voraussetzungen an die zu transformierenden Vektoren 
gemacht.

MSL haben zB bestimmte Voraussetzungen an der Anzahl der 1en und 0en und 
wie oft 11er etc. vorkommen. Ich sehe an keiner Stelle, wo dies benötigt 
wird um eine H-Trafo zu machen.

Diese Voraussetzung zielt wohl eher in Richtung inwieweit die MLS für 
signaltechnische Anwendungen taugt, aber nicht, inwieweit die Sequenz 
mit den Methoden der Signalverarbeitung verwurstet werden kann.

>> Was wäre, wenn die Periode 2^n+3 wäre? Oder ist dann das "F" in FHT
>> hinfällt, analog zum "F" in FFT wenn kein 2^n-Paket vorliegt?
>
> Dieser Fall tritt nicht ein, die MLS sind immer 2^n-1 Bits groß und in
> der FHT wird diese um +1 Bit expandiert auf 2^n.
>
> Das habe ich ja auch schon alles am Laufen, meine sogar das ich ein
> besseres Verfahren entwickelt habe um die Permutationsvektoren live
> berechnen zu können als das was ich in der einschlägigen Literatur
> gefunden habe. Normalerweise wird in der Literatur immer die
> Faktorisation der Matrix beschrieben und umständlich diese
> Permutationsvektoren erechnet. Diese Vektoren werden dann einmalig
> vorausberechnet und im Speicher abgelegt. Mein Verfahren erechnet diese
> Vektoren direkt zur Laufzeit der FHT und das mit sehr wenigen
> Operationen. Meine Feststellung ist nämlich das diese
> Permutationsvektroren aus dem inversen Polynom zu dem benutzen Polynom
> der MLS direkt berechenbar ist.

Was ist denn ein "inverses Polynom". Sowas wie
wenn p das erzeugende Polynom ist?

> Dh. man benötigt nur ein LFSR mit inversem Polynom um direkt diese
> Permutationstabelle zu berechnen.

> Mein Problem setzt jetzt aber auf all dies auf. Statt die FHT nur für
> eine MLS durchzuführen möchte ich diesen FHT Algorithmus so umbauen das
> er auf einer zusammengesetzten Sequenz, eg. JPL-Code, funktioniert.
> Nehmen wir mal einen JPL Code aus zwei MLS zusammengesetzt an.
>
> MLS #1 -> 2^5-1 = 31 Bit
> MLS #2 -> 2^7-1 = 127 Bit
>
> Die Gesamtlänge ergibt sich zu 31*127 Bit. Die bei JPL haben für ihr
> Longranging System der Deepspace Raumsonden folgenden Weg beschritten:
>
> 2 Akkumulatoren-Arrays aus jeweils 31 und 127 Registern. Addiere die
> sequentiell empfangene Gesamtsequenz jeweils 31x in das 127'er Register
> und 127x in das 31'er Register, jeweils mit modularen Addresszählern von
> mod 127 und mod 31. Mache nach 31x127 Takten zwei Korrelationen, jeweils
> eine für das 31'er und 127'er Register, fertig.

Das Prinzip ist folgendes:

Man hat eine Folge a der Länge La und eine Folge B der Länge Lb,
und · bezeichne n-faches Wiederholen einer Folge.

Übertragen wird eine Folge der Länge La*Lb, nämlich

a·b := La·b + Lb·a

Wie bereits oben geschrieben, handelt es sich bei XOR um eine Addition; 
zumindest kann es so aufgefasst werden wenn man die Darstellung günstig 
wählt.

Weil die H-Trafo linear ist, kann man einfach La mal die H-Trafo von b 
addieren, also quasi übereinanderlegen.

Ziel der Trafo, ist es ja eine Korrelation zu erkennen, und wenn man 
nach der Korrelation für b sucht, hat man ein fieses Störsignal darauf, 
nämlich a. Allerdings weiß man, daß a Periode La hat, die Teilerfremd zu 
Lb ist. Beim Überlagern der La Stücke von b wird das Störsignal genau Lb 
mal durchlaufen, und zudem fängt es jedesmal an einem anderen Offset an.

Insgesamt führt dies dazu, daß a nur einen zeitkonstanten Beitrag 
liefert und so in der H-Trafo nicht auffällt. War übrig bleibt ist 
effektiv die die H-Trafo von b.

Ditto für a.

> Auch das habe ich so schon nachgebaut und es funktioniert. Ich benötige
> per FHT für das 31'er Register (2^5-1) -> FHT expandiert +1 Bit -> 2^5*5
> = 160 Additionen und für das 127'er register 2^7*7=896 Additionen. Für
> die beiden Akkumulatoren benötigt man 31x127 Additionen. Das ist schon
> eine ziemlich gute Komplexität der Korrelation für eine solch lange
> Sequenz.

Hier versteh ich nicht, warum das funktioniert. Beim Aufblasen auf 2^n 
werden doch Nullen eingestreut, die zwar der betrachteten Komponente 
nicht schaden, aber bei der überlagerten Komponente werden doch ziellos, 
d.h. nicht-periodisch Nullen eingestreut?

Oder hab ichn Denkfehler?

> Wenn es nun einen FHT Algorithmus gäbe der beide Korreationen vereinen
> kann in einer Butterfly dann sollte dieser effizienter sein als die zwei
> einzelnen FHT.
>
> Und exakt danach suche ich. Es gäbe da für mich zwei Möglichkeiten:
>
> 1. das JPL Prinzip mit den Akkumulatoren (eg. Integratoren) und als
> Abschluß statt 2'mal separate FHTs in einer einzigen

Aber welche Dimenson sollte die haben?
Ich seh hier nicht wie man das sonst aufdröseln kann, da man ja immer 
das Rauschen der zweiten Komponente eliminieren muss.

> 2. eine FHT die über die kompletten 31x127 Datenstrom arbeitet und ohne
> Akkumulatoren auskommt, statt dessen sitzen diese Akkumulatoren ja dann
> in dieser FHT als Operation.

Was immer "Akkumulatoren" sind. Wahrscheinlich implementatorische 
NitPicks, deren Details eher zu Aus- und Abschweifung führen-...

> Das Problem mit den Akkumulatoren ist das ich meine das der sich
> ergebende SNR geringer ist als die komplette Sequenz zu korrelieren.
> Weil eben pro Eintrag im 31'er Register eben 127 Werte des Signalstromes
> aufsummiert werden statt per Korrelation kreuzkorreliert.

Was ist SNR?

Wie gesagt: Nach obiger Darstellung erscheint die eine Folge bei der 
Analyse der anderen quasi als Rauschen.
OP #2565302
Lesenswert?

Johann L. schrieb:

> Die n Walsh-Funktionen der Ordnung 2^n bilden ein Fundamentalsystem von
> V = (F_2)^n. Die Hadamard-Trafo bildet ein Element von V auf dessen
> Koordinaten bezüglich der W-Funktionen ab. Soweit richtig?

Korrekt.

> Was ist denn ein "inverses Polynom" ?

Das Polynom das die gleiche Sequenz erzeugt nur rückwärts.

> Das Prinzip ist folgendes:
>
> Man hat eine Folge a der Länge La und eine Folge B der Länge Lb,
> und · bezeichne n-faches Wiederholen einer Folge.
>
> Übertragen wird eine Folge der Länge La*Lb, nämlich
>
> a·b := La·b + Lb·a
>
> Wie bereits oben geschrieben, handelt es sich bei XOR um eine Addition;
> zumindest kann es so aufgefasst werden wenn man die Darstellung günstig
> wählt.
>
> Weil die H-Trafo linear ist, kann man einfach La mal die H-Trafo von b
> addieren, also quasi übereinanderlegen.

> Ziel der Trafo, ist es ja eine Korrelation zu erkennen, und wenn man
> nach der Korrelation für b sucht, hat man ein fieses Störsignal darauf,
> nämlich a. Allerdings weiß man, daß a Periode La hat, die Teilerfremd zu
> Lb ist. Beim Überlagern der La Stücke von b wird das Störsignal genau Lb
> mal durchlaufen, und zudem fängt es jedesmal an einem anderen Offset an.
>
> Insgesamt führt dies dazu, daß a nur einen zeitkonstanten Beitrag
> liefert und so in der H-Trafo nicht auffällt. War übrig bleibt ist
> effektiv die die H-Trafo von b.

Genau das macht JPL in ihren Korrelationen. Sie addieren die komplette 
Sequenz in N Akkumulatoren mit jweils 2^n-1 Elementen und nach vollem 
Umlauf der Sequenz wenden sie die Korrelation der einzelnen 
Componentcodes auf diese Akkumulatoren an. Du hast mich aber dahingehend 
beruhigt bei der Frage ob das schlechter ist als die komplette Sequenz 
zu korrelieren. Ich war nämlich auch schon der Meinung das das 
identische Resultate liefert, in Bezug auf das SNR = Signal to Noise 
Ratio.

> Aber welche Dimenson sollte die haben?
> Ich seh hier nicht wie man das sonst aufdröseln kann, da man ja immer
> das Rauschen der zweiten Komponente eliminieren muss.

Jo das ist mir inzwischen auch klar und die Methode von JPL mit den 
Akkumulatoren ist sowieso die mit der geringsten Rechenkomplexität.

Im Anhang mal was zur FHT das es besser erklären kann als ich.

Auf Seite 5 werden die Matrix R und S dargestellt und diese sind die 
Permutationsvektoren um eine MLS für die FHT benutzen kann. Und die 
Berechnung dieser Vektoren kann man ganz einfach mit dem inversen 
Polynom zur MLS live durchführen. Das inverse Polynom wird errechnet 
indem man das Polynom, dargestellt als Binärwert, die Bitreihenfolge 
spiegelt.

Gruß Hagen
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren