gold matlab 编解码_Gold码序列生成MATLAB代码

这段MATLAB代码用于生成Gold序列,通过设置不同的本原多项式M1和M2,以及序列长度,利用线性反馈移位寄存器(LFSR)原理计算Gold码。代码中详细解释了多项式转换、移位和加法操作。
摘要由CSDN通过智能技术生成

%自制Gold序列

function [GoldSeq] = dyc_gold_gen_v3()

%本原多项式参数

M_base = 8;%本原多项式表示进制数

M1 = [2 0 1 1];

M2 = [2 4 1 5];

Mfb_len = 11;%M序列的生成多项式的长度

Mfinal_len = 1023;%生成的M序列的长度

%序列长度?(由用户而定,但序列循环周期由“生成多项式的长度”而定)

%本原多项式

% M_base = 8;%本原多项式表示进制数

% M1 = [2 0 1 1];

% M2 = [2 4 1 5];

M1origin_len = length(M1);

M2origin_len = length(M2);

%本原多项式(二进制)

% Mfb_len = 11;%M序列要求生成多项式的长度

Mfb_ratio = log2(M_base);

M1fb_raw_len = M1origin_len * Mfb_ratio;%M序列本源多项式转换二进制为后的长度

M1fb_raw = zeros(1, M1fb_raw_len);%初始化M序列生成多项式

for M1fb_reg_i = 1 : M1origin_len

for M1fb_bit_i = 1 : Mfb_ratio

M1fb_raw((M1fb_reg_i - 1) * Mfb_ratio + M1fb_bit_i) = mod(fix(M1(M1fb_reg_i) / (2 ^ (Mfb_ratio - M1fb_bit_i))),

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值