How do I create an Amplitude Modulated Pseudorandom Bit Sequence using the System Identification Toolbox?

21 vues (au cours des 30 derniers jours)
I would like to create a pseudorandom bit sequence (PRBS) that also has an amplitude modulation.
This is used in some systems identification papers, and is referred to as Amplitude Modulated Pseudo-Random Bit Sequences (APRBS).
Does MATLAB have a built-in function to do this?

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 20 Nov 2017
Unfortunately, the Systems Identification Toolbox does not have this functionality built in.
However, it is possible to create a signal that has the properties that you want by first creating a PRBS, then finding the indices at which the sequence changes, and finally, assigning the values of the sequence to have random amplitudes between the indices where the changes occur.
The MATLAB code snippet below illustrates this workflow:
u = idinput(101,'prbs',[0 1],[-1 1]);
d = diff(u);
idx = find(u) + 1;
idx = [1;idx];
for ii = 1:length(idx) - 1
amp = randn;
u(idx(ii):idx(ii+1)-1) = amp*u(idx(ii));
end
u = u/max(u);
u = iddata([],u,1);
% Plot the data
figure
plot(u)

Plus de réponses (0)

Catégories

En savoir plus sur Beamforming and Direction of Arrival Estimation dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by