Forum: Digitale Signalverarbeitung / DSP / Machine Learning wie Simulink, aber mit Pullprinzip


von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

Hallo,

mir ist aufgefallen, das Simulations-Programme, wie Simulink, Xcos, 
Gnuradio-companion nur Zustände darstellen und die sequenzielle 
Steuerung explizit so designed werden muss, dass einzelne Vektorelemente 
am Anfang oder Ende nicht ausversehen doppelt verarbeitet oder 
ausgelassen werden. Unterschiedliche Zeitebenen (Deltazyklen) sind nicht 
möglich. Ablaufsteuerung des Gesamtsystem gestaltet sich als schwierig. 
Nur wenige Anwendungen sind einfach und übersichtlich (CRC-Generator, 
PRBS).

Da gibt es noch Paketorientierte Simulatoren (Omnet++). Diese sind aber 
ganz schlecht für DSP-artige Anwendungen, eher für Routing/Internet.

Ich suche etwas, was wie Simulink ist, aber auch eine implizite 
Steuerung von Datenpaket/-strömen/-rahmen erlaubt: Wenn alle Elemente 
aus einem Block vom Folgeblock verarbeitet wurden, rutscht der nächste 
Block definierter breite nach. Bsp. Vektor aus 12345 Elementen geht in 
FFT-Block rein - konfiguriert als 512 in, 512 out -- 432-Elemente Vektor 
geht raus zu nächsten Block. Es wird schrittweise alles verarbeitet. 
Vielleicht gibt es noch einen Puncturing-Coder. Dieser verwirft explizit 
einzelne Elemente.

Würde man das im klassischem Simulink oder Xcos realisieren, dann müsste 
man erst explizit die Eingangsvektoren zerschneiden und die 
Ausgangsvektoren zusammensetzen, überlegen, wann der Vektor voll ist, 
was in den Nächsten übertragen wird. Nach der Verarbeitung die Elemente 
aus dem  Eingangsvektor herausnehmen oder den "Pointer" weiterschalten, 
aber dann muss man einen Ringspeicher bauen und von vorn anfangen und 
prüfen, wie groß dieser sein muss. Noch schlimmer wird das Puncturing. 
Muss ein Element ausgelassen werden, darf der empfangende Block einmal 
nicht getaktet werden. Es ist eine explizite Taktsteuerung nötig. Aber 
hat der Block jetzt das richtige Element verworfen? reagiert er im 
gleichen Tat oder erst im nächsten? ...

Welche Simulationssoftware unterstützt die implizite Behandlung von 
Datenobjekten, anstatt nur Variablenzuständen?

von Martin S. (strubi)


Lesenswert?

Hi,

bin mir nicht sicher, ob ich deine Zielapplikation verstanden habe, aber 
ich bin mit GHDL und einer C-Erweiterung relativ gluecklich geworden.
Das heisst aber: Man muss relativ viel selber machen.
Such hier mal nach "GHDL experimente", vielleicht hilft Dir das ja 
weiter.
Im Linux-Magazin 02/12 ist dazu auch ein Artikel entstanden ("So tun als 
ob Chip").
Vorteil an der Sache: Sehr mächtig (gibt kaum was, was nicht geht), 
Nachteil: langsame Verarbeitung.

Gruss,

- Strubi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.