首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
高斯随机噪声实时生成实现方法研究 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 23:59:48 点击数:[] ![]() |
|||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 关键词:高斯随机噪声 实时 图像 高斯随机噪声在信号分析和处理中具有重要的价值。本文具体讨论了一种面向硬件的高斯噪声快速生成算法。算法原理为通过映射表法将均匀噪声转化生成高斯随机噪声。本方法占有内存小、运算速度快、精度高。实验证明该方法能够为视频图像实时添加高斯噪声。 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运算: 2 映射高斯噪声 为了由均匀噪声快速产生高斯噪声,采用了映射函数法。其算法原理如图2所示。 这个映射关系可以函数表示为y=f(x)。 其中x服从(-X,X)区间内均匀分布,而y服从均值为u、方差为σ的高斯分布。f函数曲线如图3所示。 对于(0,1)正态分布,图4中的zi都小于1,没有实际意义,所以将其放大了200倍; 则原始映射表描述为: 结果映射表[k]=原始映射表[k·d+d/2] (2) 其中:采样间隔d=∑yi/M.,量化处理曲线如图5所示。 从图5可以发现,两边较小处并没有像阶梯图那样截止为0,而是允许以小的概率出现非零值。试验证明这种方式更好一些。 考虑高斯分布的实际情况,并经过试验验证y仅在[-4,4]之间取值,就能够达到令人满意的精度。图6给出了X大小对噪声精度的影响曲线,纵轴为平均误差。 可以看出,当2X大于5500时,误差达到了极小稳定状态。为了方便计算,选择2X=213=8192,即X=212=4096。 3 精度讨论 该方法主要利用两个表:一个是循环产生均匀噪声的表;另一个是映射表。这两个表的数值都可以由前面介绍的方法计算,下面只讨论它们的精度取舍。 循环表中256个种子的精度要求与映射表的大小有直接关系,对映射表采用了8192(8K)个单元。因此循环表的任务就是要在区间[-4096,4096]内产生均匀分布的随机数。所以循环表中的种子序列x(1),…,x(256)在[-4096,4096]内均匀分布。为了方便计算,将种子序列的分布调整到[-(2115-1),(215-1)]之间,即X=215=32767。所以可以采用包含1位符号位共计16位来存储种子数的补码,这样可以通过丢掉进位的补码加法来实现模X加运算。补码运算结果的高13位或右移3位,可以直接作映射表的偏名地址进行后续查表操作,并且满足在[-4096,4096]内均匀分布。 也可以在此基础上对表进行修改,使得经过映射后高斯分布的均值和方差直接等于用户给定的均值u和方差σ。修改比较简单,将映射表中的每一个单元值y做如下替换: y=(y*σ)>>7+u 此表中数据可以是原码形式也可以是补码形式具体需要而定。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |