|
upt0zer0 |
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 21:58
Titel: Signalsteuerung
|
|
Hallo,
ich habe folgendes Problem. Ich habe ein Signal, das kommt rein, hat unendlich viele Stellen, also ...01010111010000101.... geht immer so weiter, also praktisch ein kontinuierliches Signal.
Jetzt will ich folgendes, wenn ich einer Konstante den Wert 1 gebe, soll die Zahl die ganze vorne steht in Kanal 1 geschoben werden, steht eine 2 dort, sollen 2 Bit in Kanal 2 geschoben werden und steht dort eine 4, sollen 4 Bit in Kanal 3 geschoben werden.
Habe eigentlich gedacht, dass ist nicht so schwer, aber irgendwie komm ich einfach nicht hin, weder mit Blöcken noch mit "Embedded Code".
Brauche dringend Hilfe, irgendwelche Ideen, egal wie gut oder schlecht, hilft mir alles irgendwie weiter!
Danke!
|
|
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 23:11
Titel:
|
|
Da es sich um einen kontinuierlichen Strom handelt, musst Du eben einen Zähler mit laufen lassen, wie viele Bits verarbeitet wurden und entsprechend mit dann jedes Mal, wenn der Zähler das Limit erreicht hat, die Daten schreiben. Natürlich musst Du, so lange der Zähler das Limit nicht erreicht hat, die Daten zwischen speichern.
Letztendlich musst Du die Arbeitsweise eines Schieberegisters ( http://de.wikipedia.org/wiki/Schieberegister ) implementieren
|
|
|
upt0zer0 |
Themenstarter
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 23:42
Titel:
|
|
ok das hab ich kapiert, aber 1. wie speicher ich das gescheit zwischen und 2. wie geb ich mehrere in einem taktschritt aus? 3. wo ist da das signal-"routing"?
danke aber schonmal
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2012, 21:06
Titel:
|
|
Wenn Du nur die Bits verteilen willst, dann brauchst keine Zwischenspeicherung. Ich dachte Du willst immer n Bits aufnehmen und dann verteilen.
Aber an sich bleibt es das gleiche. Du musst eben einen Zähler mitlaufen lassen und anhand des Wertes entscheiden, wohin Du die Daten gibst. Das geht mit einer Division auf welchen Kanal es soll
|
|
|
upt0zer0 |
Themenstarter
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2012, 08:24
Titel:
|
|
Und wie verteile ich die Bits? Kannst mal bisschen genauer werden? Danke schonmal
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2012, 10:45
Titel:
|
|
Nehmen wir an, Du musst die Daten auf 5 Kanäle (Werte 0 bis 4) verteilen, ich habe einen Zähler i, der aktuell 123, 124, 125 ist, d.h. nach jedem Wert inkrementiere ich i um 1 (also i = i+1). Mit welcher mathematischen Operation kann ich nun ermitteln auf welchen Kanal ich den Wert 123igsten, 124igsten, 125igsten Wert legen muss?
Also auf welchen Wert in [0,4] muss ich 123 abbilden?
|
|
|
upt0zer0 |
Themenstarter
Forum-Century
|
|
Beiträge: 107
|
|
|
|
Anmeldedatum: 10.07.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2012, 12:32
Titel:
|
|
ok, ganz verstanden hab ichs nicht, willst nicht zufällg mal nen passenden code / passendes modell erstellen oder?
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2012, 14:11
Titel:
|
|
Nein, Du sollst verstehen, was Du da machen musst. Ich gebe grundsätzlich keine Lösungen vor, weil das bringt ja nichts, wenn Du etwas fertiges vorgekaut bekommst. Das ist eine mathematische Operation, die Du in Quellcode gießen musst.
Du bekommst einen Bitstrom, also bei jedem Takt ein Bit und Du lässt einen Zähler mit laufen, der zählt wie viele Bits schon verarbeitet wurden. Nun hast Du n Kanäle, durchnummiert von 0 bis n-1. Nun bist Du beim i-ten Bit. In welchen Kanal muss nun dieses Bit?
Das ist eine Operation die zwischen i und n statt finden muss. Also so etwas in der Art wie
und statt dem + muss man eben etwas anderes machen. Was muss man da machen?
|
|
|
|
|
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.
|
|