makerll.m
来自「This is a collection of m-files I create」· M 代码 · 共 32 行
M
32 行
%makeRLL(in,d,k)
% This function creates a random sequence of a little more than 'in' bits
% valued at 0 and 1, which meets a run-length limited (d,k) constraint.
% This is an NRZI code.
function out = makeRLL(in,d,k)
sum = 0;
for i = d+1:k+1
sum = sum + exp(-i);
end
K = 1./sum;
M = cell(k-d+1,1);
for i = 1:k-d+1
M{i} = [zeros(1,d+i-1) , 1];
end
chain = [];
while length(chain) < in
x = rand;
likeacdf = 0;
for i = 1:k-d+1
likeacdf = likeacdf + K*exp(-length(M{i}));
if x < likeacdf
chain = [chain M{i}];
break
end
end
end
out = chain;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?