Gold序列

这篇具有很好参考价值的文章主要介绍了Gold序列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

前言

一、Gold序列产生原理

1.1 m序列

1.2 Gold序列

二、仿真实验

总结


前言

         本文主要介绍Gold序列的产生以及相关性仿真。


一、Gold序列产生原理

1.1 m序列

  • m序列产生

       m序列是最大长度线性移位寄存器序列的简称,是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。若r为级数,所能产生的最大长度的码序列为n=2^r-1位。

       m序列的生成是由反馈电路以及初始状态决定,且由反馈逻辑电路决定的特征多项式必须是r级的本原多项式,初始状态不能全是0,此时初始状态将决定m序列的初始相位,本原多项式决定m序列的形状。

       若r级线性移位寄存器的初始状态为:Gold序列,且满足线性反馈逻辑如下:

     则对应的特征多项式可表示为:,若记Gold序列

进一步有:,由此可得特定本原多项式以及非全零初始状态下,移位寄存器生成的m序列

m序列的自相关性

      m序列的自相关函数是双值函数,归一化自相关函数满足:

           

       m序列虽然有良好的自相关性以及互相关性,但m序列可供选择的地址码数量少,为解决这一问题,需要引入组合码,而Gold序列就是组合码中重要的一类。

1.2 Gold序列

m序列优选对

       两个m序列,例如a和b是同级但不同的本原多项式所产生的m序列对,则构成优选对的条件是,其互相关函数值满足下式:

Gold序列       

下面是几种不同级数的m序列优选对允许的最大相关函数值

Gold序列

Gold序列产生

       Gold码序列是由m序列优选对模2相加构成的,并且每改变一个m序列的相对位移,就可以得到一个新的Gold序列。这样每组m序列优选对可以产生2^r+1个Gold序列。

Gold序列的相关特性

        Gold码组的互相关函数值不会超过原两m序列间的最大互相关函数值,若c,d为m序列优选对a,b构成的Gold序列,则:

二、仿真实验

      特征多项式,都是本原多项式,这两个本原多项式对应着两个不同的m序列,初始状态都为[1 0 0 ...0]证明这对m序列是优选对,画出他们以及由他们生成的Gold 序列的自相关图像和互相关图像。

m序列,Gold序列的自相关函数

Gold序列

m序列,Gold序列的自相关函数局部放大图

Gold序列

 m序列,Gold序列的互相关函数

Gold序列

m序列,Gold序列的互相关函数局部放大图

Gold序列

       由结果可知:由本原多项式,生成的m序列对之间的互相关函数最大值为0.06158小于65/1023(0.0635),所以该m序列对是优选对,且由m序列优选对产生的Gold序列的互相关函数最大值也小于65/1023。

        可以看出生成的m序列以及Gold序列具有良好的自相关特性以及互相关特性,且通过改变m序列的位移相位可以得到2^r+1个不同的Gold序列。

代码

%**************************************************
%m序列,Gold序列的自相关函数、互相关函数
%**************************************************
clear all;
%**************************************************
%寄存器参数
%**************************************************
T=1e-3;                           %码片宽度
r=10;                             %寄存器位数
n=2^r-1;                          %m序列长度
M1=zeros(1,n);
M2=zeros(1,n);
M1(1)=1;                          %初始状态10000000000
M2(1)=1;
f1=[1 0 0 0 0 0 0 1 0 0 1];       %特征多项式x^10+x^3+1对应的系数
f2=[1 0 1 0 0 0 0 1 1 0 1];       %特征多项式x^10+x^8+x^3+x^2+1对应的系数
%***************************************************
%产生m序列
%***************************************************
for i=r+1:n;                      %递推公式得到m序列
    M1(i)=mod(sum(M1(i-r:i-1).*f1(1:r)),2);
    M2(i)=mod(sum(M2(i-r:i-1).*f2(1:r)),2);
