ZC序列理论学习及仿真

文章目录

  • 前言
  • 一、ZC 序列理论
    • 1、基本概念
    • 2、表达式
    • 3、ZC 序列一些定义
      • ①、自相关
      • ②、循环移位
      • ③、循环自相关
      • ④、循环互相关
  • 二、ZC 序列性质
    • 1、性质 1:恒包络,即等模
    • 2、性质 2:零循环自相关
    • 3、性质 3:固定循环互相关
    • 4、其他性质
      • ①、傅里叶变换后仍是 ZC 序列
      • ②、低峰均比
      • ③、序列间的正交性
  • 三、MATLAB 仿真
    • 1、ZC 序列生成
      • ①、复数点
      • ②、复平面散点图
      • ③、模值
    • 2、ZC 序列循环移位
    • 3、ZC 序列自相关函数
    • 4、ZC 序列循环自相关
    • 5、ZC 序列循环互相关
    • 6、ZC 序列傅里叶变换
    • 7、ZC 序列低峰均比特性


前言

ZC 序列和 m 序列是数字通信中常用的两种序列,在编码和解码过程中起到重要的作用。本文作为 ZC 序列学习笔记,主要研究 ZC 序列的一些性质,并通过 MATLAB 对其进行仿真验证。


一、ZC 序列理论

1、基本概念

ZC 序列(Zadoff-Chu 序列)是一种具有良好性质的离散序列,它是一种复数序列,在通信系统中广泛应用。它由 Zadoff 和 Chu 于 1964 年提出,是一种特殊的线性调频脉冲压缩序列。ZC 序列常用于通信系统中的同步和信道估计等方面。

  • ZC 序列的自相关性是指序列与其自身进行相关运算后的结果。自相关性能够体现序列的周期性和重复性,对于同步和信道估计非常重要。
  • ZC 序列的互相关性是指序列与其他序列进行相关运算后的结果。互相关性能够体现序列之间的相似程度,对于信道估计和多用户检测等方面有着重要作用。

ZC 序列常用于各种无线通信系统中,如 LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)、GNSS(Global Navigation Satellite System)等。它们被广泛应用于信号处理和通信领域,以提高系统性能和可靠性。

2、表达式

ZC 序列常用于随机接入(Random Access)中以生成 preamble 序列,其表达式如下图所示:
在这里插入图片描述
ZC 序列有两个重要的参数:

  • 根索引(root index):对应上图中物理根序列号 u u u u u u 是由逻辑根序列号查表获取;
  • ZC 序列的长度:对应上图中根序列长度 L R A L_{RA} LRA一定得是奇数(常常是质数)

对于任意 ZC 序列,在长度 L R A L_{RA} LRA 和根序列 u u u 的取值确定的情况下,便可确定根序列 i i i

注意到:每个 ZC 序列的长度为 L R A L_{RA} LRA,而ZC序列的序列空间大小为 L R A − 1 L_{RA}-1 LRA1,即一共有 L R A − 1 L_{RA}-1 LRA1 个 ZC 序列。

我们可以发现,ZC 序列的值是一个复数,由欧拉公式 e j α = c o s ( α ) + j s i n ( α ) e^{j\alpha}=cos(\alpha)+jsin(\alpha) ejα=cos(α)+jsin(α),即可得到该复数的实部和虚部,除此之外,还可以发现它的幅值恒为 1,其实在复数坐标系中,它都是在单位圆上。

3、ZC 序列一些定义

①、自相关

离散时间序列的自相关函数定义为:
R n = ∑ n = − ∞ ∞ x [ k ] x ∗ [ k + n ] R_{n}= \sum\limits_{n=-\infty}^{\infty}x[k]x^{*}[k+n] Rn=n=x[k]x[k+n]

  • x [ k ] x[k] x[k] 为调制序列;
  • x ∗ [ k + n ] x^{*}[k+n] x[k+n] x [ k ] x[k] x[k] 时延信号的共轭。

②、循环移位

一个长度为 N N N 的有限长序列 x [ n ] x[n] x[n],其 m 次循环移位公式如下:
x m [ n ] = x [ ( n + m )   m o d   N ] , m = 0 , 1 , 2 , . . . , N − 1 x^{m}[n]=x[(n+m)\ mod\ N],m=0,1,2,...,N-1 xm[n]=x[(n+m) mod N]m=0,1,2,...,N1
一共有 N N N 个循环移位序列(包括本身)。

③、循环自相关

