matlab pn,PN序列生成代码快速参考

本文介绍了如何在MATLAB中生成PN序列,重点讲解了基本的LFSR结构和生成多项式,提供了PN17序列的生成代码,并验证了其周期性。此外,还讨论了并行8路PN序列生成的实现,包括MATLAB代码和对应的VHDL代码示例。
摘要由CSDN通过智能技术生成

PN序列生成器的基本结构为LFSR(linear feedback shift register),在通信领域PN序列可作为测试数据源或者扰码生成器使用。基本信息和结构可参考 Matlab中的PN序列产生模块说明

aa3f9d3444dd

pn_sequence_setupex.png

上图中,按照Matlab定义,对应的生成多项式为z^6+z+1,即[6 1 0],或者[1 0 0 0 0 1 1]

参考生成代码

[17 3 0]生成matlab代码(标准参考为[17 14 0])

%% serial for PN17 [17,3,0]

pn = ones(1,17);

N = 2^17-1;

M = 2*N;

for i=1:M

outpn(1,i) = pn(17);

pn17 = pn(17);

pn14 = pn(14);

pn(17:-1:2) = pn(16:-1:1);

pn(1) = xor(pn17, pn14);

end

上面生成的PN17周期应为2^17-1

% verify the period of PN seq

equRcrd = 1;

for k = 1:N

if outpn(k) ~= outpn(k+N)

equRcrd = 0;

end

end

equRcrd

遍历性(部分的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值