运用matlab软件实现移位寄存器产生m序列
时间: 2023-05-16 09:03:11 浏览: 217
运用matlab软件实现移位寄存器产生m序列:
M序列是一种伪随机序列,其在通信领域和密码学中有广泛应用。M序列由多项式生成器和移位寄存器构成,其中移位寄存器可以使用matlab软件来实现。首先,在matlab中定义多项式生成器的系数。然后,设置移位寄存器的初始状态。接下来,通过循环移位和异或运算不断产生输出序列。最后,输出所得到的m序列。
下面是实现移位寄存器产生m序列的步骤:
1. 定义多项式生成器的系数
例如,对于一个3阶多项式生成器,多项式的系数可以设置为1+x+x^3,其二进制表示为[1 0 1 1]。在matlab中,可以定义为:
poly = [1,0,1,1];
2. 设置移位寄存器的初始状态
对于3阶多项式生成器,需要3位初始状态。在matlab中,可以定义为:
state = [1,0,1];
3. 循环移位和异或运算,产生输出序列
在matlab中,可以使用如下代码实现:
output = zeros(1, 7); % 产生7位输出序列
for ii = 1:7
feedback = mod(sum(state.*poly(2:end)), 2); % 异或运算,得到反馈值
output(ii) = state(1); % 输出序列的当前位等于移位寄存器的第一位
state = [feedback,state(1:end-1)]; % 更新移位寄存器的状态
end
4. 输出所得到的m序列
在matlab中,可以用如下代码输出产生的m序列:
disp(output);
通过上述步骤,即可使用matlab软件实现移位寄存器产生m序列。
阅读全文