伪随机信号(m序列编码信号)仿真实现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

伪随机信号,又称伪随机序列或伪随机码,是由周期性数字序列经过滤波等处理后得出的,它具有类似于随机噪声的某些统计特性,同时又能够重复产生。常见的伪随机信号主要有m序列、M序列等序列。本文以m序列及其信号编码为例,为大家进行相关类似的信号产生提供帮助。

一、伪随机信号如何产生?

绝大多数伪随机信号都是用移位寄存器加反馈来产生,这种结构形式简单,易于实现并能容易的产生周期极长的序列。用移位寄存器产生伪随机信号有三种方法:线性反馈结构、非线性反馈结构和非线性前馈结构。所广泛采用的是线性反馈结构,采用线性反馈移存器产生的伪随机信号有最大长度序列和非最大长度序列两类。一个n级线性反馈移存器产生最大长度序列的长度为2^n-1,即序列周期为2^n-1移位寄存器序列是最大长度序列,否则就是非最大长度序列。

二、具体步骤

1.设计移位寄存器产生m序列

代码如下(其中m_generate为移位寄存器产生m序列的函数,关注我私信获取哦):

clear;
%%m序列以及相应编码信号的产生
c=[0 0 1 0 0 0 0 0 0 1];%本原多项式
mg=m_generate(c);%m序列

2.以m序列为码元进行信号编码

代码如下:

%一个码对应的信号
f_m=1000; % 频率1000Hz
T_m=1/f_m; %单个码元持续时间为一个周期
Tz=T_m*N;
t_mayuan=0:1/fs:(T_m-1/fs); % 一个码元所持续的时间内的采样点时刻
y_mayuan=sin(2*pi*f_m*t_mayuan); % 一个码元的波形,对应码元0的波形
t_z=0:1/fs:(T_m*N-1/fs);%整个序列对应信号的总时间
a_t=[];%最终编码信号
for i=1:N
    tmp=mg(i);
    if tmp==0
        a_t=[a_t,y_mayuan];%不断把调制好的信号往后放,最终接起来
    end
    if tmp==1
        a_t=[a_t,-y_mayuan];
    end
end

总结

m序列有如下特点:

  1. 均衡特性(平衡性)m序列每一周期中 1 的个数比 0 的个数多 1 个

  2. 游程特性(游程分布的随机性)M序列中,状态“0”或“1”连续出现的段称为游程。游程中“0”或“1”的个数称为游程长度。m序列的一个周期(p=2^n-1)中,游程总数为 2^n-1,“0”、“1”各占一半。

  3. 移位可加性2个彼此移位等价的相异M序列,按模2相加所得的序列仍为M序列,并与原M序列等价。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值