CN117785122A - 通用可配置伪随机序列产生方法 - Google Patents
通用可配置伪随机序列产生方法 Download PDFInfo
- Publication number
- CN117785122A CN117785122A CN202310596194.5A CN202310596194A CN117785122A CN 117785122 A CN117785122 A CN 117785122A CN 202310596194 A CN202310596194 A CN 202310596194A CN 117785122 A CN117785122 A CN 117785122A
- Authority
- CN
- China
- Prior art keywords
- sequence
- pseudo
- matlab
- random sequence
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012795 verification Methods 0.000 claims abstract description 9
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical group [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了通用可配置伪随机序列产生方法,涉及伪随机序列领域,解决了现有的FPGA集成设计环境中还未存在通用的、可配置任意阶数以及伪随机序列中的集成IP核,以及用户可交互界面的问题,现提出如下方案,其包括步骤一:MATLAB端用户输入选择目标伪随机序列,设置相关参数;步骤二:MATLAB端保存相关参数;步骤三:FPGA读取相关参数并执行输出目标伪随机序列;步骤四:MATLAB端读取输出目标伪随机序列并输出验证结果,保证结果正确性。本方法可配置任意阶数的伪随机序列,且伪随机序列中的集成IP核、用户可交互界面的通用性好。
Description
技术领域
本发明涉及伪随机序列领域,尤其涉及通用可配置伪随机序列产生方法。
背景技术
伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机特性的随机序列。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。特性为序列中两种元素出现的个数大致相等。其在通信领域有着广泛的应用,如扩频通信,数字数据中的加密、加扰、同步、误码率测量等领域。
但在现有的FPGA集成设计环境中还未存在通用的、可配置任意阶数以及伪随机序列中的集成IP核,以及用户可交互的界面。因此提出通用可配置伪随机序列产生方法。
发明内容
本发明的目的在于提供通用可配置伪随机序列产生方法,解决了现有的FPGA集成设计环境中还未存在通用的、可配置任意阶数以及伪随机序列中的集成IP核,以及用户可交互界面的问题。
为实现上述目的,本发明提供如下技术方案:通用可配置伪随机序列产生方法,包括以下步骤:
步骤一:MATLAB端用户输入选择目标伪随机序列,设置相关参数;
步骤二:MATLAB端保存相关参数;
步骤三:FPGA读取相关参数并执行输出目标伪随机序列;
步骤四:MATLAB端读取输出目标伪随机序列并输出验证结果,保证结果正确性。
优选的,所述步骤一与步骤二中相关参数包括阶数、反馈系数和初相。
优选的,所述步骤四中输出验证结果包括平衡性与相关性。
优选的,所述平衡性为0的个数比1的个数少一个,所述相关性为序列与其任何循环位移码在一个周期内逐位相比,对应码元,相同与不同之差最多为1。
优选的,所述步骤一中MATLAB可以经由用户输入目标阶数和初相,并输出对应长度的伪随机序列。
优选的,所述步骤一中MATLAB输出的伪随机序列可以根据不同选择,输出为m序列,Gold序列、Kasami序列,且MATLAB能够产生任意n阶的伪随机序列。
优选的,所述m序列为由带线性反馈的移位寄存器产生的周期最长的序列,—个n级线性反馈的所述移位寄存器可能产生的最长周期为(2^n-1)。
优选的,所述m序列特征多项式表示为:
f(x)=c0+c1x+c2x2+...+cnxn=∑cixi
当此式为本原多项式,即只能被1和自身整除时,才能产生m序列,其中ci为反馈系数,xi为初始状态值,c0和c1必须为1。
优选的,所述反馈的系数产生方法为查表或者基于MATLAB函数产生y=gfprimdf(n)。
与相关技术相比较,本发明提供的通用可配置伪随机序列产生方法具有如下有益效果:
本发明提供通用可配置伪随机序列产生方法,通过MATLAB可视化界面,首先在MATLAB端通过选择具体的一种伪随机序列(m序列,Gold序列以及kasami序列)输入目标阶数和初相,经过FPGA实现产生任意阶数的目标伪随机序列,并通过MATLAB读取结果进行验证序列的正确性,并展示验证结果。
使得本方法可配置任意阶数的伪随机序列,且伪随机序列中的集成IP核、用户可交互界面的通用性好。
附图说明
图1为本发明的线性反馈位移寄存器架构图。
图2为本发明的流程图。
图3为本发明的MATLAB部分代码展示图。
图4为本发明的FPGA部分代码展示图。
图5为本发明的MATLAB部分10阶结果展示图。
图6为本发明FPGA与MATLAB输出伪随机蓄力之间关系图。
图7为本发明的滑动卷积验证图。
图8为本发明的FPGA部分10阶结果展示图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-8,本发明提供一种技术方案:通用可配置伪随机序列产生方法,包括以下步骤:
步骤一:MATLAB端用户输入选择目标伪随机序列,设置相关参数;
步骤二:MATLAB端保存相关参数;
步骤三:FPGA读取相关参数并执行输出目标伪随机序列;
步骤四:MATLAB端读取输出目标伪随机序列并输出验证结果,保证结果正确性。
步骤一与步骤二中相关参数包括阶数、反馈系数和初相。
步骤四中输出验证结果包括平衡性与相关性。
平衡性为0的个数比1的个数少一个,相关性为序列与其任何循环位移码在一个周期内逐位相比,对应码元,相同与不同之差最多为1。
步骤一中MATLAB可以经由用户输入目标阶数和初相,并输出对应长度的伪随机序列。
步骤一中MATLAB输出的伪随机序列可以根据不同选择,输出为m序列,Gold序列、Kasami序列,且MATLAB能够产生任意n阶的伪随机序列。
m序列,是最长线性反馈移位寄存器序列的简称。它是由带线性反馈的移位寄存器(LSFR)产生的周期最长的序列。一个n级线性反馈移位寄存器可能产生的最长周期为(2^n-1)。因为移位寄存器的初始值不能为0,否则不管怎么移,移位寄存器的值都不为0,所以最长周期为(2^n-1)。
m序列特征多项式表示为:
f(x)=c0+c1x+c2x2+…+cnxn=∑cixi
当此式为本原多项式,即只能被1和自身整除时,才能产生m序列,其中ci为反馈系数,xi为初始状态值,c0和c1必须为1。
Gold序列,Gold序列首先取一对专门挑选的m序列,称为优选m序列(preferred m-sequences),并将其中一个序列相对于另一个序列做L次循环移位,每次移位后按模2相加。
Kasami序列,在Kasami序列则是一种通过每隔2^(m/2)+1个比特抽取某一m序列构造PN序列的方法。
反馈的系数产生方法为查表或者基于MATLAB函数产生y=gfprimdf(n)。
本实施方式中在具体实验时,
(1)通过MATLAB输入,并保存为txt、coe文件;
(2)然后有FPGA读取;
(3)通过下式进行循环:
f(x)=∑cixf
(4)然后输出伪随机序列;
(5)最后对平衡性与相关性进行验证。
本方法中还会形成游程特性,其为长度为1的游程占1/2,长度为2的游程站1/4,并以此类推。
其中查表所得反馈系数可以参见下表1:
Claims (9)
1.通用可配置伪随机序列产生方法,其特征在于,包括以下步骤:
步骤一:MATLAB端用户输入选择目标伪随机序列,设置相关参数;
步骤二:MATLAB端保存相关参数;
步骤三:FPGA读取相关参数并执行输出目标伪随机序列;
步骤四:MATLAB端读取输出目标伪随机序列并输出验证结果,保证结果正确性。
2.根据权利要求1所述的通用可配置伪随机序列产生方法,其特征在于,所述步骤一与步骤二中相关参数包括阶数、反馈系数和初相。
3.根据权利要求2所述的通用可配置伪随机序列产生方法,其特征在于,所述步骤四中输出验证结果包括平衡性与相关性。
4.根据权利要求3所述的通用可配置伪随机序列产生方法,其特征在于,所述平衡性为0的个数比1的个数少一个,所述相关性为序列与其任何循环位移码在一个周期内逐位相比,对应码元,相同与不同之差最多为1。
5.根据权利要求1或4所述的通用可配置伪随机序列产生方法,其特征在于,所述步骤一中MATLAB可以经由用户输入目标阶数和初相,并输出对应长度的伪随机序列。
6.根据权利要求5所述的通用可配置伪随机序列产生方法,其特征在于,所述步骤一中MATLAB输出的伪随机序列可以根据不同选择,输出为m序列,Gold序列、Kasami序列,且MATLAB能够产生任意n阶的伪随机序列。
7.根据权利要求6所述的通用可配置伪随机序列产生方法,其特征在于,所述m序列为由带线性反馈的移位寄存器产生的周期最长的序列,—个n级线性反馈的所述移位寄存器可能产生的最长周期为(2^n-1)。
8.根据权利要求7所述的通用可配置伪随机序列产生方法,其特征在于,所述m序列特征多项式表示为:
f(x)=c0+c1x+c2x2+...+cnxn=∑cixi
当此式为本原多项式,即只能被1和自身整除时,才能产生m序列,其中ci为反馈系数,xi为初始状态值,c0和c1必须为1。
9.根据权利要求8所述的通用可配置伪随机序列产生方法,其特征在于,所述反馈的系数产生方法为查表或者基于MATLAB函数产生y=gfprimdf(n)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310596194.5A CN117785122A (zh) | 2023-05-24 | 2023-05-24 | 通用可配置伪随机序列产生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310596194.5A CN117785122A (zh) | 2023-05-24 | 2023-05-24 | 通用可配置伪随机序列产生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785122A true CN117785122A (zh) | 2024-03-29 |
Family
ID=90387509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310596194.5A Pending CN117785122A (zh) | 2023-05-24 | 2023-05-24 | 通用可配置伪随机序列产生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785122A (zh) |
-
2023
- 2023-05-24 CN CN202310596194.5A patent/CN117785122A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5160747B2 (ja) | 活用的なテスト・パターン装置および方法 | |
US4691291A (en) | Random sequence generators | |
Mitra | On pseudo-random and orthogonal binary spreading sequences | |
WO1999035564A1 (en) | An efficient way to produce a delayed version of a maximum length sequence | |
Masoodi et al. | An analysis of linear feedback shift registers in stream ciphers | |
Sewak et al. | FPGA implementation of 16 bit BBS and LFSR PN sequence generator: A comparative study | |
US6636549B1 (en) | Method for calculating phase shift coefficients of an M sequence | |
Cardell et al. | Binomial representation of cryptographic binary sequences and its relation to cellular automata | |
CN114270774B (zh) | 非线性反馈移位寄存器 | |
Ziani et al. | Analysis of different Pseudo-Random and orthogonal spreading sequences in DS-CDMA | |
Goresky et al. | Pseudonoise sequences based on algebraic feedback shift registers | |
CN103441813B (zh) | 一种用于cdma系统的低相关二元序列集生成方法 | |
US20090254333A1 (en) | LFSR Emulation | |
CN117785122A (zh) | 通用可配置伪随机序列产生方法 | |
US8433740B2 (en) | M-sequence generator, providing method thereof, and random error generating device in which M-sequence generator is used | |
Golomb | Shift register sequences–a retrospective account | |
KR100327856B1 (ko) | M계열을 임의로 쉬프트하는 회로 및 방법 | |
US6999983B2 (en) | Method and apparatus for producing pseudorandom signal | |
Pandian et al. | Five decade evolution of feedback shift register: algorithms, architectures and applications | |
Sony et al. | Design and Analysis of Multi-Bit Linear Feedback Shift Register based PRNG with FPGA Implementation using different Primitive Polynomials | |
US7613757B1 (en) | System and method for parallel PN generation | |
Ahmad et al. | On locking conditions in m-sequence generators for the use in digital watermarking | |
US6910056B1 (en) | Method and apparatus for implementing a multi-step pseudo random sequence generator | |
Alioto et al. | On the suitability of digital maps for integrated pseudo-RNGs | |
Zuev et al. | FPGA Implementation of a Pseudo-Random Sequence Generators Based on the Modified Lorentz System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |