modelPRBS

Extends from Modelica.Blocks.Interfaces.SO (Single Output continuous control block).

Information

Predefined generator values that give the max length sequence are taken from: https://en.wikipedia.org/wiki/Linear-feedback_shift_register#Some_polynomials_for_maximal_LFSRs

Parameters

TypeNameDefaultDescription
Realamplitude1Amplitude of signal
SI.FrequencyfreqHzFrequency of signal
Realoffset0Offset of output signal
SI.TimestartTime0Output = offset for time < startTime
Real[integer(2^nBits - 1)]mlsTRANSFORM.Math.max_len_seq(seed, generator, bias)
Sequence
Realbias0Bias from nominal middle value of signal
IntegernBits3Sequence bit length
Integer[nBits]seedcat(1, {1}, fill(0, nBits - 2), {1})Seed sequence array of 1 and 0, size(seed) = nBits
Integer[nBits + 1]generatorif nBits == 2 then {1, 1, 1} elseif nBits == 3 then {1, 1, 0, 1} elseif nBits == 4 then {1, 1, 0, 0, 1} elseif nBits == 5 then {1, 0, 1, 0, 0, 1} elseif nBits == 6 then {1, 1, 0, 0, 0, 0, 1} elseif nBits == 7 then {1, 1, 0, 0, 0, 0, 0, 1} elseif nBits == 8 then {1, 0, 1, 1, 1, 0, 0, 0, 1} elseif nBits == 9 then {1, 0, 0, 0, 1, 0, 0, 0, 0, 1} elseif nBits == 10 then {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1} elseif nBits == 11 then {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1} elseif nBits == 12 then {1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1} elseif nBits == 13 then {1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1} elseif nBits == 14 then {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1} elseif nBits == 15 then {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} else fill(0, nBits + 1)Generator for sequence. size(generator) = nBits+1

Connectors

TypeNameDefaultDescription
RealOutputy (from SO)Connector of Real output signal