循环自相关也叫周期自相关,长度为 N N N 的有限长序列 x [ n ] x[n] x[n] 的序列循环自相关公式为:
R 0 = ∑ n = 0 N − 1 x [ n ] x ∗ [ n

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/165040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker的基本使用以及使用Docker 运行D435i

1.一些基本的指令 1.1 容器 要查看正在运行的容器&#xff1a; sudo docker ps 查看所有的容器&#xff08;包括停止状态的容器&#xff09; sudo docker ps -a 重新命名容器 sudo docker rename <old_name> <new_name> <old_name> 替换为你的容器名称…

基环树(pseudotree)入门

目录 无向基环树找环&#xff0c;[题目](https://www.luogu.com.cn/problem/P8655)拓扑排序找环并查集找环dfs找环 内向基环树[2876. 有向图访问计数](https://leetcode.cn/problems/count-visited-nodes-in-a-directed-graph/description/)[2127. 参加会议的最多员工数](https…

leetcode34.排序数组中查找元素第一个和最后一个位置两种解题方法(超详细)

34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/?envTypelist&envIdZCa7r67M这道题&#xff0c;读者可能会说这道题有什么好…

Flutter笔记:拖拽手势

Flutter笔记 拖拽手势 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134485123 目 录 1. 概述2. 垂直拖…

argocd

部署argocd https://github.com/argoproj/argo-cd/releases kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.9.1/manifests/install.yaml官网 https://argo-cd.readthedocs.io/en/stable/ kubectl crea…

从 0 开始手写一个 Mybatis 框架,三步搞定!

MyBatis框架的核心功能其实不难&#xff0c;无非就是动态代理和jdbc的操作&#xff0c;难的是写出来可扩展&#xff0c;高内聚&#xff0c;低耦合的规范的代码。本文完成的Mybatis功能比较简单&#xff0c;代码还有许多需要改进的地方&#xff0c;大家可以结合Mybatis源码去动手…

计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

AOT:一个.Net 8最牛逼和最受欢迎关注的功能!

这次.Net 8发布&#xff0c;更新了诸多功能&#xff0c;但从各个编程社区看到大家讨论和交流最多的&#xff0c;还是AOT这个功能。 AOT本身在.Net 7就开始引入了&#xff0c;但这次.Net 8做了诸多更新&#xff1a; 1、增加了macOS 平台的 x64 和 Arm64 体系结构的支持&#x…

最新版微信如何打开青少年模式?

最新版微信如何打开青少年模式&#xff1f; 1、将手机微信升级到最新版&#xff0c;并打开后点击底部我的进入&#xff1b; 2、在我的内&#xff0c;找到并点击设置进入&#xff1b; 3、在设置内找到青少年模式&#xff0c;并点击进入开启微信青少年模式&#xff1b; 原文来源…

一、MySQL-Replication(主从复制)

1.1、MySQL Replication 主从复制&#xff08;也称 AB 复制&#xff09;允许将来自一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。 根据配置&#xff0c;您可以复制数据库中的所有数据库&a…

QT下使用QChart绘制曲线

目录 头文件内容构造函数AddSeries方法UpdateSeries方法AppendSeriesData方法SetLegendVisiableSetRubberBandCPP内容测试函数 需要用到的头文件&#xff1a; #include <QtCharts/QChart> #include <QtCharts/QChartView> #include <QtCharts/QValueAxis> #…

贝锐蒲公英云AP,企业WiFi功能如何使用?

1. 功能介绍 基于WPA2-EAP安全认证技术&#xff0c;为企业提供了一套易用安全的企业无线网络,实现企业员工通过蒲公英客户端一键连接企业无线WiFi。自动分配一人一帐一密&#xff0c;无需配置证书或手动输入密码&#xff0c;减少沟通成本&#xff0c;方便快捷&#xff0c;提高…

百胜杯答题系统

近期太忙了 百胜方答题活动于近期终于告一段落&#xff0c;这个活动周期长&#xff0c;参与人数多&#xff0c;是我这几年做答题活动的一个巅峰之作 当然项目开发难度不大&#xff0c;主要是参与人数突破了百万&#xff0c;对我而言是一次很好的历练 具体的设计方案 百胜杯答…

【FPGA】Verilog:实现 RS 触发器 | Flip-Flop | 使用 NOR 的 RS 触发器 | 使用 NAND 的 RS 触发器

目录 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 0x01 实现 RS 触发器 0x02 使用 NOR 的 RS 触发器 0x03 使用 NAND 的 RS 触发器 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 触发器&#xff08;Flip-Flop&#xff09;是一种带有时钟的二进制存储设备…

贝锐蒲公英路由器X4C如何远程访问NAS?

在目前网盘前路坎坷的情况下&#xff0c;私人云盘已然是一种新的趋势&#xff01;那自己打造一个私有云盘&#xff0c;是否需要高成本或是高门槛呢&#xff1f;其实并不用&#xff01;蒲公英针对个人玩家打造了全方位的私有云解决方案。 &#xff08;1&#xff09;入门级玩家只…

自动 ARIMA 超参数搜索

一、介绍 这种用于自动超参数搜索进行预测的开发方法可能会花费大量时间&#xff0c;但它可以带来回报&#xff0c;因为当您找到预测模型的最佳参数时&#xff0c;它将节省时间并提高预测的精度。此外&#xff0c;手动尝试可能会花费您最多的时间&#xff0c;但这种方法在某些情…

拼图小游戏

运行出的游戏界面如下&#xff1a; User类 package domain;/*** ClassName: User* Author: Kox* Data: 2023/2/2* Sketch:*/ public class User {private String username;private String password;public User() {}public User(String username, String password) {this.user…

java--贪吃蛇

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random;public class Snake extends JFrame implements KeyListener, ActionListener, MouseListener {int slong 2;//蛇当前长度//蛇坐标int[] Snakex new int[100];int[] Snakey new…

存储过程与触发器

一、存储过程 1.1 概念 把需要重复执行的内容放在存储过程中&#xff0c;实现代码的复用。 create procedure 创建存储过程的关键字 my_proc1:存储过程的名字。 执行下例代码就是创建了一个存储过程 执行存储过程&#xff0c;就是把上图的插入语句重复执行&#xff0c;现…
最新文章