非周期序列设计(CAN算法)

本文介绍了雷达系统中波形设计的关键准则,如ISL和PSL,重点讲解了CAN算法,一种以积分旁瓣电平为目标的优化方法,通过频域转换和正交变换实现高效序列设计。文章详细阐述了算法推导过程及其实现,适用于大规模序列设计。
摘要由CSDN通过智能技术生成

本文主要内容来自于何浩的著作《有源感知系统波形设计算法》 建议阅读英文版,中文版有些符号有点问题。

He, H., Li, J., & Stoica, P. (2012). Waveform Design for Active Sensing Systems: A Computational Approach. Cambridge: Cambridge University Press. doi:10.1017/CBO9781139095174

一、设计准则

在雷达系统中,模糊函数是分析给定波形分辨率、副瓣性能以及多普勒和距离模型方面十分有用的工具。自相关函数可以看作零多普勒的模糊函数剖面。考虑发射信号 s ( t ) s(t) s(t) N N N 个符号组成:
s ( t ) = ∑ n = 1 N x ( n ) p n ( t ) (1) s(t)=\sum_{n=1}^{N} x(n) p_{n}(t)\tag{1} s(t)=n=1Nx(n)pn(t)(1)
其中, p n ( t ) p_n(t) pn(t)为成形脉冲, { x ( n ) } n = 1 N \{x(n)\}_{n=1}^N {x(n)}n=1N表示其中的 N N N个符号。当考虑恒模约束,可以将符号函数表示为:
x ( n ) = e j ϕ ( n ) , n = 1 , … , N (2) x(n)=e^{j\phi(n)},\quad n=1,\ldots,N\tag{2} x(n)=ejϕ(n),n=1,,N(2)
进一步, x ( n ) x(n) x(n)的自相关函数可以表示为:
r ( k ) = ∑ n = k + 1 N x ( n ) x ∗ ( n − k ) = r ∗ ( − k ) , k = 0 , … , N − 1 .  (3) r(k)=\sum_{n=k+1}^{N} x(n) x^{*}(n-k)=r^{*}(-k), \quad k=0, \ldots, N-1 \text {. }\tag{3} r(k)=n=k+1Nx(n)x(nk)=r(k),k=0,,N1(3)
上述自相关函数 { r ( k ) } k = − N + 1 N − 1 \{r(k)\}_{k=-N+1}^{N-1} {r(k)}k=N+1N1更准确的叫法是非周期自相关函数(Aperiodic Auto Correlation Function, AACF),并且 r ( 0 ) r(0) r(0)称为同相相关,总是等于信号能量。

如果仅考虑单个脉冲序列的性能,可以通过对序列的自相关函数进行设计,进而得到所需的脉冲序列。一般而言,非周期序列设计的目标是使 { r ( k ) } k ≠ 0 \{r(k)\}_{k\ne 0} {r(k)}k=0尽可能小。传统准则主要有两个:积分旁瓣电平(Integrated Sidelobe Level, ISL)和峰值旁瓣电平 (Peak Sidelobe Level, PSL)。ISL 衡量的是波形 ACF 整体旁瓣电平,以 ISL 为准则优化得到的波形旁瓣整体性能较均衡;而 PSL 衡量的是波形 ACF 旁瓣峰值,码长越长,以 PSL 为准则优化得到的旁瓣峰值越低。

二、设计方法

Stoica P, He H, Li J. New algorithms for designing unimodular sequences with good correlation properties [J]. IEEE Transactions on Signal Processing, 2009, 57(4): 1415-1425.

