一种基于FPGA带限数字噪声发生电路的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA. It a d op ts the d ig ita l me thod , whic h c a n p rod uc e s b a s e b a nd nois e s e q ue nc e tha t inc lud e s d ig ita l low- p a s s filte r
3.2 均匀白噪声模块
真正的均匀随机序列在实际应用中很难产生,因而白噪 声模拟通常采用伪随机序列。虽然产生的伪随机噪声严格意 义上讲仍然有一定的周期性,但只要周期足够长,就能满足工 程的实际需要。在随机序列发生器中,虽然传统的最长线性反 馈移位寄存电路经常被用来作为均匀分布的随机数发生电 路,然而 Tausworthe 方式产生的均匀分布随机序列具有更好 的分布特性[1],选取的级数越多,则其越逼近白噪声特性。本设
Байду номын сангаас
图 7 仿真的基带高斯白噪声谱
Wp
Ws
Pi
图 6 汉宁窗幅频特性
3.4 幅度控制
因为对于离散高斯噪声 x,通过变换 y=u+σx ,可以获得 高斯分布,幅度和均值可控的基带噪声序列。所以在获得基带 噪声序列后,通过与一个固定数值相乘,可以调整基带噪声的 幅值。本设计通过 FPGA 内部的一片乘法电路来实现,并在其 后端接加法电路来完成均值的控制。这样,通过计算机实时更 改乘法电路的系数和加法电路的数据来完成基带噪声的幅度 和均值的调节。
3.5 仿真与测试结果
该高斯白噪声经过 D/A 转换和模拟低通滤波得到模拟高 斯白噪声。该噪声通过频谱仪测量的实际性能如图 8 所示。图 7 为应用以上方式通过 MATLAB 软件仿真生成的基带高斯白 噪声谱。可见,该噪声是限带高斯白噪声,且在带内较平坦,较 好的逼近仿真结果。
图 8 实际的基带高斯白噪声谱
器进行噪声带宽控制。一个 FIR 滤波器的数学表达式可用 k
阶内积来表示:
y(n)=Σh(k)x(n- k)
(2)
在(2)式中,y(n)为 n 时刻滤波器的输出,L 为 FIR 滤波器的
抽头数,h(k)为第 k 级抽头系数(单位脉冲响应),(n- k)为延时 k
个抽头的输人信号。图 4 给出了 FIR 滤波器的直接形式结构,
Ab s t ra ct : This p a p e r introd uc e s the a rc hite c ture a nd re a liza tion of a b a nd wid th limite d d ig ita l nois e g e ne ra tor b a s e d on
(1)。
prob(yi)=#(yi)/2n =fi
(1)
其中 #(yi)等于噪声序列 y(i) 中 y 出现的个数。根据公式(1)
可以确定每个 y 值在噪声表中出现的个数,完成整个噪声表
的映射。在随机信号理论中我们还知道当随机的从高斯分布
中获取采样值时,采样点所组成的随机过程就是高斯白噪声。
这样用均匀分布序列采样噪声表,即得到基带高斯白噪声。
RAM
地址 数据
均匀白 噪声
FIR 滤波 器
方差
FPGA
乘法器
加法器
均值
主控制器 图 2 基带噪声发生电路
3.1 噪声 RAM 表
根据高斯噪声的分布函数,基于表达式(1),应用 MATLAB 软件算出不同的值对应的概率密度。
计选取三个线性反馈移位寄存电路(LFSR),每个时钟生成一个 32bit 的均匀分布的随机数,序列具有的周期大约为 288 ,足以 满足实际工程需要。输出的均匀随机变 uniform=s1 + s2 + s3, 其中 si(i=1,2,3) 分别为三个 LFSR 的输出,且都为 32bit 的无符 号数,并且可由 si=((si&mi)<<ni) + (((si<<ki) + si)>>wi))(i=1,2,3) 计算得到[2]。常数 mi、ni、ki 和 wi 可根据 Tausworthe 算法计算获 得。其中,s1,s2,s3 的初始值为整数,应满足 s1≥2;s2≥8;s3≥ 16。
图 6 封闭体隔离被测设备与高温箱
过程可用如下方式表示:令 fi 对应区间段长度 Xi0,Xi1
,y(i)对应分布函数的自变量 y。假设噪声样本值总个数为 2n
(RAM 地址空间大小),根据噪声概率密度公式确定 y(i)中 y
出现的次数为 2n*prob(yi)。Prob 为概率密度函数,即对应公式
图 4 直接形式的 FIR 滤波器
本设计在 FPGA 内部使用 FIR 滤波器描述编程,从而实 现 FIR 滤波器的顶层原理图,如图 5 所示。DATA(15:0)是离散 基带高斯白噪声序列;START 是开始使能控制信号;CLK 为转 换时钟;FIR Coefficient(15:0)是抽头系数;DATA_OUT(15:0)是带
a nd it a ls o c a n up d a te the nois e b a nd wid th a nd a mp litud e a t a ny mome nt. This nois e g e ne ra tor is fle xib le a nd e a s y to us e
Do cu m e n t co d e :A
Art e cle ID:1003- 0107(2009)05- 0068- 03
1 引言
Y=F(X)。根据 x 轴上各个小区间的长度,就可构造噪声表。
对于大多数噪声信号发生电路来说,噪声的产生都是由 硬件电路用模拟的方法实现的。虽然产生的精度较高,但是如 果想要改变生成的噪声信号的幅度、带宽等参数就必须改变 相应的硬件电路,从而增加电路的成本和复杂度。本设计通过 查表的方法生成基带噪声序列,通过 FIR 滤波,得到带限的基 带噪声序列,并通过乘法电路和加法电路完成带限噪声的幅 度和均值的控制。其中地址变换器、FIR 滤波器、幅度和均值控 制在一片 FPGA 内完成。硬件电路稍加改变甚至不加改变,就 可以改变输出噪声信号的主要参数和性能指标,具有很好的 可扩展性,使用方便、灵活。例如,生成均匀分布白噪声、高斯 分布白噪声,瑞利分布白噪声等噪声,只需更换噪声存储表。 对于噪声的带宽、幅度控制可以通过计算机在线修改,而不需 改变硬件电路。
a nd ha s g ood e xte ns ib ility.
Ke y w o rd s : b a s e b a nd nois e ; white g a us s nois e ; b a nd wid th limite d ; a mp litud e
CLC n u m b e r: TN03
E 电磁兼容 MC
一种基于 FPGA 带限数字噪声发生电路的设计
The Design of Bandwidth Limited Digital Noise Generator Based on FPGA
李成(中国电子科技集团公司第 41 研究所,安徽 蚌埠 233006)
Li Ch en g (The 41st Institute of China Electronics Technology Group Corporation,Anhui Bengbu 233006)
图 5 FIR 滤波器顶层图
2009 第 5 期 69
E 电磁兼容 MC
限高斯白噪声。 其中抽头系数是应用 MATLAB 窗函数法进行设计。窗函
数设计的基本思想是要选取某一合适的理想频率选择性滤波 器,然后将其脉冲响应截断获得一个线性相位和因果的 FIR 滤波器。根据给定的滤波器技术指标,选用汉宁(Hann)窗设计, 其幅频特性如图 6 所示。其中 Wp 为通带频率;Ws 为阻带频 率;As 为阻带衰减。根据噪声不同带宽,过度带、截止频率、阻 带衰减和带内波纹生成相应的抽头系数[4]。其中为了减小数字 低通滤波电路对基带噪声信号功率谱的影响,尽可能不增加 基带噪声信号的带内波动,带内波纹要选取的尽可能小。同时 为了节省 FPGA 空间,在编写软件时把抽头系数采用数组的 方式操作。通过选择不同的抽头系数,实时更新 FIR 滤波电 路,完成不同噪声带宽的选择。同时也可以通过生成特定滤波 电路类型而得到不同的噪声。例如,对于通常作为室内音响测 定用的粉红噪声,其频谱具有以-3dB 倍频程下降的特性。通 过 MATLAB 程序设计特定的抽头系数,使得数字低通滤波电 路的幅频特性逼近-3dB 倍频程,然后让均匀分布的白噪声 通过此低通滤波电路,进而得到粉红噪声。
4 结束语
本文设计的基带噪声发生电路,性能良好,且可以根据用 户要求修改噪声的带宽、均值、方差;同时可以通过变换抽头 系数,生成带通滤波器,扩展为窄带噪声源。硬件稍加变化,就 可生成均匀分布白噪声、瑞利分布白噪声、粉红噪声等常用噪 声信号,有较好的实用特性。
参考文献:
[1] G.Mar saglia.Diehard.a battery of tests of randomness [EB/OL]. http://stat.fsu.edu/ ogeo/diehard.html,1997.
3 带限噪声结构框图及硬件实现
基于 FPGA 的噪声发生器的总体框图如图 2 所示。首先
68
认证与实验室
用数字的方法生成幅度分布为均匀分布的均匀白噪声序列, 通过查找 RAM 表,得到幅度分布为高斯分布的白噪声序列, 再进行数字 FIR 低通滤波得到数字带限高斯白噪声信号。主 控制器通过实时更改乘法器的系数和加法器的数据,完成方 差和均值的控制。其中均匀分布白噪声模块、FIR 数字低通滤 波器、均值和方差控制电路在一片 FPGA 内完成。
3.3 噪声带限控制模块
在随机信号理论中有如下结论:高斯过程经过线性变换
后的过程仍然是高斯过程。因此,让基带高斯白噪声通过低通
滤波电路,即得到带限基带高斯白噪声。而在滤波器当中,
FIR ( Finite Impulse Response)滤波器具有很好的相位特性,且
因为没有极点,所以总是稳定的,因此,本设计采用 FIR 滤波
摘 要:介绍了一种基于 FPGA 带限噪声发生电路的结构和实现。该数字噪声信号发生电路采用数字
方法生成基带噪声序列,并加入数字低通滤波,可在线修改噪声带宽和幅度。使用方便灵活,并且具有
很好的可扩展性。
关键词:基带噪声;高斯白噪声;带限;幅度
中图分类号:TN03
文献标识码:A
文章编号:1003- 0107(2009)05- 0068- 03
2 高斯白噪声发生电路的原理
在随机信号理论中,随机变量满足以下定理:若给定任何 随机变量 X 的累积分布函数为 F(X),则 Y= F(X)是在(0, 1)区间 内均匀分布的随机变量,且与 X 的分布特征无关。这样,建立 随机变量 X 与变量 Y 的一一对应关系,然后将 Y 同均匀分布 序列进行映射,就建立了均匀分布序列同随机变量之间的对 应关系。因此高斯分布白噪声的建立方式如下图 1 所示。首先 将正态分布(高斯分布)函数的自变量 y 进行合理的离散化,构 成一个数列。再将此数列中的任一个数 yi 映射到数轴 x 上的 某个小区间段[Xi0,Xi1] ,区间段的长度则由 yi 所对应正态分 布的概率密度决定的,其中 Xi0,Xi1 =yi。取遍数列中所有 的数值,得到一系列的小区间,则构成变量 x 的取值区间[- x, x],数轴 x 上的各个小区间与 y 序列的映射关系即对应表达式
其是由一个 " 抽头延迟线 " 加法器和乘法器的集合构成。每
个 y(n)的输出都要进行 L 次乘法和 L 一 1 次加法来计算乘积
和。这样,通过更新 h(k)的抽头系数,完成不同带限噪声的选
择。
图 3 [- 5.5, 5.5]的概率密度
例如当选取 RAM 空间大小为 1.6×107 ,高斯分布区间长 度为[- 5.5, 5.5]时,通过 MATLAB 软件可确定样本值 5.5 的概 率密度约为 1.077×107 ,如图 3 所示,则根据表达式(1),可确 定 5.5 出现的次数为 1.6×107×1.077×10-7 ≈2,即在 RAM 空 间中存储样本值 5.5 两次。同理,可确定整个区间每个样本值 存储的次数,然后把样本值通过主控制器随机的存入 RAM 中。
相关文档
最新文档