声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1296|回复: 2

[综合讨论] 编制高斯噪声程序问题

[复制链接]
发表于 2008-5-16 13:27 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?我要加入

x
谁有用matlab 自己产生的高斯分布噪声的程序啊??不是用自带函数生成的那种。。。。在这里先谢过了
回复
分享到:

使用道具 举报

发表于 2008-5-18 01:28 | 显示全部楼层
即便有大多也是基于matlab中的平均序列生成的

评分

1

查看全部评分

发表于 2008-5-18 11:37 | 显示全部楼层

我有用Fortran 编的,你改为matlab 吧

!! Function to Return a Gaussian Noise with Mean u and Variance g
Real Function GaussianNoise(u,g)
USE PORTLIB                                                                  
Real u,g
Integer n
Real    b

n=12 ; b=0.0
do i=1,n
     b=b+RANDOM(0)
enddo
GaussianNoise = u+g*(b-n/2)
Return
End Function GaussianNoise

!! Function to Return a Gaussian Noise (0,1) based on Box-Muller Method ----
   Real Function Gasdev()
   USE PORTLIB
   USE MSFLIB
   Real x1, x2, x3, f1
   if( jf_set == 0 ) then
   10  x1 = 2.0 * RANDOM(0) - 1.0
          x2 = 2.0 * RANDOM(0) - 1.0
          x3 = x1 * x1 + x2 * x2
             if( x3 > 1.0 .OR. x3 == 0.0 ) goto 10

              f1 = SQRT( -2.0 * log( x3 ) / x3 )
              noise_set = x1 * f1
                jf_set = 1
                  GASDEV = x2 * f1
                 else
                 jf_set = 0
                GASDEV = noise_set
             endif  
    Return
    End Function Gasdev

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 09:23 , Processed in 0.051796 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表