用MATLAB编程分析噪声对混沌振子的影响的时候怎么加入噪声?
用MATLAB编程分析噪声对混沌振子的影响的时候怎么加入噪声?研究duffing振子检测微弱信号,但是不知道噪声怎么加入,求高人指点啊 help rand,randn,imnoise
回复 沙发 friendchj 的帖子
本帖最后由 牛小贱 于 2014-6-14 21:53 编辑谢谢你,加噪声的这些函数,但是不知道怎么用在分析噪声对混沌振子的影响上。我把我的程序列出来:
主程序为:
global w;
w=1;
tspan=;
x0=[1,1;
=ode45('f',tspan,x0);
plot(z(:,1),z(:,2))%相图
子程序f为:
function dx=f(t,x)
global w;
k=0.5;
f=0.717282;
y=randn(1,length(t));
y=y/std(y);
y=0.00005*y;%噪声均值为0,标准差为0.000005
dx(1)=w*x(2);
dx(2)=w*(-k*x(2)+x(1)^3-x(1)^5+f*cos(w*t)+y);%
dx=;这样加噪声对吗?为什么我的程序运行时总是出现:y=y/std(y)错误:diveded by zero.
还有,李月、杨宝俊著《混沌振子检测引论》里第55页说到可检测的信噪比为-111.46dB,这时的周期信号功率和噪声方差分别是什么?周期信号功率是取的0.5*10^(-16)吗? 不懂LZ的专业东东!
但y=y/std(y)错误:diveded by zero是一定的, 因y=randn(1,length(t))仅是一个值, std(y)就一定为零!
回复 地板 ChaChing 的帖子
y=randn(1,length(t))不是产生一行,length(t)列的高斯随机数吗?它的标准差怎么是0呢? ode45呼叫函数f(t,x)是一次一个t和x!length(t)=1
回复 6楼 ChaChing 的帖子
哦,谢谢啊,这个我给弄混了那如果我想加入0均值的高斯噪声,应该怎么办呢? 真的不太懂LZ的专业东东! 但改成这样是有输出的
global w;
w=1; tspan=; x0=;
=ode45('f',tspan,x0); plot(z(:,1),z(:,2))%相图
function dx=f(t,x)
global w;
k=0.5; f=0.717282; y=0.00005*randn; dx = zeros(2,1);
dx(1)=w*x(2);
dx(2)=w*(-k*x(2)+x(1)^3-x(1)^5+f*cos(w*t)+y);
回复 8楼 ChaChing 的帖子
谢谢啊,我先看看 你好,我也是在做这方面,能不能给我这个加噪的程序做个参考,我想加非高斯的,我的邮箱64471059@qq.com,谢谢((em:12)) x0错了吧 ChaChing 发表于 2009-9-23 10:58真的不太懂LZ的专业东东! 但改成这样是有输出的
global w;
w=1; tspan=; x0=;
噪声好像没有加上去啊。
页:
[1]