前言
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 uu,u uu 是由逻辑根序列号查表获取;ZC 序列的长度
:对应上图中根序列长度 L R A L_{RA}LRA,一定得是奇数(常常是质数);
对于任意 ZC 序列,在长度 L R A L_{RA}LRA 和根序列 u uu 的取值确定的情况下,便可确定根序列 i ii。
注意到:每个 ZC 序列的长度为 L R A L_{RA}LRA,而ZC序列的序列空间大小为 L R A − 1 L_{RA}-1LRA−1,即一共有 L R A − 1 L_{RA}-1LRA−1 个 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 NN 的有限长序列 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-1xm[n]=x[(n+m) mod N],m=0,1,2,...,N−1
一共有 N NN 个循环移位序列(包括本身)。
③、循环自相关
循环自相关也叫周期自相关,长度为 N NN 的有限长序列 x [ n ] x[n]x[n] 的序列循环自相关公式为:
R 0 = ∑ n = 0 N − 1 x [ n ] x ∗ [ n ] R_{0}=\sum^{N-1}_{n=0}x[n]x^{*}[n]R0=n=0∑N−1x[n]x∗[n]
归一化的循环自相关公式为:
R ‾ x x [ τ ] = 1 N R x x [ τ ] \overline{R}_{xx}[\tau]=\frac{1}{N}R_{xx}[\tau]Rxx[τ]=N1Rxx[τ]
显而易见,R ‾ x x [ 0 ] = 1 , R ‾ x x [ τ ≠ 0 ] ≤ 1 \overline{R}_{xx}[0]=1,\overline{R}_{xx}[\tau \neq0]\le1Rxx[0]=1,Rxx[τ=0]≤1。
④、循环互相关
循环互相关也叫周期互相关,给定长度为 N NN 的两个有限长序列 x [ n ] x[n]x[n] 和 y [ n ] y[n]y[n],它们的循环互相关公式为:
R x y = ∑ n = 0 N − 1 x [ n ] y ∗ [ n ] R_{xy}=\sum^{N-1}_{n=0}x[n]y^{*}[n]Rxy=n=0∑N−1x[n]y∗[n]
类似地,我们可以定义归一化的循环互相关公式为:
R ‾ x y [ τ ] = 1 N R x y [ τ ] \overline{R}_{xy}[\tau]=\frac{1}{N}R_{xy}[\tau]Rxy[τ]=N1Rxy[τ]
一般地,我们把 R ‾ x y [ 0 ] \overline{R}_{xy}[0]Rxy[0] 称为两个序列的互相关。
二、ZC 序列性质
1、性质 1:恒包络,即等模
任意长度的 ZC 序列幅值恒定,这也意味着功率恒定,这个好处就是射频器件不用忽大忽小的改变放大能量。为什么能够恒包络?看 ZC 序列的生成表达可以看到,本质就是一个底数为 e 的指数序列,每一个序列值代表单位圆上的一个点。每一个点值,仅是改变相位而已。复指数是一个二维 I、Q 的平面图。
令 u = 10 u=10u=10,L R A = 839 L_{RA} = 839LRA=839,绘制的复平面图形如下:
2、性质 2:零循环自相关
一个 ZC 序列的循环自相关是最优的,因为对于所有的非零移位序列,与原序列的自相关都等于 0
ZC 序列循环移位 N,如果 N 不等于 ZC 序列的长度(N 等于序列长度,循环移位后回到起始点了),则移位后的序列和原序列不相关。啥意思?就是说虽然本是同根生,但是只要屁股挪了一下,哪怕是挪一位,那长得一点都不像没有挪前的样子。这个性质有什么好处?假如没挪前的序列表示一个 UE,挪位后的序列表示另一个 UE,那么基站用根序列与接收到的序列一相关运算,就知道有几个 UE 在向他打报告申请资源了。至于“相关”运算,可以理解为查看两条序列长得“像不像”的工具,长得“像”,相关峰值就又直又高耸入云,长得不“像”,相关峰值就软绵绵趴在地上。
ZC 序列循环移位后,原序列和移位后的相关峰值出现在移位大小的位置。
3、性质 3:固定循环互相关
对相同长度的两个 ZC 序列,即一个序列的 root index 为 q 1 q_1q1,另一个序列的 root index 为 q 2 q_2q2,且 q 1 ≠ q 2 q_1\neq q_2q1=q2,那么两个序列的归一化循环互相关值正好等于 1 / N z c 1/\sqrt{N_{zc}}1/Nzc,这里一般假设 N z c N_{zc}Nzc 是质数,或者更一般地,认为 ∣ q 1 − q 2 ∣ |q_1-q_2|∣q1−q2∣ 与 N z c N_{zc}Nzc 互质。
4、其他性质
①、傅里叶变换后仍是 ZC 序列
这个性质,简直就是为 OFDM 系统量身打造,也省去多少运算量。既可以在时域相关,也可以在频域相关,灵活决定姿势,怎么方便怎么来。
OFDM 本质是多个并行的子载波采用正交 IQ 调制,然后相加在一起,以单个子载波对应的时间周期T,离散化后,刚好是一个离散逆傅立叶变换IFFT,这是 OFDM 调制采用 IFFT 变换的本质。
②、低峰均比
对于发端,ZC 序列峰均比低(ZC 序列时频域都是 ZC 序列,且幅值恒定),有利于射频功放信号发挥最大的效率。
对于信道估计,ZC 序列幅值恒定,其图形可看作一个单位圆。
序列长度对序列的影响
:ZC 序列越长,序列间的互相关性越差。在做多用户 RA 时,序列间的互相关性越差,某一序列对其他序列造成的干扰越小,从而提高序列检测的正确率。因此,ZC序列越长,检测性能越好。
③、序列间的正交性
- 相同 root index 的两个 ZC 序列彼此正交;
- 不同 root index 的两个 ZC 序列由于其彼此互相关性非零,因此不再具有正交性;
三、MATLAB 仿真
1、ZC 序列生成
MATLAB 上已经有函数专门产生 ZC 序列的函数:zadoffChuSeq
注:zadoffChuSeq 用在 R2019a 版本及以后,之前的版本使用 lteZadoffChuSeq 函数,这两个函数只是名字发生了变化。
使用方法:
seq = zadoffChuSeq(R,N) % 生成长度为 N 的第 R 根的 Zadoff-Chu 序列
例如我们生成长度为 139,根序列号为 25 的 Zadoff-Chu 序列,并输出序列的离散复数点、绘制复平面散点图及模值:
seq = zadoffChuSeq(25, 139); disp(seq); figure; scatter(real(seq), imag(seq), 'filled'); xlabel('Real Part'); ylabel('Imaginary Part'); title('Complex Plot of seq'); figure; plot(abs(seq)); xlabel('Sample Index'); ylabel('Magnitude'); title('Magnitude of seq');
仿真结果如下:
①、复数点
生成的输出序列的离散复数点如下:
1.0000 + 0.0000i 0.4266 - 0.9044i -0.9693 + 0.2461i 0.8789 - 0.4770i 0.3004 + 0.9538i -0.3219 + 0.9468i 0.1687 + 0.9857i 0.9746 - 0.2241i -0.9875 - 0.1576i 0.8323 - 0.5544i 0.7788 + 0.6273i 0.6869 + 0.7268i 0.9837 - 0.1798i -0.6702 - 0.7421i 0.7497 + 0.6618i -0.8679 + 0.4967i -0.9693 - 0.2461i -0.9936 + 0.1128i 0.0339 + 0.9994i 0.4670 - 0.8842i 0.1240 + 0.9923i -0.9571 + 0.2896i -0.9997 + 0.0226i -0.6360 + 0.7717i 0.9634 + 0.2679i -0.9571 - 0.2896i 0.6869 - 0.7268i 0.9959 + 0.0903i 0.9908 - 0.1352i 0.0790 - 0.9969i -0.6702 + 0.7421i 0.2570 - 0.9664i 0.9746 + 0.2241i 0.8064 + 0.5914i 0.9959 - 0.0903i -0.3643 - 0.9313i 0.2131 + 0.9770i -0.9271 - 0.3748i -0.1464 - 0.9892i -0.2351 - 0.9720i -0.9936 - 0.1128i 0.6184 + 0.7858i -0.8446 - 0.5354i 0.6184 - 0.7858i 0.9353 - 0.3538i 0.5823 - 0.8130i -0.8895 - 0.4570i 0.7190 + 0.6950i -0.9977 + 0.0678i -0.4469 - 0.8946i -0.4060 - 0.9139i -0.9977 - 0.0678i 0.5450 + 0.8385i -0.7031 - 0.7111i 0.8565 - 0.5162i 0.9908 + 0.1352i 0.9504 - 0.3112i -0.3219 - 0.9468i -0.1015 + 0.9948i -0.5638 - 0.8259i 0.6533 - 0.7571i 0.7788 - 0.6273i -0.0565 - 0.9984i -0.8446 + 0.5354i 0.8064 - 0.5914i 0.2570 + 0.9664i -0.5259 + 0.8506i -0.2351 + 0.9720i 0.9353 + 0.3538i -0.6005 - 0.7996i 0.9353 + 0.3538i -0.2351 + 0.9720i -0.5259 + 0.8506i 0.2570 + 0.9664i 0.8064 - 0.5914i -0.8446 + 0.5354i -0.0565 - 0.9984i 0.7788 - 0.6273i 0.6533 - 0.7571i -0.5638 - 0.8259i -0.1015 + 0.9948i -0.3219 - 0.9468i 0.9504 - 0.3112i 0.9908 + 0.1352i 0.8565 - 0.5162i -0.7031 - 0.7111i 0.5450 + 0.8385i -0.9977 - 0.0678i -0.4060 - 0.9139i -0.4469 - 0.8946i -0.9977 + 0.0678i 0.7190 + 0.6950i -0.8895 - 0.4570i 0.5823 - 0.8130i 0.9353 - 0.3538i 0.6184 - 0.7858i -0.8446 - 0.5354i 0.6184 + 0.7858i -0.9936 - 0.1128i -0.2351 - 0.9720i -0.1464 - 0.9892i -0.9271 - 0.3748i 0.2131 + 0.9770i -0.3643 - 0.9313i 0.9959 - 0.0903i 0.8064 + 0.5914i 0.9746 + 0.2241i 0.2570 - 0.9664i -0.6702 + 0.7421i 0.0790 - 0.9969i 0.9908 - 0.1352i 0.9959 + 0.0903i 0.6869 - 0.7268i -0.9571 - 0.2896i 0.9634 + 0.2679i -0.6360 + 0.7717i -0.9997 + 0.0226i -0.9571 + 0.2896i 0.1240 + 0.9923i 0.4670 - 0.8842i 0.0339 + 0.9994i -0.9936 + 0.1128i -0.9693 - 0.2461i -0.8679 + 0.4967i 0.7497 + 0.6618i -0.6702 - 0.7421i 0.9837 - 0.1798i 0.6869 + 0.7268i 0.7788 + 0.6273i 0.8323 - 0.5544i -0.9875 - 0.1576i 0.9746 - 0.2241i 0.1687 + 0.9857i -0.3219 + 0.9468i 0.3004 + 0.9538i 0.8789 - 0.4770i -0.9693 + 0.2461i 0.4266 - 0.9044i 1.0000 - 0.0000i
ZC序列理论学习及仿真(二)https://developer.aliyun.com/article/1472382