Wie erzeugt man Interger-Zahlen in Pseudo-Zufälliger Reihenfolge, ohne dass Zahlen doppelt sind? Und das auf einem µC mit wenig RAM, also möglichst ohne große Arrays? Ich möchte mit einer wählbaren "Startzahl" verschiedene pseudo-zufällige SFHSS / THSS Hopping-Muster erzeugen. Es geht z.B. um 89 Frequenzen und 89 Zeitschlitze. Ich brauche also die Zahlen von 0..7920 (= 89 x 89) in pseudo-Zufälliger Reihenfolge. Ich muss den Algorithmus auf einem µC implementieren und suche eine Lösung, die auf einem µC mit vielleicht 512B RAM auskommt. Hat jemand einen Tipp, wie man das macht, ohne im µC ein Array mit 7921 Elementen anzulegen? BTW: Matlab kann das mit randsample: http://www.mathworks.de/de/help/stats/randsample.html Der Ti-84 Taschenrechner hat dazu eine Funktion "randIntNoRep". Winzigweich nennt einen entsprechenden DXImageTransform- Filter "Random Dissolve". Ich suche quasi einen "Random Dissolve"-Algorithmus für Bilder mit z.B. 89 x 89 Pixeln. PS: Die Beiden Zahlen müssen aber auch unterschiedlich sein dürfen! Den Effekt sieht man z.B. auch bei Powerpoint unter Folienübergang -> Auflösen. PPS: Falls Sender und Empfänger mit unterschiedlichen Compilern oder gar unterschiedlichen Programmiersprachen programmiert werden müssen, komme ich mit srand() und rand() nicht weiter. Eventuell könnte ich einen "Mersenne Twister" implementieren und nehme zwei zufällige Reihen: * Eine für Zeilen/Frequenzen und * eine für Spalten/Zeitschlitze Das ist dann zwar vielleicht nicht ganz so "schön zufällig", käme aber mit weniger RAM aus, wenn ich also zwei kleine Arrays über einen "Mersenne Twister" umsortiere statt ein großes . Sender und Empfänger müssten dann zwei identische Startwerte haben.
:
Bearbeitet durch User
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.