CAN (Cyclic algorithm-new) 算法 采用积分旁瓣电平作为序列性能的衡量准则,其定义如下:
I S L = ∑ k = − ( N − 1 ) k ≠ 0 N − 1 ∣ r ( k ) ∣ 2 = 2 ∑ k = 1 N − 1 ∣ r ( k ) ∣ 2 (4) \mathrm{ISL}=\sum_{\substack{k=-(N-1) \\ k \neq 0}}^{N-1}|r(k)|^{2}=2 \sum_{k=1}^{N-1}|r(k)|^{2}\tag{4} ISL=k=(N1)k=0N1r(k)2=2k=1N1r(k)2(4)
另一种等价表述是品质因数(Merit Factor, MF):
M F = ∣ r ( 0 ) ∣ 2 ∑ k = − ( N − 1 ) k ≠ 0 N − 1 ∣ r ( k ) ∣ 2 = N 2 I S L (5) \mathrm{MF}=\frac{|r(0)|^{2}}{\sum_{\substack{k=-(N-1) \\ k \neq 0}}^{N-1}|r(k)|^{2}}=\frac{N^{2}}{\mathrm{ISL}}\tag{5} MF=k=(N1)k=0N1r(k)2r(0)2=ISLN2(5)
在恒模约束的条件下,CAN是一种可以得到使ISL或与ISL相关的准则最小的恒模序列的高效优化方法。其算法流程如下所示。

2.1 CAN算法推导

CAN算法流程图
CAN算法第一步是将ISL准则转换到频域表示。 对于任何一个频点 ω ∈ [ 0 , 2 π ] \omega\in\left[0,2\pi\right] ω[0,2π]
∣ ∑ n = 1 N x ( n ) e − j ω n ∣ 2 = ∑ k = − ( N − 1 ) N − 1 r ( k ) e − j ω k ≜ Φ ( ω ) (6) \left|\sum_{n=1}^N x(n) e^{-j \omega n}\right|^2=\sum_{k=-(N-1)}^{N-1} r(k) e^{-j \omega k} \triangleq \Phi(\omega)\tag{6} n=1Nx(n)ejωn 2=k=(N1)N1r(k)ejωkΦ(ω)(6)
此时,利用帕塞瓦尔定理,可以将ISL度量等价为:
I S L = 1 2 N ∑ p = 1 2 N [ Φ ( ω p ) − N ] 2 = 1 2 N ∑ p = 1 2 N ( ∣ ∑ n = 1 N x ( n ) e − j ω p n ∣ 2 − N ) 2 (7) \mathrm{ISL}=\frac{1}{2 N} \sum_{p=1}^{2 N}\left[\Phi\left(\omega_p\right)-N\right]^2=\frac{1}{2 N}\sum_{p=1}^{2 N}\left(\left|\sum_{n=1}^N x(n) e^{-j \omega_p n}\right|^2-N\right)^2\tag{7} ISL=2N1p=12N[Φ(ωp)N]2=2N1p=12N n=1Nx(n)ejωpn 2N 2(7)
其中, { ω p } \{\omega_p\} {ωp}是以下傅里叶频率:
ω p = 2 π 2 N p , p = 1 , … , 2 N (8) \omega_p=\frac{2 \pi}{2 N} p, \quad p=1, \ldots, 2 N\tag{8} ωp=2N2πp,p=1,,2N(8)
这个结果有一个明显的直观解释:最小化ISL使序列表现得像白噪声,因此其周期图在频率上应该几乎是恒定的。

一个问题是,式(6)中的准则是 { x ( n ) } \left\{x(n)\right\} {x(n)}的四次函数。但是,Petre Stoica发现,对 { x ( n ) } \left\{x(n)\right\} {x(n)}的最小化几乎等同于以下 { x ( n ) } \left\{x(n)\right\} {x(n)}的二次函数:
min ⁡ { x ( n ) } n = 1 N ; { ψ p } p = 1 2 N ∑ p = 1 2 N ∣ ∑ n = 1 N x ( n ) e − j ω p n − N e j ψ p ∣ 2 . (9) \min _{\{x(n)\}_{n=1}^{N} ;\left\{\psi_{p}\right\}_{p=1}^{2 N}} \sum_{p=1}^{2 N}\left|\sum_{n=1}^{N} x(n) e^{-j \omega_{p} n}-\sqrt{N} e^{j \psi_{p}}\right|^{2} .\tag{9} {x(n)}n=1N;{ψp}p=12Nminp=12N n=1Nx(n)ejωpnN ejψp 2.(9)
(上式等价性的说明可以参考《有源感知系统波形设计算法》的附录2A)

