matlab函数噪声模拟,matlab 模拟高斯噪声和有色噪声

1. 高斯白噪声-white noise

模拟高斯噪声,也称为正态噪声,是有一系列不相关的随机变量组成的理想化随机过程,是有一系列不相关的随机变量组成的理想化随机过程,其统计特性服从正态分布。一种较为泛用的噪声模型。

Matlab已经有一个randn(M,N)的函数,用其可以产生出均值为0、方差为1、尺寸为M X N像素的高斯噪声图像。

mean = 0;

var=0.08;

n_gaussian = mean+var*randn(M,N);

1_gaussian=mean+var*randn(M,1);  % 一维高斯噪声

2,有色噪声-colored noise

有色噪声(或相关噪声)是指序列中没一时刻的噪声相关。有色噪声可以看成是由白噪声序列驱动的线性环节的输出

示例:产生一个有色噪声 e(k) = x(k)+0.5*x(k-1), 其中x(k)是 mean =0, var = 1, 的白噪声

clear all; close all;

clc

L=500;  %仿真长度

c = [1 -0.5];

nc = length(c) - 1;

xik=zeros(nc,1);  %白噪声初值

xi=randn(L,1);  %产生均值为0,方差为1的高斯白噪声序列

for k=1:L

e(k)=c*[xi(k);xik];  %产生有色噪声

%数据更新

for i=nc:-1:2

xik(i)=xik(i-1);

end

xik(1)=xi(k);

end

subplot(2,1,1);

plot(xi);

xlabel('k');ylabel('噪声幅值');title('白噪声序列');

subplot(2,1,2);

plot(e);

xlabel('k');ylabel('噪声幅值');title('有色噪声序列');

%测试功率谱

[y1,f1] = Spectrum_Calc(xi',512);

p1 = 1/L * y1.*conj(y1);

figure(2)

subplot(211)

plot(f1,p1)

[y2,f2] = Spectrum_Calc(e,512);

p2 = 1/L * y2.*conj(y2);

subplot(212)

plot(f2,p2)

代码地址

3. 白噪声和有色噪声区别

(1)其实由定义可以看出,白噪声不同时刻是不相关的,自相关函数为脉冲函数;有色噪声则是相关的。

(2)实际测试可以通过测试功率谱来区别,白噪声的功率谱在各频率的值都比较平均,有色噪声则会有较为明显的峰值

原文参考地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值