end
% ***************************************************
% 产生Gold序列
% ***************************************************
G1=mod(M1+M2,2);                  %0比特相位差
s=102;                              %s在0-n之间
G2=mod(M1+[M2(s+1:n) M2(1:s)],2); %s比特相位差
%***************************************************
%双极性序列
%***************************************************
M1=2*M1-1;                        %双极性m序列
M2=2*M2-1;                        %双极性m序列
G1=2*G1-1;                        %双极性m序列
G2=2*G2-1;                        %双极性m序列
%***************************************************
%自相关函数
%***************************************************
N=2*n-1;
t=(-n+1:n-1)*T;
Rm1=zeros(1,N);                  %M1的自相关函数
Rm2=zeros(1,N);                  %M2的自相关函数
Rg1=zeros(1,N);                  %G1的自相关函数
Rg2=zeros(1,N);                  %G2的自相关函数
 
for j=0:n-1
Rm1(n+j)= sum(M1.*[M1(j+1:n) M1(1:j)])/n;
Rm2(n+j)= sum(M2.*[M2(j+1:n) M2(1:j)])/n;
Rg1(n+j)= sum(G1.*[G1(j+1:n) G1(1:j)])/n;
Rg2(n+j)= sum(G2.*[G2(j+1:n) G2(1:j)])/n;
end
Rm1(1:n-1)= Rm1(N:-1:n+1);
Rm2(1:n-1)= Rm2(N:-1:n+1);
Rg1(1:n-1)= Rg1(N:-1:n+1);
Rg2(1:n-1)= Rg2(N:-1:n+1);
figure(1)
subplot(221);
plot(t,Rm1);
title('M1自相关函数');
subplot(222);
plot(t,Rm2);
title('M2自相关函数');
subplot(223);
plot(t,Rg1);
title('G1自相关函数');
subplot(224);
plot(t,Rg2);
title('G2自相关函数');
%********************************************************
%互相关函数
%********************************************************
Rm1m2=zeros(1,N);
Rm1g2=zeros(1,N);
Rm2g1=zeros(1,N);
Rg1g2=zeros(1,N);
 
for j=0:n-1
Rm1m2(n+j)= sum(M1.*[M2(j+1:n) M2(1:j)])/n;
Rm1g2(n+j)= sum(M1.*[G2(j+1:n) G2(1:j)])/n;
Rm2g1(n+j)= sum(M2.*[G1(j+1:n) G1(1:j)])/n;
Rg1g2(n+j)= sum(G1.*[G2(j+1:n) G2(1:j)])/n;
end
Rm1m2(1:n-1)= Rm1m2(N:-1:n+1);
Rm1g2(1:n-1)= Rm1g2(N:-1:n+1);
Rm2g1(1:n-1)= Rm2g1(N:-1:n+1);
Rg1g2(1:n-1)= Rg1g2(N:-1:n+1);
figure(2)
subplot(221);
plot(t,Rm1m2);
title('M1、M2互相关函数');
subplot(222);
plot(t,Rm1g2);
title('M1、G2互相关函数');
subplot(223);
plot(t,Rm2g1);
title('M2、G1互相关函数');
subplot(224);
plot(t,Rg1g2);
title('G1、G2互相关函数');

总结

       转载请附链接:【杨(_> <_)】的博客_CSDN博客-信号处理,代码实现,SAR领域博主文章来源地址https://www.toymoban.com/news/detail-451811.html

