CN116185342A - 一种基于fpga的新型伪随机噪声产生方法 - Google Patents
一种基于fpga的新型伪随机噪声产生方法 Download PDFInfo
- Publication number
- CN116185342A CN116185342A CN202310170756.XA CN202310170756A CN116185342A CN 116185342 A CN116185342 A CN 116185342A CN 202310170756 A CN202310170756 A CN 202310170756A CN 116185342 A CN116185342 A CN 116185342A
- Authority
- CN
- China
- Prior art keywords
- noise
- pseudo
- random
- filter
- fpga
- 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 21
- 238000013461 design Methods 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供了一种基于FPGA的新型伪随机噪声产生方法,包括一种两个24位线性反馈移位寄存器异或、截位后获得ROM表地址的方法,提高了伪随机噪声信号生成时的随机性。整个方案包括伪随机地址产生模块、噪声生成模块、噪声带宽控制模块。该设计可以运用到实际的噪声生成设备中去,并具有可扩展性。
Description
技术领域
本发明涉及FPGA应用领域,具体涉及一种基于FPGA的新型伪随机噪声产生方法。
背景技术
在现代通信系统中,噪声信号几乎是随处可见的。人为的产生完全随机的信号是无法实现的,因此,人们通过使用线性反馈移位寄存器这一器件,利用其高随机性这一特点,可以产生长周期的伪随机噪声信号。
现有产生噪声的方法主要有两种方式:一种是通过将现实世界中存在的类似于噪声的信号,经过人为提取、存储、放大等一系列处理之后所产生的噪声信号称之为物理产生噪声方法;另一种是通过采用线性移位寄存器这一结构产生噪声信号称之为伪随机噪声产生方法。
FPGA(FieldProgrammableGateArray)现场可编程门阵列是在PAL、GAL等可编程器件的基础上进一步发展而来的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。本发明提出了一种新型、扩展性强、高随机性的伪随机噪声产生方法,基于FPGA实现。
发明内容
为此,本发明提供一种基于FPGA的新型伪随机噪声产生方法,以解决现有技术中由于定制电路的不足,原有可编程器件门电路数有限的缺点。
为了实现上述目的,本发明提供如下技术方案:一种基于FPGA的新型伪随机噪声产生方法,包括以下具体步骤:
本发明提供一种两个24位线性反馈移位寄存器异或、截位后获得ROM表地址的方法,提高了伪随机噪声信号生成时的随机性。整个方案包括伪随机地址产生模块、噪声生成模块、噪声带宽控制模块。本发明采用的时钟统一为300MHz时钟。
本发明设计的输出信号位宽为32bit,分为I、Q两路,每路信号位宽16bit。具体生成步骤如下:
步骤1:伪随机地址产生模块设计:
伪随机地址产生模块是本发明核心所在,为了提高地址的随机性,本发明采用了两个24位线性反馈移位寄存器,赋予不同的初值,最后将两个移位寄存器的结果进行异或,由于本发明后续采用的ROM表深度为1024,所以这里最后对于异或的结果进行截位,取其高10位作为ROM表的读取地址;
步骤2:噪声生成模块:
噪声生成模块包括2个本地噪声ROM表。ROM表中存储的数据是使用MATLAB中WGN函数产生的噪声数据。具体产生过程为:首先使用MATLAB中的WGN函数,WGN函数产生1024个点的双精度浮点随机数,由于FPGA中一般存储和处理的数据都为整型,因此这里要进行放大取整操作,将1024点的双精度噪声数据放大取整,本发明采用的数据位宽为16位,因此将噪声数据放大为16bit,存储为coe文件。在FPGA中通过调用BRAMip核,读取已生成的coe文件,将噪声数据存储在FPGA中,最后在实际生成过程中,通过步骤1中的伪随机地址生成模块提供的地址,读取ROM表中的噪声数据,送至下一步骤进行噪声带宽控制。
步骤3:噪声带宽控制模块:
本发明采用可重构的FIR滤波器ip核实现,基于FPGA开发软件vivado。由于滤波器中会涉及大量的乘法卷积运算,每使用一个FIR ip核大约消耗4000个触发器和LUT,采用这种结构的好处在于当使用较多滤波器时,可以大幅度降低功耗。本发明中共采用了5种带宽的FIR滤波器系数。滤波器的设计在MATLAB中完成。具体过程为,首先在MATLAB命令区输入fdatool打开滤波器设计工具箱,选择滤波器种类,输入参数,即可得到滤波器系数。由于FPGA中处理得数据为整型,这里将滤波器系数导出前要进行取整。然后在vivado设计软件中选择FIRcomplierip核,选择为可重构模式。
步骤4:编写测试代码:
为上述模块添加激励,主要提供时钟等信号,通过仿真观测各个模块的信号验证功能是否正确。
与现有产生伪随机噪声方法相比,本发明的优势在于:
本发明提供了一种基于FPGA硬件平台的伪随机噪声产生方法。
①在实现过程中,根据FPGA处理浮点数运算时间长、消耗资源大的缺点,将噪声序列和滤波器系数等复杂的运算放在MATLAB中产生,最后放大取整后保存为coe文件在FPGA中通过ip核调用。
②本发明核心在于读取伪随机序列的地址算法,通过两个多bit的线性反馈移位寄存器,经过移位、异或、截位等操作,极大的增加了随机性,更加接近于真正意义的随机,使得最后得到的伪随机噪声具有更大的随机性。
③本发明中需要用到较多的FIR滤波器,在FPGA中若采用多个FIR滤波器会占用大量的LUT和触发器,从而导致在实际使用过程中功耗过大。因此本发明全局采用一个FIR滤波器,通过使用其可重构结构,极大的降低了LUT和触发器的使用,在实际测试过程中,功耗显著降低。
附图说明
图1为本发明的整体设计架构图
图2为本发明的整体设计RTL视图
图3为本发明核心模块伪随机序列地址生成模块图
图4为本发明FIR滤波器系数设计及模块图
图5为各模块输出波形图
图6为伪随机带限噪声信号波形及频谱图
图7为本发明在实际使用中频谱仪采集频谱图
具体实施方式
下面结合附图和具体实施例,对本发明作进一步详细说明。
在现代通信系统中,噪声是不可或缺的一部分。噪声是一把双刃剑,运用得当,噪声可以作为我方加密通信的一个手段,通过提前约定伪随机序列种子等手段,可以使我方通信更不易被敌方所破获。另一方面,噪声可以用作电子对抗环境下破坏敌方通信系统。自然界中存在许多噪声干扰信号,它们具有相当的随机性,但是如果要运用到实际上,就需要人为的产生伪随机信号来满足干扰方的需求,我们知道,人为的产生噪声,其随机性制是噪声信号的一大评估条件,随机性越大,其干扰性能越好,因此,如何提高产生噪声信号的随机性是研究的一大热点。
本发明基于线性反馈移位寄存器这一结构,提出了一种具有高随机性、长周期的伪随机噪声信号产生方法,基于FPGA实现并给出了完整的设计思路和设计架构。通过MATLAB和vivado对设计进行了仿真验证,并在最后给出了实际测试结果频谱图。经过仿真验证显示本发明的设计能够产生带内平坦度高、可扩展性强的伪随机带限噪声信号。后期还可以通过更改本地ROM表中存储的噪声数据来增强噪声数据的随机性。
实施例
下面结合附图和具体实施例,对本发明作进一步详细说明。
本发明所设计伪随机噪声信号发生器具体包括下面的步骤:
步骤1:伪随机序列地址产生模块设计:
伪随机序列地址产生模块是本发明所设计的核心内容,为了产生具有高随机性的伪随机噪声信号,本发明采用两个不同随机数种子的24位线性反馈移位寄存器,最后在将两个线性反馈移位寄存器的结果异或,由于本发明所使用的ROM表深度为1024,因此,这里再做截位处理,得到具有高随机性的伪随机序列地址。
步骤2:白噪声产生模块:
首先,再MATLAB中使用wgn函数产生两个深度为1024的噪声数据,由于FPGA中处理的多为整型且本发明采用的DA转换器位宽为16bit,因此,在MATLAB中对于所产生的浮点型噪声数据进行放大取整为16位的有符号整数,保存为coe文件。在vivado软件中使用两个BRAMip核来存储这些噪声数据。通过步骤1的地址,可以实现产生白噪声的功能。
步骤3:伪随机噪声带宽控制模块:
通过设计一个多路选择器,当设备接收到上位机发送的噪声带宽控制指令后,选择相应的带宽控制字并下发给最后的伪随机带限噪声模块。
步骤4:伪随机带限噪声产生模块:
首先在MATLAB的fdatool滤波器设计工具箱设计所需的滤波器,该滤波器所生成系数通常为浮点型,因此,这里需要更改为整型滤波器系数,设计好所需滤波器后保存为coe文件,在vivado中使用FIR complierip核来调用滤波器系数对于白噪声滤波,得到所需带宽的伪随机带限噪声信号。由于本发明设计了在零频处0-50MHz的带宽,所以需要使用较多滤波器,而滤波器会消耗大量FPGA中的触发器和存储器等资源,因此,本发明采用可重构的滤波器设计,将所有带宽的滤波器系数通过一个FIR滤波器ip核来调用,这样做极大的节省了资源的消耗并显著的降低了功耗。
步骤5:设计测试文件,将上述模块连接并给予时钟复位,带宽选择等输入信号,通过vivado核MATLAB等软件观测结果。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (1)
1.一种基于FPGA的新型伪随机噪声产生方法,其特征在于:包括以下具体步骤:
步骤1:伪随机序列地址产生模块设计:
伪随机序列地址产生模块是本发明所设计的核心内容,为了产生具有高随机性的伪随机噪声信号,本发明采用两个不同随机数种子的24位线性反馈移位寄存器,最后在将两个线性反馈移位寄存器的结果异或,由于本发明所使用的ROM表深度为1024,因此,这里再做截位处理,得到具有高随机性的伪随机序列地址。
步骤2:白噪声产生模块:
首先,再MATLAB中使用wgn函数产生两个深度为1024的噪声数据,由于FPGA中处理的多为整型且本发明采用的DA转换器位宽为16bit,因此,在MATLAB中对于所产生的浮点型噪声数据进行放大取整为16位的有符号整数,保存为coe文件。在vivado软件中使用两个BRAMip核来存储这些噪声数据。通过步骤1的地址,可以实现产生白噪声的功能。
步骤3:伪随机噪声带宽控制模块:
通过设计一个多路选择器,当设备接收到上位机发送的噪声带宽控制指令后,选择相应的带宽控制字并下发给最后的伪随机带限噪声模块。
步骤4:伪随机带限噪声产生模块:
首先在MATLAB的fdatool滤波器设计工具箱设计所需的滤波器,该滤波器所生成系数通常为浮点型,因此,这里需要更改为整型滤波器系数,设计好所需滤波器后保存为coe文件,在vivado中使用FIR complierip核来调用滤波器系数对于白噪声滤波,得到所需带宽的伪随机带限噪声信号。由于本发明设计了在零频处0-50MHz的带宽,所以需要使用较多滤波器,而滤波器会消耗大量FPGA中的触发器和存储器等资源,因此,本发明采用可重构的滤波器设计,将所有带宽的滤波器系数通过一个FIR滤波器ip核来调用,这样做极大的节省了资源的消耗并显著的降低了功耗。
步骤5:设计测试文件,将上述模块连接并给予时钟复位,带宽选择等输入信号,通过vivado核MATLAB等软件观测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310170756.XA CN116185342A (zh) | 2023-02-27 | 2023-02-27 | 一种基于fpga的新型伪随机噪声产生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310170756.XA CN116185342A (zh) | 2023-02-27 | 2023-02-27 | 一种基于fpga的新型伪随机噪声产生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185342A true CN116185342A (zh) | 2023-05-30 |
Family
ID=86450378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310170756.XA Pending CN116185342A (zh) | 2023-02-27 | 2023-02-27 | 一种基于fpga的新型伪随机噪声产生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185342A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117388806A (zh) * | 2023-12-13 | 2024-01-12 | 西安电子科技大学 | 基于fpga的实时可变带宽干扰信号产生方法及装置 |
-
2023
- 2023-02-27 CN CN202310170756.XA patent/CN116185342A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117388806A (zh) * | 2023-12-13 | 2024-01-12 | 西安电子科技大学 | 基于fpga的实时可变带宽干扰信号产生方法及装置 |
CN117388806B (zh) * | 2023-12-13 | 2024-03-19 | 西安电子科技大学 | 基于fpga的实时可变带宽干扰信号产生方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Park et al. | Computation sharing programmable FIR filter for low-power and high-performance applications | |
US7484151B2 (en) | Method and apparatus for testing logic circuit designs | |
Kanhe et al. | Design and implementation of low power multiplier using vedic multiplication technique | |
Park et al. | High-performance FIR filter design based on sharing multiplication | |
CN116185342A (zh) | 一种基于fpga的新型伪随机噪声产生方法 | |
CN109376049B (zh) | 一种fpga嵌入式块存储器的性能测试方法 | |
Memon et al. | An approach to LUT based multiplier for short word length DSP systems | |
CN113377335A (zh) | 一种伪随机数发生器、伪随机数发生方法、处理器芯片 | |
Faleh Hassan | Performance investigation of digital lowpass IIR filter based on different platforms | |
Cui et al. | VLSI implementation of universal random number generator | |
Al-Asaad et al. | Scalable test generators for high-speed datapath circuits | |
CN108181616B (zh) | 一种基于System Generator产生雷达数字干扰的方法 | |
CN101427252B (zh) | 集成电路数字滤波器的设计和实现的系统及方法 | |
US7356454B2 (en) | Method and apparatus for emulation of logic circuits | |
US9467199B1 (en) | Compression using mu-law approximation | |
Petrone | Adaptive filter architectures for FPGA implementation | |
CN112329372A (zh) | 一种用于信号完整性分析的码型的产生方法 | |
Chua et al. | A low-voltage micropower asynchronous multiplier for a multiplierless FIR filter | |
Theoharis et al. | Accurate data path models for RT-level power estimation | |
Shi et al. | On supporting sequential constraints for on-chip generation of post-silicon validation stimuli | |
Shi et al. | On-chip cube-based constrained-random stimuli generation for post-silicon validation | |
Hocine et al. | A PRNG based on an improved chaotic map using a self-perturbation mechanism | |
RU2723271C1 (ru) | Способ генерации цифрового белого гауссовского шума по методу Уоллеса | |
RU2723272C1 (ru) | Генератор цифрового белого гауссовского шума по методу Уоллеса | |
ANNAPURNA | Implementation of TRNG with SHA-3 for Hardware Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |