• PUDN用户
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 10
    下载次数
  • 2010-04-14 18:50
    上传日期
一个很好的正态分布MATLAB程序,与大家共享,希望对大家有用。
normaldistribution.rar
  • 正态分布
  • 正态分布.txt
    1.7KB
内容介绍
下面以服从均值为0,方差为3的正态分布随机噪声的产生为例加以说明。 产生正态噪声的noise.m[2]文件如下: ================================== echo on fid=fopen('temp.hex','w'); random=3*randn(511,1); for i=1:511 if random(i)>=7 noise(i)=3; noise1(i)=96; fprintf(fid,'%X',noise1(i)); elseif random(i)>=4.6&random(i)<7 noise(i)=2; noise1(i)=64; fprintf(fid,'%X',noise1(i)); elseif random(i)>=2.3&random(i)<4.6 noise(i)=1; noise1(i)=32; fprintf(fid,'%X',noise1(i)); elseif random(i)>=0&random(i)<2.3 noise(i)=0; noise1(i)=0; fprintf(fid,'%X',noise1(i)); elseif random(i)>=-2.3&random(i)<0 noise(i)=0; noise1(i)=0; fprintf(fid,'%X',noise1(i)); elseif random(i)<=-2.3&random(i)>-4.6 noise(i)=-1; noise1(i)=224; fprintf(fid,'%X',noise1(i)); elseif random(i)<=-4.6&random(i)>-7 noise(i)=-2; noise1(i)=192; fprintf(fid,'%X',noise1(i)); elseif random(i)<=-7 noise(i)=-3; noise1(i)=160; fprintf(fid,'%X',noise1(i)); end; end; fclose(fid); ========================== 程序说明: 1. fopen()函数的功能是以写入的方式打开一个temp.hex文件,该文件的作用是存储噪声数据。fprintf()函数用来向打开的文件中写噪声数据。 2. randn(511,1)函数用来产生511个服从均值为0,方差为1的正态分布随机噪声,如需产生方差为delta的噪声,则需在函数前乘以delta。 3. 程序中的for循环语句部分就是对产生的随机噪声进行量化编码。量化是采用的均匀量化,编码是采用补码的形式。值得说明的是该例每个噪声数据用三比特来表示, 如EPROM中的每个地址单元存储一个噪声数据,就有5个比特没用。因此可采用填零的办法,如高3位为噪声数据,低5位填零。从EPROM中读噪声数据时就只取每个地址的前三位。
评论
    相关推荐