在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2167|回复: 3

[原创] 用于仿真噪声注入时的正态(高斯)分布随机序列发生器IP

[复制链接]
发表于 2021-12-29 21:55:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 innovation 于 2021-12-30 14:25 编辑

Okai_NDR_4Sim_v1.00.rar (5.5 KB, 下载次数: 6 )

1. 本IP由成都欧开科技有限公司友情提供
2. 本IP基于VHDL设计
3. 本IP仅可用于仿真,并不能实现电路综合

如果上述2、3条不影响你,那么,可以继续往下看。

本IP基于Irwin-Hall算法或Box-Muller算法,调用VHDL ieee.math_real.all程序包中各种数学函数或过程,生成I/Q两个独立的服从正态分布的随机序列。使用时,可利用IP的属性参数配置:
1) 使用的算法,Irwin-Hall或Box-Muller之一,Irwin-Hall算法时,可配置用于求和的序列个数;
2) 可选择单I通道输出,或是I/Q双通道输出,但Irwin-Hall算法时,IP限制为只输出I通道随机序列;
3) 可配置I/Q通道输出序列的均值、标准差;
4) 可配置输出序列的采样时钟周期;
5) 必要时,可配置使能正态分布验证功能,使能后,IP内部会对生成的序列按照(n-0.5σ, n+0.5σ]区间进行统计计数,n = -7 ~ +7,用户可通过各区间的统计计数与标准正态分布的区间计算进行比对,以验证生成的随机序列是否服从正态分布

IP的端口定义及属性参数如下图:
image.png

这个IP既然不能实现电路综合,那我拿它何用?

咱们的FPGA逻辑程序,投入使用后面临的真实环境是一个噪声环境,所以,在程序设计阶段,绝大多数逻辑设计是需要仿真噪声注入的。而通常要求注入的噪声是高斯白噪声,要生成高斯白噪声,首先需要生成正态分布随机序列,这就是本IP的用途。

本IP生成序列的区间分布统计计数如下表:
image.png
Box-Muller算法有两种实现方式,一种是基于三角函数直接计算,另一种基于极坐标变换的原理,将三角函数的计算转换为除法计算。两种算法生成的正态分布序列的性能如下图:
image.png

Irwin-Hall算法时,求和序列个数n 由12-->128变化时的性能对比图:
image.png

上图中横坐标为Irwin-Hall算法中求和序列个数n,绿色虚线为各区间内标准正态分布时,总点数50,000,000,本区间的期望统计计数。蓝色/橙色线为Irwin-Hall算法在各n值时对应区间的统计计数的变化趋势。



发表于 2021-12-30 21:37:20 | 显示全部楼层
高端玩家
 楼主| 发表于 2022-1-1 00:51:28 | 显示全部楼层
本帖最后由 innovation 于 2022-1-7 15:20 编辑

噪声注入仿真案例一

被测对象:MIL-STD-1553b总线曼彻斯特解码器
测试目的:验证MIL-STD-1553b总线收发器芯片输出到FPGA输入之间受到电路板内部噪声干扰,FPGA内曼彻斯特解码器电路工作情况
测试方案:FPGA曼彻斯特编码器输出仿真回环至曼彻斯特解码器输入,并在输入曼彻斯特解码器IP之前按照2.28%左右的比例添加随机噪声,曼彻斯特编码器IP按照1Mbps的波特率从仿真开始,按0x0000开始,递增+1,连续发送,每发送32个字,间隔(总线空闲)20us。仿真时解码器对解码出错进行计数。共仿真200ms,即9696个字,193920bits,无报错。
整体仿真如下图:
image.png
其中:hi1567_txp/txn(黄色)为编码器输出,hi1567_rxp/rxn(紫色)为注入了噪声的编码器输入,sina/sinb(白色)为解码器恢复出来的信号,md_rbr[15:](绿色)为解码器解码出的并行数据,WoreErrCNT0[15:0](红色)为解码器出错计数。

放大局部如下图:
image.png

更进一步放大如下图:
image.png

可以看到,通过仿真的方式注入噪声,对于我们优化自己的FPGA逻辑设计是很有帮助的,而且,由于仿真的噪声是伪随机序列,具备仿真可重复性,当我们注入噪声出现问题时,我们可以不断复现故障,直到我们找到解决办法,这是用仿真的方式注入噪声最吸引我的地方。
进一步提高噪声比例到5.48%,还能正常工作,局部如下图:
image.png

更进一步提高噪声比例到8.08%,挂掉了,仿真显示200ms通讯数据中,出现了4个错误,放大局部如下图:
image.png

这个时候,必要时,咱们就可以分析出错点的噪声形态是否超出当前设计的容忍极限?未超出,说明设计没有达到预期目的;超出,就只有更换设计方案。
备注(2022-01-07):上文中噪声比例为单信号线注入的比例,2.28%、5.48%、8.08%分别对应正态分布±2.0σ、±1.6σ、±1.4σ区间之外注入噪声。对于解码器差分输入来说,等效注入的噪声比例实际分别为4.55%、10.96%、16.15%。



您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 01:31 , Processed in 0.018326 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表