lehehea 发表于 2009-9-14 20:50

用MATLAB编程分析噪声对混沌振子的影响的时候怎么加入噪声?

用MATLAB编程分析噪声对混沌振子的影响的时候怎么加入噪声?
研究duffing振子检测微弱信号,但是不知道噪声怎么加入,求高人指点啊

friendchj 发表于 2009-9-14 22:50

help rand,randn,imnoise

lehehea 发表于 2009-9-15 21:22

回复 沙发 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)吗?

ChaChing 发表于 2009-9-16 00:27

不懂LZ的专业东东!
但y=y/std(y)错误:diveded by zero是一定的, 因y=randn(1,length(t))仅是一个值, std(y)就一定为零!

lehehea 发表于 2009-9-20 19:35

回复 地板 ChaChing 的帖子

y=randn(1,length(t))不是产生一行,length(t)列的高斯随机数吗?它的标准差怎么是0呢?

ChaChing 发表于 2009-9-21 08:45

ode45呼叫函数f(t,x)是一次一个t和x!
length(t)=1

lehehea 发表于 2009-9-23 09:35

回复 6楼 ChaChing 的帖子

哦,谢谢啊,这个我给弄混了
那如果我想加入0均值的高斯噪声,应该怎么办呢?

ChaChing 发表于 2009-9-23 10:58

真的不太懂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);

lehehea 发表于 2009-9-24 18:53

回复 8楼 ChaChing 的帖子

谢谢啊,我先看看

64471059 发表于 2012-4-16 11:02

你好,我也是在做这方面,能不能给我这个加噪的程序做个参考,我想加非高斯的,我的邮箱64471059@qq.com,谢谢((em:12))

cumtchenyy 发表于 2012-7-12 19:27

x0错了吧

yzsldj 发表于 2014-6-14 16:42

ChaChing 发表于 2009-9-23 10:58
真的不太懂LZ的专业东东! 但改成这样是有输出的
global w;
w=1; tspan=; x0=;


噪声好像没有加上去啊。
页: [1]
查看完整版本: 用MATLAB编程分析噪声对混沌振子的影响的时候怎么加入噪声?