Korrelator in VHDL

Gast #1018146
Hallo,

ich habe ein bekanntes Signal das ich mit einem empfangenen Signal 
korrelieren möchte. Wenn es möglich ist sollte der Korrelationswert 
jeden Takt ausgegeben werden. Mein Problem ist nun, wenn ich 
beispielsweise annehme, dass das bekannte Signal aus 100 Werten besteht, 
dann brauche ich ja 100 parallele Multiplizierer. Wie kann man sowas in 
VHDL realisieren (synthetisierbar)?
Hat jemand ein Beispiel oder einen Tipp?
Gast
Die 100 Eingangsdaten mit einer Frequenz X_CLK in einem FIFO (doppelt so 
tief wie der zu verabeitende Datensatz) zwischenpuffern und 
anschliessend (wenn FIFO half-full) mit einem 10-Kanal Korrelator (der 
jetzt natürlich mit 10*X_CLK arbeitet) die Daten prozessieren.
Gruss,Ben
Gast
Kommt auf das Signal drauf an, für 1-bit Daten kannst auch 1000 
Multiplikatoren bauen, die sind recht günstig. Double precision floats 
sind ungleich teurer...
Gast
Falls es sich um ein 1-bit breites Signal handelt, kannst du deine 
Multiplier durch AND-Gates ersetzen und den nachfolgenden 
Kanalakkumulator durch einen Zähler.
Wie mein Vorredner schon bemerkte, ist die Art des Eingangssignals (und 
somit seine Darstellung) nicht ganz unwichtig. Wo soll die Geschichte 
den eingesetzt werden ?
Gast
Such dir einen FPGA mit ausreichend vielen Multiplizierern, z.B.
XC5VSX35T mit 192 Multiplizierern oder XC3SD3400A mit 126 Multis.

Der XC5VSX240T hat übrigens über 1000 Multis, das ist heutzutage kein 
Prob mehr.

Wie breit sind den Deine Faktoren? bei kurzen Faktoren kannst du zwei 
Multiplikationen im selben Takt mit einem Multi rechnen.
Gast
Das ist aber eine ordentliche Reousrceverschwendung. Ich würde 
ersteinmal profen, ob ich das nicht zyklisch mit multiplexten MULs 
machen kann: Bei 52MHz ginge ja wenigstens mal Faktor 3 auf einem 
Stratix (156MHz).
Gast
NunJa, unbenutzt verbleibende Multis sind auch Verschwendung.

3 als faktor ist ein wenig krumm und da der nächstkleinere Stratix 
EP2S30 schon 64 Multis mitbringt, sollte Takt-Verdopplung wenn überhaupt 
ausreichen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.