|
upt0zer0 |
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.10.2012, 13:47
Titel: s-Function Buffer
|
|
Hey Leute,
ich müsste einen Buffer mit Hilfe einer S-Function realisieren.
Problem ist folgendes, ich bekomme ein Signal rein, das aber nicht zwangsläufig mit dem Anfang anfängt. Der Anfang wird erst gesucht und ab da adnn weitergegeben. Problem ist, dass jetzt aebr am Ende (auch für den nächsten Verarbeitungsschritt), eine feste Länge ausgegeben werden muss.
Beginnt das Signal etwa bei der Hälfte, muss die zweite Hälfte dann mit dem nächsten Frame gefüllt werden usw... hoffe das ist verständlich.
Wie also bring ich meiner S-Function bei nur dann etwas auszugeben wenn genug da ist und ansonsten in dem Taktschritt einfach nichts zu tun?
|
|
|
|
|
upt0zer0 |
Themenstarter
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.10.2012, 22:29
Titel:
|
|
|
|
|
Also ich wurde gebeten, das ich das hier etwas mehr erkläre:
Also wir haben das Signal A, das aus 960 Stellen besteht. Durch Verzerrung im Kanal sind die Frames jetzt aber verschoben, heißt Wert 1 ist nicht mehr der Anfang.
Eine Funktion sucht jetzt den neuen Anfang und makiert ihn. Sagen wir bei 460. Heißt 460 = 1. Wert, 461 = 2. Wert,...
Der nächste Verarbeitungsschritt erwartet jetzt aber wieder volle 960 Stellen, wobei der erste Wert wie oben beschrieben in der Mitte liegt. Wenn also 960 Werte reinkommen und bei 460 begonnen wird, hat das Signal dann aber nur 500 Werte. Die fehlenden 460 Werte sind die aus dem darauffolgenden 2. Frame.
Also müssen immer mindestens 2 Frames in der S-Function sein. Heißt entweder die gibt beim ersten mal nichts aus, oder nur Nullen. Da ja auf den zweiten Frame gewartet werden muss, um die 460 fehlenden Werte zu bekommen. Sobald dann alles entsprechend stimmt muss während der erste "neu zusammengesetzte" Frame ausgegeben wird, muss der dritte schon nachgeladen werden, damit im nächsten Schritt direkt "neuer Frame 2" ausgegeben werden kann.
Hoffe das war jetzt verständlich, ich lad noch eine Paint Skizze mit hoch.... die Kästchen sollten eigentlich gleich groß sein...
PS: Ob als S-Function oder Embedded Matlab oder wie auch immer ist erstmal egal
Beschreibung: |
|
Download |
Dateiname: |
buffer_problem.png |
Dateigröße: |
6.8 KB |
Heruntergeladen: |
593 mal |
|
|
|
upt0zer0 |
Themenstarter
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.10.2012, 22:56
Titel:
|
|
So Leute,
ich hätte so theoretisch gesehn eine Lösung, wenn mir jemand sagen kann, wie ich Variablen von einer S-Function Ausführung in die nächste übernehmen kann. Also eine Speicherung, die nicht bei jedem neuen Wert der reinkommt direkt überschrieben wird.
Hab ein haufen über Dwork vektoren und persistent variables gelesen, aber so wirklih schlau bin ich nicht geworden, wie ich selbige in die S-Function einbaue.
Kann mir jemand helfen?
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|