2016-03-29 6 views
0

Ich muss einige Signale für eine feste Dauer zu in der Simulation verwendet werden Puffer. Die Verwendung eines Pufferblocks in Simulink erfordert, dass die Bildrate bekannt ist. Ich verwende jedoch einen Continuous Time Solver (mit definierter maximaler Schrittweite), so dass ich nicht wirklich weiß, wie groß die Puffergröße sein sollte. Es scheint keine Option zu geben, bei der ein auf der Zeit basierender Auslöser verwendet werden kann. Kann jemand vorschlagen, wie dies getan werden kann?Pufferdaten in Simulink in kontinuierlicher Zeit

+0

Verwenden Sie einen MATLAB-Funktionsblock Ihre eigenen Puffer zu schreiben, dass die halten vorherige n Proben unabhängig davon, wann sie ankommen. –

+0

@PhilGoddard Vielen Dank für die Antwort ... so dass es die einzige Option ist, eine große Puffergröße zu verwenden? Ich sage dies, weil es mit dem Continuous Time Solver schwierig wird, abzuschätzen, wie viele Samples gespeichert werden sollen. Außerdem könnte man, wenn es nicht zu viel verlangt, ein kleines Arbeitsbeispiel liefern, wie man einen Puffer erstellt ... I kann es von dort weiterbringen ... – Zero

Antwort

1

Ein einfacher Puffer, einen MATLAB-Funktionsblock verwenden, das wäre immer das jüngste Element an der Spitze wäre,

function y = buffer(x) 

% initialize the buffer 
y = zeros(100,1); 

% Shuffle the elements down 
y(2:end) = y(1:end-1); 

% add the new element 
y(1) = x; 
Verwandte Themen