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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.