CN107273624B - 一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 - Google Patents
一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 Download PDFInfo
- Publication number
- CN107273624B CN107273624B CN201710480673.5A CN201710480673A CN107273624B CN 107273624 B CN107273624 B CN 107273624B CN 201710480673 A CN201710480673 A CN 201710480673A CN 107273624 B CN107273624 B CN 107273624B
- Authority
- CN
- China
- Prior art keywords
- module
- model
- pulse
- state
- noise
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03B—GENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
- H03B29/00—Generation of noise currents and voltages
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种基于FPGA和MC模型生成突发随机脉冲噪声的方法及装置,实现了一种两级分层的马尔科夫链突发脉冲噪声的生成装置。该装置包括两个部分,第一部分是一级MC模型,根据上位机传送的MC的概率转移矩阵生成状态序列,决定是否产生脉冲事件,无脉冲事件时使用高斯白噪声模块,输出高斯白噪声序列;如果某一时刻产生脉冲事件,则进入该噪声发生装置的第二部分,即二级MC模型,二级MC模型在脉冲宽度模块和噪声空间模块的综合作用下输出脉冲噪声。本发明提供的脉冲噪声发生器结构简单、容易实现、集成度高、硬件消耗低、发生器参数灵活可设,能够很好的满足实验室所需模拟电力线中突发随机脉冲噪声的要求。
Description
技术领域
本发明涉及数字信息处理领域,具体为一种基于FPGA和MC模型生成突发随机脉冲噪声的方法及装置。
背景技术
近年来PLC快速发展,传输速率大幅提高,被称为宽带电力线通信(Broadbandover Power Line,BPL),成为解决宽带网络瓶颈——“最后一公里”的新的接入技术。在能源信息化的大背景下,智能电网、物联网、能源互联网等一系列概念的提出,使PLC在能源计量和控制方面成为一种新的发展方向。比如自动抄表(Automated Meter Reading,AMR)和自动化仪表管理(Automated Meter Management,AMM)等技术已经在部分地区得到推广。
宽带电力线通信中的噪声远比其他专用通信线路中的噪声复杂,是研究电力线通信的难点。电力线开放式信道环境下的宽带电力线噪声干扰是影响其性能的最重要因素。目前电力线噪声主要研究理论建模,缺乏噪声硬件实现方法的研究较其他通信信道不同,电力线通信信道一个显著的特点是信道中的脉冲干扰大部分是由连接到电力线的用电设备所引起,这些用电设备在开关闭合和断开,以及在工作中都会引起大量的脉冲噪声。这些冲击噪声往往是呈现突发状态,能严重干扰电力线信道中传输的数字信息,甚至能引起数据的突发性错误。
突发噪声中长度内存在若干个脉冲噪声点,有时候其时域波形呈现一点的包络形态,可以用马尔可夫链(Markov Chain)模型描述。
某一随机过程X(t)在t0时刻所处的状态为已知,如果随机过程X(t)在未来t(t>t0)所处的状态只与t0时刻或者t0之前有限的一段状态有关,则该过程X(t)称为马尔可夫链。设马尔科夫过程{X(t),t∈T}的状态空间为I,对于任意的t∈T,X(tn)在条件X(ti)=xi下的条件分布函数满足:
P{X(tn)≤xn|X(t1)≤x1,X(t2)≤x2,…,X(tn-1)≤xn-1}
=P{X(tn)≤xn|X(tn-1)≤xn-1},xn∈R…………(1)
马尔科夫链{Xn=X(n),n=0,1,2,…},状态空间为I={a0,a1,a2,…},ai∈R,根据MC的定义,其有如下特性:
①MC的分布律为
马尔科夫链xn=ai的状态概率为:
pi(n)·P{xn=ai}…………(2)
MC的条件概率为:
上式中i1,i2,…,in-1,in皆为0,1,2,…,N中的某一只值。
②马尔科夫链的状态转移概率矩阵
MC在任意的状态转移时刻m都会发生新的状态转移,对于任意的正整数m和n,设MC在m时刻及m以前时刻的状态都已知,则有:
已知MC在时刻m处于状态ai,在时刻n转移到状态aj的条件转移概率可表示为:
Pij(m,n)=P{xm+n=aj|xm=ai}…………(5)
由转移概率构成的矩阵为:
该矩阵称为MC的状态转移概率矩阵,该矩阵表征了MC的各个状态互相转移过程中的概率准则,该矩阵具有性质:
0≤Pij(k)≤1(i,j∈I)……(7)
∑Pij(k)=1(i∈I)……(8)
为能在实验室环境下测试不同噪声下的宽带载波通信系统提供了方便。达到对宽带载波芯片的研发、选型、测试的目的,本文提出了一种基于FPGA和MC模型生成突发随机脉冲噪声方法及装置。
发明内容
有鉴于此,本发明的目的在于提供一种基于FPGA和MC模型生成突发随机脉冲噪声方法及装置,由此来很好的满足实验室所需模拟电力线中突发噪声的要求。
为达到上述目的,本发明提供如下技术方案:
一种基于FPGA和MC(Markov Chain)模型生成突发随机脉冲噪声的装置,包括:通用异步收发传输UART模块101、控制和命令解析单元102、一级MC模型103、判定模块I104、脉冲宽度模块105、高斯白噪声模块106、二级MC模型107、二级MC噪声空间模块108和计数器模块I 109;
其中,UART模块101上设置有输入端可供上位机连接输入;UART模块101传送上位机命令到控制和命令解析单元102;控制和命令解析单元102连接并控制高斯白噪声模块106、一级MC模型103、计数器模块Ⅰ 109、二级MC模型107和二级MC噪声空间模块108,其中,一级MC模型103为两个状态的一阶MC,二级MC模型107为至少有三个状态的二阶MC;脉冲宽度模块105接收控制和命令解析单元102的突发脉冲的脉冲点数并产生相应脉冲宽度或根据控制和命令解析单元102下发的分布函数随机产生脉冲宽度,并连接控制一级MC模型103和二级MC模型107;判定模块Ⅰ 104用于生成判定结果,其输出端与高斯白噪声模块106和二级MC模型107连接;二级MC噪声空间模块108输出端与二级MC模型107连接;高斯白噪声模块106和二级MC模型107连接形成本装置的输出端;本装置输出端上连接有计数器模块Ⅰ 109,当计数器模块Ⅰ 109的计数达到上位机下发的点数时,则关闭二级MC模型107,同时使能一级MC模型103,进行下一个脉冲周期。
进一步,所述上位机和UART模块之间设置有一个USB转UART桥接。
进一步,所述一级MC模型103包括:一级MC储存器,累加器模块Ⅰ,LFSR模块Ⅰ,判定模块Ⅱ,计数器模块Ⅱ,一级MC状态空间模块;
其中,一级MC储存器存放的是从上位机传来的一级MC模型的状态转移矩阵和两状态的初始概率分布;一级MC模型首先依据两状态的初始概率分布跳到第一个状态,并记下该状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在一级MC储存器中的地址;LFSR模块Ⅰ产生(0,1]之间的伪随机数,它在一级MC模型发生状态改变的周期内不发生变化;累加器模块Ⅰ首先将一级MC储存器中的数据在地址的增加下逐位取出状态转移矩阵行中的概率数值,并求累加和,然后与LFSR模块Ⅰ产生的随机数进入判定模块Ⅱ判定,如果第ith1次产生的随机数大于该次的累加和,使能信号置1,完成一个MC的周期,ith1即为从当前状态跳到的下一个状态,然后在一级MC状态空间模块中取出ith1对应的状态值作为一级MC模型的输出。
进一步,所述二级MC模型107包括:二级MC储存器,累加器模块Ⅱ,LFSR模块Ⅱ,判定模块Ⅲ,计数器模块Ⅲ,二级MC状态空间模块,分布函数模块,脉冲长度模块,噪声综合模块和脉冲幅度、脉冲状态个数模块;
其中二级MC储存器存放的是二级MC的状态转移矩阵和初始概率分布,二级MC模型首先根据初始概率分布跳到初始状态,此时初始状态包括两个状态:当前状态和前一个状态,组成一个连续状态,二级MC模型记下该初始状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在二级MC储存器中的地址,LFSR模块Ⅱ产生(0,1]之间的伪随机数,累加器模块Ⅱ将二级MC储存器中的数据在地址的增加下逐行取出状态转移矩阵行中的概率数值,并求累加和,然后与LFSR模块Ⅱ产生的随机数进入判定模块Ⅲ判定,如果第ith2次产生的随机数大于该次的累加和,使能信号置1,完成一个二阶MC的周期;ith2即跳往的下一个连续状态中的第二个状态,与上一个连续状态中的第二个状态组成当前状态的连续状态,噪声综合模块根据脉冲长度模块和二级MC状态空间模块输出的幅值合成脉冲噪声,合成脉冲噪声作为二级MC模型的输出。
一种基于FPGA和MC模型生成突发随机脉冲噪声的方法,包括以下步骤:
S1上位机传送控制命令和参数到控制和命令解析单元;
S2控制和命令解析单元解析控制命令并分配到各个模块;
S3一级MC模型从控制和命令解析单元接收控制命令后,判定模块进入判定流程,如果一级MC模型不进入脉冲态,则控制和命令解析单元控制高斯白噪声模块输出背景噪声;如果一级MC模型进入脉冲态,判定模块判定此时进入二级MC模型;
S4控制和命令解析单元控制二级MC模型的分布函数的选择或突发脉冲的脉冲点数,二级MC模型在脉冲长度模块和噪声空间模块的综合作用下输出脉冲噪声;
S5脉冲点数计数模块控制着脉冲的长度,当脉冲点数计数模块计数达到阈值时,就关闭二级MC模型,同时使能一级MC模型进行下一个脉冲周期。
进一步,所述上位机发送的控制命令包括,复位系统、设定内部参数,所述上位机发送的参数包括一级MC模型中两个状态的初始概率分布和状态转移矩阵、脉冲宽度模块中控制脉冲长度的参数值、高斯白噪声模块的初始种子、噪声空间模块中的最大和最小幅值以及脉冲长度或者选用的分布函数。
本发明的有益效果在于:本发明提供的突发噪声发生器结构简单、容易实现、集成度高、硬件消耗低、发生器参数灵活可设,能够很好的满足实验室所需模拟电力线中突发噪声的要求。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,下面以FPGA实现突发噪声为例,对实施例或现有技术描述中所需要使用的附图作简单介绍:
图1是本发明装置的整体结构的示意图;
图2是一级的MC两状态转移图;
图3是一级MC模型实现框图;
图4是一级MC模型中两状态在ROM中存储示意图;
图5是一级MC模型的System Generator模块实现图;
图6是一级MC模型WaveScope仿真时序图;
图7是至少三个状态的二阶MC状态转移图;
图8是二级MC模型实现框图;
图9是舍选法对均匀分布的随机数u的舍选图;
图10是System Generator实现舍选法产生任意分布伪随机数;
图11是舍选法产生任意分布伪随机数的测试;
图12是二级MC模型的System Generator模块实现图;
图13是二级MC模型单脉冲输出波形;
图14是本发明装置的System Generator实现;
图15是使用本发明装置产生的突发噪声与原噪声对比图;
图16是二级分层MC模型的MATLAB仿真与FPGA产生噪声幅值的PDF对比。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图1给出了本发明的整体结构框图,本实施例采用Xilinx公司Kintex-7系列XC7K325T芯片来完成突发噪声发生器的工程实现。该系列是一类低成本高容量的FPGA,采用成熟的28nm制造工艺,能在功耗、性能、成本之间很好地平衡。XC7K325T芯片可用的资源包括:326080个逻辑单元,最大16020Kb的Block RAM、4000Kb的Distributed RAM、840个DSPSlice、500个I/O口。
考虑到电力线2~30MHz频段及模拟器的精度,模数转化器(DAC)选用具有FPGA夹层卡(FMC,FPGA Mezzanine Card)标准接口的FMC125板,支持2路AD输入,2路DA输出。DA采用AD9777芯片,该芯片为16位分辨率,最大输入数据速率为160Msps,插值后最大DAC转换速率400MSPS。可以工作在为0~62.5MHz带宽内,可以为电力线通信极限信道提供噪声。KC705评估板上有两个FMC接口,分别为160个引脚数的低引脚数(LPC)连接器和400个引脚数的高引脚数(HPC),因此本平台可以同时具备四输出。
两级分层的Markov Chain模型的实现流程介绍。首先从上位机传送数据和控制命令到模拟器的命令解析单元,然后解析出控制命令传送到各个模块。第一级MC模型需要的参数是一个两状态的一阶MC状态转移矩阵及两个状态的初始分布;如果第一级MC进入无噪声状态,判定模块会使能高斯白噪声模块,输出背景噪声;如果第一级MC某时刻产生了一个噪声状态,此时将会进入第二级MC模型;第二级MC的最大幅值、划分的状态个数、状态转移矩阵以及产生脉冲点的长度(也可理解为突发脉冲的脉冲点数)或者分布函数的选择是由控制&命令解析单元控制,然后该模型根据对应参数产生突发脉冲点输出,脉冲点数计数模块控制着脉冲的长度,当计数模块计数到阈值时,就关闭第二级MC,同时使能一级MC,进行下一个脉冲周期,如此循环往复。
图2是本装置的一级MC模型。一级MC模型是由两个状态组成,即一阶MC。状态I 0代表此刻没有脉冲噪声存在,只有高斯白噪声;状态I 1代表此刻出现脉冲噪声。其状态转移矩阵为:
式中PIx,y为一阶MC模型在(x,y)处的概率,x表示当前状态,y表示跳转的下一个状态。
图3为一级MC模型实现框图。一级MC存储器中存放的是从上位机传来的一级MC模型的状态转移矩阵和两状态的初始概率分布,一级MC模型的状态转移矩阵的实质是一个概率矩阵,在开始工作时,MC模型首先依据初始概率分布跳到第一个状态,并记下该状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在ROM中的地址。LFSR模块产生(0,1]之间的伪随机数,它在一个MC周期(MC模型发生状态改变的周期)内不发生变化。ROM块中的数据在地址的增加下逐位取出状态转移矩阵特定行中的概率数值,并累加求和。然后与LFSR产生的随机数进行比较,如果第ith1次产生的随机数大于该次的累加和,使能信号置1,完成一个MC的周期。ith1即从当前状态跳到的下一个状态,然后在状态空间中取出ith1对应的状态值作为最后MC模型的输出。
一级MC模型中一级MC存储器的存储方式介绍。为了方便讲解状态转移矩阵在一级MC存储器中的存取方式,以A、B两状态的一阶MC为例,如图4所示。一级MC存储器中矩阵数据是按列依次进行读取,所以为了方便实现,在进行存储的时候先把矩阵进行转置,如式(10):
然后再进行存储。假如MC某时刻跳到图中的B状态,然后就以B状态所在列地址位为高位,低位地址从低到高依次加到高位地址后面组成新地址,图4中某时刻跳到B状态产生的新地址为“10”和“11”。最后根据地址在ROM中查找对应的概率转移分布向量,决定下一个状态跳往何处。
LFSR模块介绍,LFSR是伪随机数发生器(Pseudo-random Number Generator,PRNG)常采用的方法,它采用逻辑运算,具有计算速度快、结构简单、便于硬件实现等诸多特点,在很多领域中都有广泛的应用。例如,在信息加密、扩频通信、纠错编码和系统测试等领域。同时LFSR相比于传统方法,如平方取中法、线性同余法等,具有更高的随机数质量和随机数周期,弥补了传统方法的不足。
LFSR有两种实现方式:外部反馈和内部反馈,通常内部反馈方式较外部反馈方式有更短的反馈链,可以工作在更高的频率,所以本文采用内部反馈LFSR。如果反馈函数有n个寄存器,称为n级LFSR,定义LFSR的特征多项式如下:
其中,Ci(0≤i≤n)为LFSR的反馈系数,反馈系数为二级制“0”或“1”,xi(0≤i≤n)为第i级移位寄存器。
其状态转移过程可以用向量的方式表示如式(12),
简化为:
X(t+D)=TX(t)·········(13)
其中,D表示一个周期延迟,X(t)表示各寄存器在t时刻的输出,X(t+1)是各寄存器在t+1时刻的输出,T为变换矩阵,C1,C2,···,Cn-1为LFSR的反馈系数。
LFSR输出的伪随机数呈现一定的周期性,因为一旦反馈链上的寄存器确定,寄存器在进行状态的变换时就会出现以前经历过的状态,然后寄存器就会以此为周期周而复始的重复伪随机序列。当反馈链上有n个寄存器,反馈系数的取值为LFSR的本源多项式的系数时,LFSR有最大周期2n+1,此时LFSR产生的随机数也称作为最长序列(也称m序列)。
n级LFSR的多项式为本源多项式的充要条件如式(14),
其中,f1,f2,···,fm为LFSR的反馈系数;x,x2,···,xm-1,xm分别为第1,2,···,m-1,m级移位寄存器。
由式(13)中变换矩阵可以看出,在进行一次变换后只产生一位新数据X(0),而X(1),··,X(n-1)的值都是由移位得到。也就是说,LFSR是单输出,在一个时钟周期内只产生1bit数据流。在进行数据表示的时候,往往是用多位数据表示一个定点随机数,也就要求在一个时钟周期内需要产生多位比特流。如果简单的从单输出的数据流中截取m位表示一个随机数,则下一个随机数就会和上一个随机数有m-1位比特数是重复的,即存在“移位相关性”。为了提高输出速度,同时消除这种“移位相关性”就需要多输出的LFSR。
把式(13)迭代m(m≤n)次,得到式(15)
X(t+mD)=TX[t+(m-1)D]=T{TX[t+(M-2)D]}=…=TmX(t)·········(15)
可见,以Tm作为反馈网络时,就可以一次输出m bit的位数据流,组成一个m位的随机数,且相邻随机数之间没有移位关系,随机数的质量可以得到保证。
图5是一级MC模型的实现框图在System Generator搭建的实现模块图。LFSR模块。因Xilinx System Generator工具中Xilinx Reference Blockset库提供了LFSR模块,可以直接调用。只需按照需求在GUI界面设置特定参数即可得到不同特性的伪随机数,在此不再介绍实现方法。为了最大程度的简化设计、节约硬件资源,依据理论基础,在不影响结果的情况下对理论实现做了针对性的优化处理。因为ROM中存放的是二维方阵,所以每次判断方阵中的第一列即可确定下一个状态的变化,这也是图中组合地址的Concat模块低位地址一直为“0”的原因。另一处优化之处是Mux选路模块,之所以没有按照理论分析中求累和然后确定输出状态,其原因也是如此。Wavescope仿真时序如图6。
二阶MC模型中随机过程的下一个状态不仅与当前状态有关,还和前一个状态有关。高阶MC模型适合建模数据源,特别是具有一定包络形态的信号。较高的n阶链更倾向于将特定序列“组合”在一起,偶尔“中断”成其它模式和序列,而不是由一阶系统产生的“无目的漂移”。比如,在对英语文本字母序列的建模,以及语音识别等领域,就需要二阶或三阶,甚至更高阶的MC模型,因为下一个字母出现的概率很大程度上取决于前两个或者三个字母。
图7是至少三个状态的二阶MC状态转移图,每个状态的改变都与其前两个状态有关。
如果某个序列中有“1”、“2”、“3”三个状态,则三个状态的二阶MC模型的状态转移矩阵如下:
其中PⅡxy,z为三个状态的二阶MC模型的在(xy,z)处的概率。其中xy为当前状态和前一个状态,组成一个连续状态,z为连续状态要跳转的下一个状态。
图8为二级MC模型的实现框图。与一级MC模型的不同之处是增加了脉冲幅度、脉冲状态数、分布函数模块和脉冲长度模块,最后总合成脉冲噪声输出。脉冲幅度、脉冲状态个数模块接收的参数包括:脉冲的最大幅值、最小幅值、和状态个数,接收到数据以后内部开始把数据分成确定的段数,然后取每段中间值作为本段的状态,即可得到需求的状态数;分布函数、脉冲长度模块接收的数据包括:采用何种分布函数、突发脉冲的点数,分布函数为常见分布函数,例如均匀分布、正态分布、指数分布、对数正态分布、Gamma分布、瑞利分布等,此模块决定了突发脉冲的长度,脉冲长度模块可以选择直接从上位机选择每个脉冲的长度,也可以选择装置本身通过某种分布函数产生,分布函数的选择是由上位机确定。第二级MC与第一级MC工作过程相似,二级MC模型的状态转移矩阵的实质是一个概率矩阵,首先二级MC模型根据初始概率分布跳到初始状态,此时初始状态应包括两个状态:当前状态和前一个状态,组成一个连续状态,记下该初始状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在ROM中的地址。LFSR模块产生(0,1]之间的伪随机数,它在一个二阶MC周期(二阶MC模型发生状态改变的周期)内不发生变化。ROM块中的数据在地址的增加下逐行取出状态转移矩阵特定行中的概率数值,并求累加和。然后与LFSR产生的随机数进行比较,如果第ith2次产生的随机数大于该次的累加和,使能信号置1,完成一个二阶MC的周期。ith2即为跳往下一个连续状态中的第二个状态,与上一个连续状态中的第二个状态组成当前状态的连续状态,从而周而复始。噪声综合模块根据脉冲长度模块和二级MC状态空间模块输出的幅值合成脉冲噪声,合成的脉冲噪声作为最后二阶MC模型的输出。
对于产生任意分布随机数的实现方法主要有变换法、反函数法和舍选法,这些方法均是在均匀随机数的基础上通过函数的变换和映射得到任意分布的随机数。反函数法是一种常采用的方法,但该方法要求分布函数必须可逆,这是一个很大的缺陷。变换法的原理是从一种分布变换到另一种分布,但该方法要求两种分布之间必须存在某种映射关系,致使其失去了普遍性。舍选法操作简单,可以理解为简单的“拒绝接受”,硬件实现时只需索引和比较操作,节省资源。
舍选法的思想如下:按照给定概率密度函数f(x),对均匀分布的随机数u进行舍选,如图9所示。假定U1、U2分别为(0,a)和(0,b)间均匀分布的随机数,如果U2<f(U1),则输出U1;否则拒绝U1,不作输出。以此方式输出的U1序列满足f(x)分布。该方法仅需查找和比较大小关系这两种操作,很适合用于硬件实现,尤其是现场可编程门阵列FPGA(Field-Programmable Gate Array)。舍选法产生特定分布伪随机数的输出速率与其分布函数有关,如果分布函数与横坐标围成的面积为S,如图中阴影部分,则在接受拒绝操作时可接受的效率η=S/(a×b)。假如产生均匀分布的随机数速度为M(in),则目标分布的随机数平均输出速率为:
M(out)=η·M(in)·········(17)
因为舍选法产生给定分布随机数时不连续,FPGA在运行的时候不能在每个时钟周期都产生一个随机数。因此,在实现的时候要根据接受率选择工作所需时钟频率,在输出端加入适当大小FIFO(First In First Out)模块,选择合适的时钟频率,就可以保证数据的连续输出。
根据前文介绍的任意分布伪随机数理论和原理,在System Generator工具中搭建的仿真如图10。对以上实现的任意分布伪随机数发生器在不同概率分布函数进行测试,如图11所示。对均值为0方差为1的正太分布和为1的瑞利分布进行测试,从测试的统计结果来看,与理论曲线基本吻合,可以达到设计要求。
图12是二级MC模型的实现框图在System Generator搭建的实现模块图。SystemGenerator继承了Simulink特点,设计者可以将部分模块封装成一个子系统(Subsystem),使设计界面简洁明了,在设计大型系统的时候可以方便分工,计人员只需专注于不同子系统的实现。图中的任意分布伪随机数生成模块arb_dist_RAND、噪声空间模块noise_space和噪声综合模块noise_synth模块都为封装后的子系统。
图13为二级MC模型的单脉冲实现图,最大幅值和状态数参数采用表1中的参数。
表1
从时域图可以看出,该模型可以较准确的实现具有特定包络的突发噪声。
通过对突发噪声的分析,在System Generator工具中可搭建突发噪声实现的两级MC模型系统图,如图14所示。该系统可以根据需要增加要划分的状态个数,只需增加ROM中的存储容量,而不需要额外硬件资源的消耗,因此具有很大的灵活性。为了更为清晰直观的看到突发噪声,在进行验证的时候使高斯噪声一直处于关闭状态,FPGA生成突发脉冲噪声的时域波形如图15所示,从图中可以看到该波形具有明显的上升和下降包络的形态,达到了设计要求。
对System Generator所搭建仿真模型产生的数据进行统计分析,为了使统计结果更加准确,因此只对突发噪声产生的数据进行分析,高斯部分置零。图16为二级MC模型FPGA产生的突发噪声和其MATLAB仿真数据进行概率密度对比,从图中可知,FPGA产生的定点突发噪声和MATLAB浮点突发噪声概率密度曲线十分吻合,两条曲线的均方根误差在0.01以下。因为本模型在运算的时候大部分操作只是存储读取、索引及比较,很少有加减操作,特别是乘除等对数据精度影响较大的操作,因此对定点运算产生的影响较小。存在的微小误差是因为数值的定点表示和浮点表示产生了少许误差影响(本发明定点小数位为9位)。因此二级MC模型能较准确的产生具有特定包络的突发噪声。
最后说明的是,以上优选实施例仅用以说明发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (7)
1.一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于,包括:通用异步收发传输UART模块、控制和命令解析单元、一级马尔可夫链(Markov Chain,MC)模型、判定模块Ⅰ、脉冲宽度模块、高斯白噪声模块、二级MC模型、二级MC噪声空间模块和计数器模块Ⅰ;
其中,UART模块上设置有输入端可供上位机连接输入;UART模块传送上位机命令到控制和命令解析单元;控制和命令解析单元连接并控制高斯白噪声模块、一级MC模型、计数器模块Ⅰ、二级MC模型和二级MC噪声空间模块,其中,一级MC模型为两个状态的一阶MC,二级MC模型为至少有三个状态的二阶MC;脉冲宽度模块接收控制和命令解析单元的突发脉冲的脉冲点数并产生相应脉冲宽度或根据控制和命令解析单元下发的分布函数随机产生脉冲宽度,并连接控制一级MC模型和二级MC模型;判定模块Ⅰ用于生成判定结果,其输出端与高斯白噪声模块和二级MC模型连接;二级MC噪声空间模块输出端与二级MC模型连接;高斯白噪声模块和二级MC模型连接形成本装置的输出端;本装置的输出端上连接有计数器模块Ⅰ,当计数器模块Ⅰ的计数达到上位机下发的点数时,则关闭二级MC模型,同时使能一级MC模型,进行下一个脉冲周期。
2.根据权利要求1所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:所述上位机和UART模块之间设置有一个USB转UART桥接。
3.根据权利要求1所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:所述一级MC模型包括:一级MC储存器,累加器模块Ⅰ,LFSR模块Ⅰ,判定模块Ⅱ,计数器模块Ⅱ,一级MC状态空间模块;
其中,一级MC储存器存放的是从上位机传来的一级MC模型的状态转移矩阵和两状态的初始概率分布;一级MC模型首先依据两状态的初始概率分布跳到第一个状态,并记下该状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在一级MC储存器中的地址;LFSR模块Ⅰ产生(0,1]之间的伪随机数,它在一级MC模型发生状态改变的周期内不发生变化;累加器模块Ⅰ首先将一级MC储存器中的数据在地址的增加下逐位取出状态转移矩阵行中的概率数值,并求累加和,然后与LFSR模块Ⅰ产生的随机数进入判定模块Ⅱ判定,如果第ith1次产生的随机数大于该次的累加和,使能信号置1,完成一个MC的周期,ith1即为从当前状态跳到的下一个状态,然后在一级MC状态空间模块中取出ith1对应的状态值作为一级MC模型的输出。
4.根据权利要求1所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:所述二级MC模型包括:二级MC储存器,累加器模块Ⅱ,LFSR模块Ⅱ,判定模块Ⅲ,计数器模块Ⅲ,二级MC状态空间模块,分布函数模块,脉冲长度模块,噪声综合模块和脉冲幅度、脉冲状态个数模块;
其中二级MC储存器存放的是二级MC的状态转移矩阵和初始概率分布,二级MC模型首先根据初始概率分布跳到初始状态,此时初始状态包括两个状态:当前状态和前一个状态,组成一个连续状态,二级MC模型记下该初始状态在状态转移矩阵中的位置,即该状态在状态转移矩阵所在行中第一位数值在二级MC储存器中的地址,LFSR模块Ⅱ产生(0,1]之间的伪随机数,累加器模块Ⅱ将二级MC储存器中的数据在地址的增加下逐行取出状态转移矩阵行中的概率数值,并求累加和,然后与LFSR模块Ⅱ产生的随机数进入判定模块Ⅲ判定,如果第ith2次产生的随机数大于该次的累加和,使能信号置1,完成一个二阶MC的周期;ith2即跳往下一个连续状态中的第二个状态,与上一个连续状态中的第二个状态组成当前状态的连续状态,噪声综合模块根据脉冲长度模块和二级MC状态空间模块输出的幅值合成脉冲噪声,合成脉冲噪声作为二级MC模型的输出。
5.根据权利要求1~4中任意一项所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:该装置生成突发随机脉冲噪声的方法具体包括以下步骤:
S1上位机传送控制命令和参数到控制和命令解析单元;
S2控制和命令解析单元解析控制命令并分配到各个模块;
S3一级MC模型从控制和命令解析单元接收控制命令后,判定模块进入判定流程,如果一级MC模型不进入脉冲态,则控制和命令解析单元控制高斯白噪声模块输出背景噪声;如果一级MC模型进入脉冲态,判定模块判定此时进入二级MC模型;
S4控制和命令解析单元控制二级MC模型的分布函数的选择或突发脉冲的脉冲点数,二级MC模型在脉冲长度模块和噪声空间模块的综合作用下输出脉冲噪声;
S5脉冲点数计数模块控制着脉冲的长度,当脉冲点数计数模块计数达到阈值时,就关闭二级MC模型,同时使能一级MC模型进行下一个脉冲周期。
6.根据权利要求5所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:所述上位机发送的控制命令包括,复位系统、设定内部参数,所述上位机发送的参数包括一级MC模型中两个状态的初始概率分布和状态转移矩阵、脉冲宽度模块中控制脉冲长度的参数值、高斯白噪声模块的初始种子、噪声空间模块中的最大和最小幅值以及二级MC模型的突发脉冲的脉冲点数或者二级MC模型的分布函数。
7.根据权利要求5所述的一种基于FPGA和MC模型生成突发随机脉冲噪声的装置,其特征在于:当控制和命令解析单元控制二级MC模型的分布函数的选择时,所述分布函数为均匀分布、正态分布、指数分布、对数正态分布、Gamma分布、瑞利分布中的其中一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710480673.5A CN107273624B (zh) | 2017-06-22 | 2017-06-22 | 一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710480673.5A CN107273624B (zh) | 2017-06-22 | 2017-06-22 | 一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273624A CN107273624A (zh) | 2017-10-20 |
CN107273624B true CN107273624B (zh) | 2020-08-04 |
Family
ID=60068591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710480673.5A Active CN107273624B (zh) | 2017-06-22 | 2017-06-22 | 一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273624B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270497B (zh) * | 2018-01-19 | 2020-11-10 | 重庆邮电大学 | 一种脉冲噪声的单脉冲生成方法 |
CN110620628B (zh) * | 2019-08-21 | 2022-02-22 | 华北电力大学(保定) | 多维对数正态近似的无线和电力线中继通信性能计算方法 |
CN111313985B (zh) * | 2020-03-05 | 2022-05-13 | 北京振中电子技术有限公司 | 宽带电力线载波通信模拟噪声生成方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246009A (zh) * | 2008-02-29 | 2008-08-20 | 北京航空航天大学 | 基于四态马尔可夫链的数字闭环光纤陀螺随机调制方法 |
KR20130007207A (ko) * | 2011-06-30 | 2013-01-18 | 한양대학교 에리카산학협력단 | 양자 얽힘을 증가시키는 방법, 이를 이용한 양자 중계 방법 및 양자 중계기 |
CN103052128A (zh) * | 2012-12-20 | 2013-04-17 | 华南理工大学 | 一种基于无线传感器网络能量有效的协同调度方法 |
US8817577B2 (en) * | 2011-05-26 | 2014-08-26 | Mahmood R. Azimi-Sadjadi | Gunshot locating system and method |
CN105607578A (zh) * | 2014-11-20 | 2016-05-25 | 中国科学院沈阳计算技术研究所有限公司 | 基于Markov判定方法的数控系统硬件安全保护方法及装置 |
CN106027122A (zh) * | 2016-07-05 | 2016-10-12 | 重庆电力高等专科学校 | 一种低压电力线信道背景噪声建模方法 |
CN106291011A (zh) * | 2016-08-22 | 2017-01-04 | 重庆邮电大学 | 一种基于fpga的随机脉冲发生器 |
-
2017
- 2017-06-22 CN CN201710480673.5A patent/CN107273624B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246009A (zh) * | 2008-02-29 | 2008-08-20 | 北京航空航天大学 | 基于四态马尔可夫链的数字闭环光纤陀螺随机调制方法 |
US8817577B2 (en) * | 2011-05-26 | 2014-08-26 | Mahmood R. Azimi-Sadjadi | Gunshot locating system and method |
KR20130007207A (ko) * | 2011-06-30 | 2013-01-18 | 한양대학교 에리카산학협력단 | 양자 얽힘을 증가시키는 방법, 이를 이용한 양자 중계 방법 및 양자 중계기 |
CN103052128A (zh) * | 2012-12-20 | 2013-04-17 | 华南理工大学 | 一种基于无线传感器网络能量有效的协同调度方法 |
CN105607578A (zh) * | 2014-11-20 | 2016-05-25 | 中国科学院沈阳计算技术研究所有限公司 | 基于Markov判定方法的数控系统硬件安全保护方法及装置 |
CN106027122A (zh) * | 2016-07-05 | 2016-10-12 | 重庆电力高等专科学校 | 一种低压电力线信道背景噪声建模方法 |
CN106291011A (zh) * | 2016-08-22 | 2017-01-04 | 重庆邮电大学 | 一种基于fpga的随机脉冲发生器 |
Non-Patent Citations (3)
Title |
---|
"An FPGA-Based High-Speed Emulation System for Powerline Channels";Marko Babic, Klaus Dostert;《IEEE》;20051231;第290-294页 * |
"含周期性脉冲噪声的低压电力线噪声建模研究";应展烽 等;《电子自动化设备》;20130930;第33卷(第9期);第58-63页 * |
Gaëtan Ndo etal.."A Markov-Middleton Model for Bursty Impulsive Noise: Modeling and Receiver Design".《IEEE》.2013, * |
Also Published As
Publication number | Publication date |
---|---|
CN107273624A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273624B (zh) | 一种基于fpga和mc模型生成突发随机脉冲噪声的方法及装置 | |
CN106253913B (zh) | 极化码的块编码器及其编码方法 | |
CN108768619B (zh) | 一种基于环形振荡器的强puf电路的工作方法 | |
CN109117118B (zh) | 基于环形振荡器结构真随机数发生器的随机数提取方法 | |
CN101163239B (zh) | 一种新的矢量量化初始码书的生成方法 | |
CN106291011B (zh) | 一种基于fpga的随机脉冲发生器 | |
US20130191427A1 (en) | Pseudo-noise generator | |
CN103034473A (zh) | 一种伪随机数生成器 | |
CN103716149A (zh) | 基于混沌网络的高速随机数产生系统 | |
CN108181616B (zh) | 一种基于System Generator产生雷达数字干扰的方法 | |
Temenos et al. | Stochastic computing max & min architectures using Markov chains: Design, analysis, and implementation | |
Durrani et al. | Statistical power estimation for register transfer level | |
US3787669A (en) | Test pattern generator | |
CN115374925A (zh) | 一种用于水下目标识别的硬件加速方法 | |
CN115102553A (zh) | 二进制码转温度计码的装置和电子设备 | |
Mengxu et al. | FPGA implementation of an adaptive genetic algorithm | |
PV et al. | Design and implementation of efficient stochastic number generator | |
CN105138304A (zh) | 数字信号的自适应量化方法及装置 | |
Durrani et al. | Statistical power estimation for IP-based design | |
CN107425813A (zh) | 一种起止频率可设置的白噪声产生方法及装置 | |
Durrani et al. | Power estimation for register transfer level by genetic algorithm | |
Ameur et al. | Implementation of real coded genetic algorithms using FPGA technology | |
CN116382634B (zh) | 伪随机码生成电路、方法 | |
Świentek et al. | Design of memory subsystem for wide input data range in the SALT ASIC | |
US20240160942A1 (en) | Method and electronic system for a non-iterative training of a neural network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |