求钟控序列生成器的输出序列及周期

前言

文章中求解的方法可供参考,如果有出错可评论或私信博主。

一、题目

已知序列{an}和{bn}分别作为钟控序列生成器LFSR1和LFSR2的输入,求解钟控序列生成器的输出序列{dn}及周期。
{an}为2级m序列,{bn}为3级m序列
{an} = 0 1 1 0 1 1 · · ·
{bn} = 1 1 1 0 1 0 0 1 1 1 0 1 0 0 · · ·
注:省略号前面的二进制为一个周期

二、原理

最简单的钟控序列生成器如下:

在这里插入图片描述

原理:

  • 当LFSR1输出1时,移位时钟脉冲通过与门使LFSR2进行一次移位,从而生成下一位。
  • 当LFSR1输出0时,移位时钟脉冲无法通过与门影响LFSR2。因此LFSR2重复输出前一位。

二、求周期p

设{an}和{bn}的周期分别为p1和p2

  • p1 = 2m-1
  • p2 = 2n-1
  • w1 = 2m-1
  • gcd(w1,p2):求w1和p2的最大公因子
  • 周期p = p1*p2 / (gcd(w1,p2))
  • 注: w1的m-1是整个指数部分,而p1和p2的指数是m和n

{ak}是2级m序列,{bk}是3级m序列。
所以m的值为2,n为3
将m和n的值带入上面的几个公式中
周期p = (22-1) * (23-1) / gcd (2(2-1) ,23-1)
= 3 * 7 / gcd(2 , 7)
= 21 / 1
= 21

三、求输出序列{dn}

[1]. 求d1

  • 首先确定的是d1,即输出序列{dn}第一位的值,首位比较不同,d1 = b1
    {an} = 0 1 1 0 1 1 · · ·
    {bn} = 1 1 1 0 1 0 0 1 1 1 0 1 0 0 · · ·

  • 注:之后的高亮二进制部分为新得到或当前使用的二进制位

输入序列使用情况
{b1}1
输出序列{dn}结果
{d1}1

[2]. 求d2

  • 确定{dn}第二位d2时,先获取a1的值,如果值是0时,d2 = d1(即dk填入dk-1的值)
    {an} = 0 1 1 0 1 1 · · ·
    {bn} = 1 1 1 0 1 0 0 1 1 1 0 1 0 0 · · ·
输入序列使用情况
{a1}0
{b1}1
输出序列{dn}结果
{d1 d2}1 1

[3]. 求d3

  • 确定{dn}第三位d3时,得到a2的值为1,此时就和上一步不同。得输出{bn}序列的值,因为之前输出过了b1的值,所以不能再用这个b1值,则d3 = b2
    {an} = 0 1 1 0 1 1 · · ·
    {bn} = 1 1 1 0 1 0 0 1 1 1 0 1 0 0 · · ·
输入序列使用情况
{a1 a2}0 1
{b1 b2 }11
输出序列{dn}结果
{d1 d2 d3}1 1 1

[4]. 求d4

  • 求取的方法和步骤34类似,当前的a值为1,所以得输出最新的b值来当作d4的值。
    {an} = 0 1 1 0 1 1 · · ·
    {bn} = 1 1 1 0 1 0 0 1 1 1 0 1 0 0 · · ·
输入序列使用情况
{a1 a2}0 1 1
{b1 b2 b3}1 1 1
输出序列{dn}结果
{d1 d2 d3 d4}1 1 1 1

[5]. 最终结果

  • 由于{dn}的一个周期内比较多的二进制,其他位的求解类似就不介绍了。
  • 你可以根据步骤1来确定首位,根据步骤2和步骤3来确定第k位的值。
  • d{n} = 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 · · ·
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦之海岛

创作不易,狐狸叹气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值