Generate a random sequence of PAM-4 but with values -1,-0.33,0.33,1

6 次查看(过去 30 天)
How to create a random PAM-4 signal with amplitude values of -1, -.033, 0.33, 1?

回答(1 个)

the cyclist
the cyclist 2023-1-15
编辑:the cyclist 2023-1-15
I didn't research PAM-4 enough to know whether each element is independent from prior values. The following code will generate a sequence of a specified length, randomly (and independently) selecting each element from the list of amplitudes. Maybe that is what you need, or you can adapt the idea.
% Set a random number generator seed
rng(2)
% Set the signal length and amplitude list
signalLength = 7;
amplitudeValues = [1, -.033, 0.33, 1];
% Generate a random index into the amplitude list
idx = randi(numel(amplitudeValues),signalLength,1);
% Get the amplitudes
signal = amplitudeValues(idx)
signal = 1×7
-0.0330 1.0000 0.3300 -0.0330 -0.0330 -0.0330 1.0000
If you have the Statistics and Machine Learning Toolbox, you could use randsample to simplify the syntax:
signalLength = 7;
amplitudeValues = [1, -.033, 0.33, 1];
signal = randsample(amplitudeValues,signalLength,true)
signal = 1×7
0.3300 -0.0330 -0.0330 0.3300 0.3300 1.0000 0.3300

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by