Forum: FPGA, VHDL & Co. Schnelle Signalverarbeitung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich bräuchte mal ein paar Denkanstöße zu folgendem Problem:

Bei langsamen ADC (z.B. über SPI angebunden) bekomme ich alle paar Takte 
ein Sample. Bei schnellen ADC (parallel angebunden) läuft das FPGA auf 
dem Sampletakt und man bekommt pro Takt ein Sample.

In diesen beiden Fällen ist die Realisierung z.B. eines FIR-Filters 
überschaubar.

Nun gibt es ja inzwischen superschnelle ADC, die per GigaBit-SERDES 
angebunden werden, wo man nach dem Empfänger pro Takt mehrere Samples 
auf einmal vorliegen hat.

Mir ist an dieser Stelle nicht klar, wie ich damit einen FIR-Filter 
füttern soll, da ja im nächsten Takt schon wieder das nächste Paket mit 
mehreren neuen Werten vorliegt.

Hat da jemand eine Idee, wie man das realisiert?

von Christian R. (supachris)


Bewertung
0 lesenswert
nicht lesenswert
Naja Streaming wird dann schon sportlich. Aber stückweise in einem 
Busmatching Fifo sammeln und dann mit der internen Taktfrequenz weiter 
verarbeiten geht ja auch wenn die Anwendung das zulässt.

von Valko Z. (hydravliska)


Bewertung
0 lesenswert
nicht lesenswert
Oder du baust ein Multiraten System mit mehreren FIRs auf. Hängt 
wirklich von dem Anwendungsfall ab.

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> Hat da jemand eine Idee, wie man das realisiert?

Indem man auch die Filter zeitlich parallelisiert, d.h. zwei Zeitebenen 
oder mehr realisiert. Als Beispiel kommen 4 Pixel eines Sensors 
gleichzeitig rein, dann musst Du passend buffern und eine Auslese 
erzeugen, die gleichzeitig 4 Pixel prozessieren kann und dabei gfs pro 
Pixel auf 5x5 Pixel zugreifen kann. Das wäre vollparallel.

Bei einem 1D-Datenstrom, wo eine zeitliche Abfolge inbegriffen ist, wäre 
es z.B. so:  D1,D2  /  D3,D4   /  D5,D6

Dann prozessierst Du einmal FIR (D1 ... D5) und FIR (D2 ... D6) 
parallel.

Interessant ist die "Zwischenzeitebene" bei IIR:

Ich habe das irgendwo hier schon mal genauer erörtert. Man bekommt dann 
das, was man in der umgekehrten Betrachtung bei einer Interpolation 
benötigt. Freilich ist es so, dass das einiges an Architektur zur Folge 
hat, was ordentliche pipeline-Längen erzeugt.

Wenn Neu = IIR (Alt, In)  , dann folgt  Neu = IIR ( IIR ( Alt  , In1) , 
In2).

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ok, ich seh schon. Man muss das echt anwendungsbezogen betrachten.
Vielen Dank für den Input!

von Meety (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gibt es zu solchen Spezialthemen Literatur? Ich müsste mich auch damit 
befassen, bin seit knapp zwei Monaten in dem Umfeld HPC tätig. Unser 
Kunde arbeitet mit FPGAs und will Echtzeitsimulation machen.

von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Meety schrieb:
> Gibt es zu solchen Spezialthemen Literatur?

Warum sollte es da keine Literatur geben?
Und hier gibts sogar von denen, die solche Literatur verfassen, dann und 
wann Artikel:

https://www.dsprelated.com/

Gruss
WK

von Weltbester FPGA-Pongo (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Die Jungens dort sind aber eher DPS-lastig und so sehen auch deren 
Lösungen oft aus. Wenn es ums FPGA geht, sehen die Lösungen meistens 
aus, wie gehabt: FPGA + SOPC + Linux + C-Code aus Matlab. Nun ja ...

von Dergute W. (derguteweka)


Bewertung
-2 lesenswert
nicht lesenswert
Moin,

Weltbester FPGA-Pongo schrieb im Beitrag #4814425:
> Wenn es ums FPGA geht, sehen die Lösungen meistens
> aus, wie gehabt: FPGA + SOPC + Linux + C-Code aus Matlab. Nun ja ...

Auch eigenartig:
Wenn ich auf der Suche nach Rezepten zur Zubereitung eines Cheeseburgers 
bin, sehen die Loesungen meistens aus, wie gehabt: Broetchen, 
Hackbulette, Scheibe Kaese, Saucen, diverses Gruenzeug. Nun ja ...

Gruss
WK

von Weltbester FPGA-Pongo (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Wenn ich auf der Suche nach Rezepten zur Zubereitung eines Cheeseburgers
> bin, sehen die Loesungen meistens aus, wie gehabt: Broetchen,
> Hackbulette, Scheibe Kaese, Saucen, diverses Gruenzeug. Nun ja ...

Ich wollte damit nur zum Ausdruck bringen, dass heute überall ohne Not 
und Sinn ein C-basiertes System installiert wird, um dann Dinge zu tun, 
die in VHDL dreimal einfacher gewesen wären und dazu noch schneller.

Hab da auch gerade wieder einen Spezi: NIOS mit Linux auf FPGA, 
Echtzeit-System mit mehreren Datenströmen in Multitaskingbetrieb, um 
letzlich doch nur ein paar duselige IOs "gleichzeitig" zu bedienen. 
Gleichzeitig heisst hier innerhalb weniger Millisekunden Änderungen von 
Eingängen erfassen, reagieren und Ausgänge setzen. Jetzt klemmt es 
irgendwo und sie einen erfahrenen Spezialisten, der das zum Laufen 
bringt, womit die Anfrage doch wieder bei uns auf dem Tisch liegt.

Geplant und realisiert wurde das System von einer promovierten 
Softwareentwicklerin. Das Promotionsthema ist im Internet zu finden und 
befasst sich mit der Optimierung von Datenverarbeitung in 
Echtzeitsystemen. (Den Titel möchte ich aus Rücksicht nicht wörtlich 
posten, weil man die Person sonst auffinden könnte).

von Mark B. (markbrandis)


Bewertung
-1 lesenswert
nicht lesenswert
Weltbester FPGA-Pongo schrieb im Beitrag #4834188:
> Geplant und realisiert wurde das System von einer promovierten
> Softwareentwicklerin.

Wer nicht die richtigen Leute holt, wird nicht die richtigen Ergebnisse 
erhalten. Das sollte nun eigentlich niemanden verwundern.

Dass man beim Thema FPGA bzw. Signalverarbeitung ohne Kenntnisse aus der 
Elektrotechnik nicht sehr weit kommt, ist doch an und für sich auch 
jedem klar... ach halt, den Heinis in der Personalabteilung natürlich 
nicht.

: Bearbeitet durch User
von Dampf T. (ouuneii)


Bewertung
1 lesenswert
nicht lesenswert
Promoviert bedeutet gar nichts. Beaufsichtig werden sie von einem Prof, 
der vielleicht mal etwas selbst auf diesem Gebiet machte, was aber schon 
einige Jahre her ist. Dann gibt es auch noch Oberassistenten, die waren 
noch nie in der Industrie, kamen noch nie mit einem komplexen Projekt in 
Beruerung. Also = Greenhorn.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [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 Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.