function seq = GenChaos(init,rv_bit,len) % init: 设定初始值 % thd : 门限 % len : 生成序列长度 % rv_bit: 舍弃的位数 x = init; % 初始值 thd = 0; % 门限 S=rv_bit; % 舍弃的位数 T=len; % 截断的位数 H=zeros(1,T); % 码序列 for i=1:S %舍去前S位 x=1-2*x*x; end for i=1:T %从S+1为开始截断,截断T位 if x>thd H(i)=1; else H(i)=0; end x=1-2*x*x; end seq = H; end这个程序运行的流程
时间: 2024-01-01 12:06:22 浏览: 122
sobol_seq:Sobol序列生成器的python实现
5星 · 资源好评率100%
这个程序是用来生成伪随机码的 MATLAB 函数,其主要流程如下:
1. 初始化参数:包括初始值、门限、舍弃的位数和生成序列长度;
2. 进行迭代,得到伪随机序列;
3. 对伪随机序列进行截断,得到最终的伪随机码。
具体而言,下面是 GenChaos 函数的 MATLAB 代码:
```matlab
function seq = GenChaos(init, rv_bit, len)
% 参数初始化
x = init; % 初始值
thd = 0; % 门限
S = rv_bit; % 舍弃的位数
T = len; % 截断的位数
% 生成伪随机序列
for i = 1:S
x = 1 - 2 * x * x;
end
H = zeros(1, T);
for i = 1:T
if x > thd
H(i) = 1;
else
H(i) = 0;
end
x = 1 - 2 * x * x;
end
% 截断伪随机序列,得到伪随机码
seq = H;
end
```
用户可以通过调整函数输入参数 `init`、`rv_bit` 和 `len`,来改变初始值、舍弃的位数和生成序列长度。需要注意的是,在生成伪随机序列时,需要进行一定次数的迭代,以消除初始值对结果的影响。在截断伪随机序列时,可以通过调整门限 `thd` 的值,来控制伪随机码的分布。
阅读全文