一、Costas序列(常用在跳频中)
在数学中,Costas 数组可以在几何上视为 n 个点的集合,每个点位于 n×n 方块平铺中一个正方形的中心,使得每一行或每一列仅包含一个点,并且每对点之间的 n(n − 1)/2 个位移向量都是不同的。这导致了一个理想的“图钉”自模糊函数,使得这些数组在声纳和雷达等应用中非常有用。可以由对数Welch方法构建。[4]
下图是N=4的costas矩阵
这个代码老师没给,仿真时直接上网查输进去的QAQ,但是给了一本书《Radar Signals》(Nadav Leavnopn, Eli Mozaeeson)(这本书年龄比我爷爷都大……),本人用了,一堆报错,真服了……以下是修改改后的代码[10]
1 | function positions = costas(N) |
- 函数中使用了 Welch 构造方法,这是一种常用的构造 Costas 数组的方法。
- 函数中还涉及到有限域(GF(p))的概念,这是数学和密码学中的一个概念,用于确定哪些元素是原始元素。
1 | positions = costas(4); |
典型的应用案例:
N | 构造类型 | 应用领域 | 示例序列(部分) | 来源 |
---|---|---|---|---|
4 | Welch1 | 通信跳频 | [2,4,3,1] 或 [3,4,2,1] |
[7] [8] |
10 | Welch1 | 雷达抗干扰 | [2,4,8,5,10,9,7,3,6,1] |
[8] |
29 | 未明确 | 高频声纳 | [3,21,23,...,25] (29元素序列) |
[8] |
15 | Welch2 | 密码学中的密钥序列生成 | 基于GF(17)生成 | [9] |
接下来介绍的都是相位编码
二、m序列
- m序列是最大长度序列的简称(Maximum length sequence,MLS) ,就是线性以为寄存器通过线性反馈产生的最长序列,规定级数为r时,产生的码序列为
- MLS的实际应用包括测量脉冲响应(例如,房间混响或来自海洋拖曳源的到达时间 [1]),此外还可作为伪随机序列用于直接序列扩频和跳频传输的数字通信系统中。[2]
1.m序列的生成
假设生成多项式是,则移位器如图所示,若移位器系数为1,则之前的线路与异或器相连,如果为0则不相连。
MLS 是通过最大线性反馈移位寄存器生成的。下图显示了一个具有长度为 4 的移位寄存器的 MLS 生成系统。它可以用以下递归关系表示:
其中 n 是时间索引, + 表示模2 加法。对于比特值 0 = FALSE 或 1 = TRUE,这相当于异或操作。
此处有介绍的视频:通信原理4.6.1m序列_哔哩哔哩_bilibili
代码:
1 | function seq = m_seq(oct,gen) |
2.m序列属性
- 0和1的数量大致相同
- MLS 的线性自相关近似于δ函数[3]
3. 脉冲响应的提取
如果系统的冲激响应是 h[n],而 MLS 是 s[n],那么
![y[n]=h[n]*s[n]](/img/loading.gif)
对两边与s[n]进行相关处理
由于性质2,当长度足够长时,近似为一个冲击函数,所以s[n]与y[n]的互相关就是脉冲响应
https://readit.site/a/XYlZG/Maximum_length_sequence
三、Gold序列
Gold序列常用于CDMA[5]和GPS卫星导航[6]
Gold codes have bounded small cross-correlations within a set, which is useful when multiple devices are broadcasting in the same frequency range.
引文所说,在一个集合内,互相关性能很小,因此在同意同一频带多用户同通信时很有用
Gold序列的互相关极大值
1.Gold序列的生成
gold序列是由两个M序列异或得到
https://readit.site/a/popNM/Gold_code
1 | function seqs = gold(oct1,gen) |
四、Kasami序列
Kasami 序列是长度为 2 N −1 的二进制序列,其中 N 是偶整数。Kasami 序列具有良好的交叉相关值,接近 Welch 下界。Kasami 序列分为两类——小集和大集。
1kasami序列的生成:
- 选择两个不同的M序列: Kasami序列通常由两个长度相同的M序列(最大长度序列)生成。第一个M序列的生成通常使用一个基准的反馈多项式,而第二个M序列则通过将第一个序列进行适当的位移来获得。
- 通过异或操作生成Kasami序列: 通过将这两个M序列进行异或操作得到Kasami序列。对于一个给定的序列,可以通过改变异或操作的位置(即通过移位)来生成多个Kasami序列。
eg. 假设我们要生成一个长度为15的Kasami序列,使用两个4阶M序列。
步骤1:生成两个M序列
假设两个M序列的生成多项式分别为:
P1 = x^4 + x + 1
,对应的反馈结构生成M序列M1
。P2 = x^4 + x^3 + 1
,对应的反馈结构生成M序列M2
步骤2:生成Kasami序列
选择一个移位值 d
(例如,d = 3
),然后将第二个M序列 M2
进行移位并与 M1
异或,生成Kasami序列。 就获得了长度为15的kasami序列
1 | function seqs = lkasami(oct,gen) |
五、其它编码
-
Phase-Coded Pulse: Barker码
-
Chirplike Phase Codes:
- Frank Code
- P1,P2和Px Codes
- Zadoff-Chu Code
- Golomb Polyphase Codes
-
Huffman Code
附上常用的本征多项式:
参考文章:
[1] Gemba, Kay L.; Vazquez, Heriberto J.; Fialkowski, Joseph; Edelmann, Geoffrey F.; Dzieciuch, Matthew A.; Hodgkiss, William S. (October 2021). “A performance comparison between m-sequences and linear frequency-modulated sweeps for the estimation of travel-time with a moving source”. The Journal of the Acoustical Society of America. 150 (4): 2613–2623. Bibcode:2021ASAJ…150.2613G. doi:10.1121/10.0006656. PMID 34717519. S2CID 240355915.
[2] Buracas GT, Boynton GM (July 2002). “Efficient design of event-related fMRI experiments using M-sequences”. NeuroImage. 16 (3 Pt 1): 801–13. doi:10.1006/nimg.2002.1116. PMID 12169264. S2CID 7433120.
[3] Jacobsen, Finn; Juhl, Peter Moller (2013-06-04). Fundamentals of General Linear Acoustics. John Wiley & Sons. ISBN 978-1118636176. A maximum-length sequence is a binary sequence whose circular autocorrelation (except for a small DC-error) is a delta function.
[4] Costas (1965); Gilbert (1965); An independent discovery of Costas arrays, Aaron Sterling, October 9, 2011.
[5] George, Maria; Hamid, Mujtaba; Miller, Andy (2001-01-10). “Gold Code Generators in Virtex Devices” (PDF). Virtex Series, Virtex-II Series, and Spartan-II family (Application note). 1.1. Xilinx. XAPP217. Archived from the original (PDF) on 2008-07-05. (9 pages)
[6] “Transmitted GPS Signals”. The GPS System. kowoma GPS. 2009-04-19. Archived from the original on 2012-08-04.
[7] GOLOMB S W, TAYLOR H. Constructions and properties of Costas arrays[J/OL]. Proceedings of the IEEE, 1984: 1143-1163. https://doi.org/10.1109/proc.1984.12994. DOI:10.1109/proc.1984.12994.
[8] https://blogs.mathworks.com/steve/2007/02/15/costas-arrays/
[9]KEN TAYLOR,SCOTT RICKARD,KONSTANTINOS DRAKAKIS.Costas Arrays: Survey, Standardization, and MATLAB Toolbox[J].ACM transactions on mathematical software,2011,37(4):p.38:59-38:89
[10] Levanon, Nadav, E. Mozeson, R. Signals and Chaim Levanon. “RADAR SIGNALS.” (2013).