高斯随机噪声实时生成实现方法研究
消费类电子论文高斯随机噪声实时生成实现方法研究摘要:提出了一种面向硬件的均值、方差的高斯随机噪声生成方法。改进了传统的采用蒙特卡洛方法实现均匀分布噪声到同分布噪声的快速转化,利用映射函数方法实现个转为,最大随度地降低运算量。实验证明本方法具有快速、高精度等优点。关键词:高斯随机噪声实时图像高斯随机噪声在信号分析和处理中具有重要的价值。本文具体讨论了一种面向硬件的高斯噪声快速生成算法。算法原理为通过映射表法将均匀噪声转化生成高斯随机噪声。本方法占有内存小、运算速度快、精度高。实验证明该方法能够为视频图像实时添加高斯噪声。图1原理框图如图1所示。图1左半部分为均匀噪声生成部分,采用模数取余法,依靠已有的K个随机数种子,不断生成新的随机数,并将之向外输出。图1右半部分采用左半部分的输出值生成映射表地址,将查表后得到的结果输出,即为所要求的高斯噪声值结果。1生成均匀分布噪声设x(1),...,x(k)是给定的k个随机数,在(-X,X)内均匀分布,相互独立。第k+1个随机数由x(1)和x(k)按照模X相加得到:即x(k+1)仍然是(-X,X)之间的随机数。在下一次运算时,将x(k+1)移到x(k)的位置,xk)移到x(k-1),,x(2)移到x{1},然后再做模X运算,相加得到x(k+2),如此循环,产生序列{xn}。首先讨论上面的模X运算。对于采用补码运算的处理器而言,只要取X为处理器字长,则在不考虑进位的情况下,通常的加法就是模加运算。然后采用数据结构实现上面的循环机制。设两个指针:头指针head和尾指针tail。每计算完一次噪声值后,两个指针都要向下移动一个位置。已到序列尾部,则重新指到序列的头部,即按照加1模K运算:为了计算方便,选K为256。若用head和lnil指针做相
用户评论