结项报告
本项目基于AC620提出并实现一种多功能随机源。整个随机源包括自主研制的单光子源、单光子探测器和AC620信号处理板组成。单光子源将LED发射的连续光经衰减成单光子态。单光子探测器接收到单光子后,输出离散的单光子脉冲序列。单光子脉冲序列输入FPGA信号处理板。
FPGA底层设计高可靠性布尔网络
传统布尔网络对于数据和模型选择方面具有不确定性,利用PFGA自身的逻辑单元来产生循环输出产生八位的随机数,它产生的随机数要比伪随机数要好的多,其随机数是真随机数
布尔网络是利用PFGA自身的逻辑单元来产生循环输出产生八位的随机数,利用板子倍频到100M,然后比较八位的随机数产生0和1输出的脉冲时间上就符合指数分布,每一路的高低电平相与再通过等时间间隔计数,计数到的脉冲个数作为一个新的随机数,然后存储到ROM1存储器里面。之前产生的一个路单脉冲时间上是符合指数分布的,用它来触发产生输出的高斯波形。这时候的高斯波形是用MATLAB产生的mif文件,存储在另外的一个开辟的存储器内ROM2空间内。ROM1的数据可以通过串口输出。要产生幅度符合高斯分布脉冲就是要利用16bit的ROM2的数据除以ROM1随机数,输出幅度就符合高斯分布了。输出通过地址加1和一路脉冲的触发来控制。出来的信号是数字信号,经过DAC模块就转换成模拟信号了。这时候的脉冲就是符合幅度高斯分布、时间间隔指数分布特性的脉冲信号。
布尔网络触发产生随机源
系统的整体框架如图
整个系统实现软硬件的协同设计,单光子脉冲信号的采集和处理由AC620实现,DDS以及DA输出也由AC620控制实现,可实现多功能光量子随机源。
该模块是任意波形发生模块。以采集到的单光子脉冲信号作为触发信号。DDS模块每检测到一个单光子脉冲,就取一次完整的ROM值,产生一个高斯脉冲。同时,DDS模块利用高斯脉冲与接收的真随机数作除法运算,从而得到时间上满足泊松分布,幅度上符合高斯分布的脉冲信号。DDS模块的整体功能结构图如图,产生的脉冲信号再经过高速DA输出模拟信号波形。
DDS模块框图
真随机数通过串口和AC620开发板输出到PC并且对数据进行处理,经过NET等软件对随机数的随机性进行检测如图所示。
系统运行整体的结构图所示,接收真随机数的同时产生仿核脉冲。
系统运行整体结构图
总结
本作品基于AC620实现了一个非常有效可靠的多功能光量子随机数发生器。不得不说AC620真的是一块良心开发板,开箱测试没有任何问题,板子也做的非常漂亮。再者,小梅哥的教程也非常详细,不论是对初学者还是对有一定基础的人来说都是一份宝贵的资料,希望也祝福小梅哥的团队越来越壮大,客户遍天下!
2
3
4
5
6