当完成频域变换后,令
a p H = [ e − j ω p ⋯ e − j 2 N ω p ] , (10) \mathbf{a}_p^H=\left[e^{-j\omega_p}\cdots e^{-j2N\omega_p}\right],\tag{10} apH=[ejωpej2Nωp],(10),
A H \mathbf{A}^{H} AH是一个 2 N × 2 N 2N\times 2N 2N×2N的酉矩阵,由
A H = 1 2 N [ a 1 H ⋮ a 2 N H ] (11) \mathbf{A}^{H}=\frac{1}{\sqrt{2 N}}\left[\begin{array}{c} \mathbf{a}_{1}^{H} \\ \vdots \\ \mathbf{a}_{2 N}^{H} \end{array}\right]\tag{11} AH=2N 1 a1Ha2NH (11)
z \mathbf{z} z是序列 { x ( n ) } n = 1 N \left\{x(n)\right\}_{n=1}^N {x(n)}n=1N进行补零后的序列,填充了 N N N 0 0 0
z = [ x ( 1 ) , ⋯   , x ( N ) , 0 , ⋯   , 0 ] 2 N × 1 T (12) \mathbf{z}=\left[x(1),\cdots,x(N),0,\cdots,0\right]_{2N\times1}^T\tag{12} z=[x(1),,x(N),0,,0]2N×1T(12)
将(6)中的准则可以重写成更紧凑的形式
min ⁡ z ∥ A H z − v ∥ 2 , (13) \min _{\mathbf{z}}\|\mathbf{A}^H\mathbf{z}-\mathbf{v}\|^2,\tag{13} zminAHzv2,(13)
其中, v \mathbf{v} v为相位辅助变量,
v = 1 2 [ e j ψ 1 , ⋯   , e j ψ 2 N ] T . (14) \mathbf{v}=\frac{1}{\sqrt{2}}\left[e^{j\psi_1},\cdots,e^{j\psi_{2N}}\right]^T.\tag{14} v=2 1[ejψ1,,ejψ2N]T.(14)
对于给定的 z \mathbf{z} z,(13)关于 { ψ p } \left\{\psi_p\right\} {ψp}的最小值是直接计算的,即表示 z \mathbf{z} z的傅里叶变换:
f = A H z (15) \mathbf{f}=\mathbf{A}^H\mathbf{z}\tag{15} f=AHz(15)
ψ p = arg ⁡ ( f p ) , p = 1 , ⋯   , 2 N (16) \psi_p=\arg\left(f_p\right),\quad p=1,\cdots,2N\tag{16} ψp=arg(fp),p=1,,2N(16)
同样地,对于一个给定的 v \mathbf{v} v,利用 A \mathbf{A} A的正交性,直接求解 v \mathbf{v} v的逆傅里叶变换(IFFT):
g = A v (17) \mathbf{g}=\mathbf{A}\mathbf{v}\tag{17} g=Av(17)

因为 ∥ A H z − v ∥ 2 = ∥ z − A v ∥ 2 \|\mathbf{A}^H\mathbf{z}-\mathbf{v}\|^2=\|\mathbf{z}-\mathbf{A}\mathbf{v}\|^2 AHzv2=zAv2,所以最小化序列 { x ( n ) } \left\{x(n)\right\} {x(n)}是由
x ( n ) = e j arg ⁡ ( g n ) , n = 1 , ⋯   , N . (18) x(n)=e^{j\arg(g_n)},\quad n=1,\cdots,N.\tag{18} x(n)=ejarg(gn),n=1,,N.(18)

下表总结了循环局部最小化的CAN算法。由于只涉及简单的FFT和IFFT操作,即使在PC上也可以计算码长达 1 0 6 10^6 106的序列。
CAN伪代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值