How do I perform a channel with probability?
4 views (last 30 days)
Show older comments
I have made an binary sequnce called r.
When 0 is presented as input, I want the channel to generate an output of 0 with 0.975 and generate an output of 1 with 0.025 probability.
And 1 the other way around.
How can I code program this?
0 Comments
Accepted Answer
Peng Li
on 28 Mar 2020
% simulate a sequence r
r = [ones(100, 1); zeros(100, 1)];
ind = randperm(length(r));
r = r(ind);
% randsrc generate a vector of 0 or 1 with probability 0.975 and 0.025, you
% sum up two randsrc results based on r is 0 or 1, if r == 1, switch the
% parameter of randsrc so that it generates 1 with prob 0.975
res = (r == 0) .* randsrc(length(r), 1, [0 1; 0.975 0.025]) + ...
(r == 1) .* randsrc(length(r), 1, [1 0; 0.975 0.025]);
0 Comments
More Answers (0)
See Also
Categories
Find more on Probability Density Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!