到了这里,关于Gold序列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spark】Spark运行时产生的临时目录的问题

    今日发现下游用户spark 任务在我们的大数据集群上的 client 节点 /tmp 目录下产生了60G大量的临时文件。触发监控告警。 Spark 默认使用 /tmp/spark* 作为临时目录以存储一些临时数据, 如果该默认路径所在的磁盘满了, 会出现报错 方法一(推荐): 在 spark-submit 命令行加入如下配置

    2024年02月06日
    浏览(50)
  • PHP反序列化漏洞之产生原因(题目练习)

    PHP反序列化漏洞又叫做PHP对象注入漏洞,是因为程序对输入的序列化后的字符串处理不当导致的。反序列化漏洞的成因在于代码中的unserialize()接收参数可控,导致代码执行,SQL注入,目录遍历,getshell等后果。 一句话讲晒就是:  反序列化漏洞是由于unserialize函数接收到了

    2024年02月06日
    浏览(64)
  • Webpack5入门到原理1:前言

    开发时,我们会使用框架(React、Vue),ES6 模块化语法,Less/Sass 等 css 预处理器等语法进行开发。 这样的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、Css 等语法,才能运行。 所以我们需要打包工具帮我们做完这些事。 除此之外,打包工具还能压缩代码、做兼容

    2024年01月20日
    浏览(51)
  • MATLAB初始化智能算法编码-产生随机不重复整数序列矩阵

    产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法: clc;close all;clear all;warning off;%清除变量 rand(\\\'seed\\\', 100); randn(\\\'seed\\\', 100); format long g; N=10; % 设定优化问题维数 lb=0*ones(1,N);% 自变量上限 ub=1*ones(1,N);% 自变量下限 popsize=10;% 种群数 Chrom=mygenfun(popsize,N,lb,u

    2024年01月24日
    浏览(43)
  • tp6的runtime/Logs目录下产生大量日记文件,怎么取消自动生成?

    一开始查了好多网上提供的,很幸运都是抄袭别人的,没一个成功,最后无奈只能自己解决方法 其实很简单,不用修改config/log.php文件,没用因为只要有登入错误,警告,消息或者sql错误都会写入 解决方法: 关闭调试模式 配置数据库文件  .env文件 true改为false即可  总结:

    2024年02月16日
    浏览(81)
  • Verilog基础:仿真时x信号的产生和x信号对于各运算符的特性

    相关阅读 Verilog基础 https://blog.csdn.net/weixin_45791458/category_12263729.html?spm=1001.2014.3001.5482         信号爆x也许是所有IC人的噩梦,满屏的红色波形常让人头疼不已,但x信号的产生原因却常常只有几种,只要遵循一定的代码规范,就可以避免产生信号中出现x的问题。         最常

    2024年02月05日
    浏览(52)
  • Linux 学习目录合集【文章索引】

    前言:本内容为笔者自学笔记内容。 本文中的操作环境:腾讯云服务器:CentOS 7.6 64bit 学习阶段规划: Linux 基本操作【基本命令、vim、makefile使用等】 Linux 系统【进程:概念、控制、通信;IO基础;多线程等】 Linux 网络【网络基础、套接字编程、IO高级等】 学习集: C++ 入门

    2024年02月07日
    浏览(52)
  • FlinkCDC 菜鸟教程-文章目录

    背景篇 环境篇  准备一台已经安装了 Docker 的 Linux 或者 MacOS 电脑。 准备教程所需要的组件 版本对应关系 安装 环境检查 工具篇 flink kibana 概念篇 Docker 介 绍 Docker Compose 介 绍 Kibana介 绍 实践篇 演示: Mysql CDC 导入 Elasticsearch 启动服务 准备数据 在 Flink SQL CLI 中使用 Flink DDL 创建

    2024年02月09日
    浏览(53)
  • 相机畸变产生原因与公式表示(基本原理)

    在相机制造过程中,很 难保证镜头的厚度完全均匀 ,由于制造工艺的原因,通常这种情况为中间厚、边缘薄,因而光线在远离透镜中心的地方,会发生更大程序的扭曲,这种现象在鱼眼相机(桶形畸变)中尤为明显。 它们可以由k1、k2构成的下列数学公式描述: 其中,各参

    2024年01月20日
    浏览(60)
  • 【数据结构】【王道】【数据结构实现】文章目录

    持续更新中。。。 数据结构 链接 顺序表实现及基本操作(可直接运行) 文章链接 无头结点单链表的实现及基本操作(可直接运行) 文章链接 带头结点单链表的实现及基本操作(可直接运行) 文章链接 双链表的实现及基本操作(可直接运行) 文章链接 循环链表的实现及

    2023年04月08日
    浏览(92)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包