wuliping1 发表于 2008-11-20 11:42

提供随机共振的Matlab源代码,供大家一起讨论。

下面是我修改别人的随机共振系统的Matlab代码,供大家讨论,本人也是初步学习,有关随机共振的详细内容,希望和大家一起学习,共同进步^_^
主程序:

clear all
clc
fs=5;   %参样频率
f=0.01; %信号频率
Ts=1/fs;%参样时间
h=1/fs; %时间步长
t=0:Ts:4095*Ts;
D=0.6; %噪声强度
%双稳态系统参数
a=1;
b=1;
s=0.3*sin(2*pi*0.01*t);         %信号
x1=s+sqrt(2*D)*randn(size(t));%噪声
%输入无噪信号傅立叶变换
y=fft(s,4096);
pyy=y.*conj(y)/4096;
ff=fs*(0:2048)/4096;
figure(1);
subplot(2,1,1);plot(t,s);
title('输入无噪信号');xlabel('时间t/s');ylim([-0.5,0.5]);ylabel('信号幅度A');
subplot(2,1,2);plot(ff,pyy(1:2049));
xlabel('频率f/Hz');ylabel('频谱幅度');xlim();title('输入无噪信号的频谱');
%输入加噪信号傅立叶变换
y=fft(x1,4096);
pyy=y.*conj(y)/4096;
ff=fs*(0:2048)/4096;
figure(2)
subplot(2,1,1);plot(t,x1);
title('输入加噪噪信号');xlabel('时间t/s');ylabel('信号幅度A');
subplot(2,1,2);plot(ff,pyy(1:2049));
xlabel('频率f/Hz');ylabel('频谱幅度');xlim();ylim();title('输入加噪信号的频谱');
%四阶龙格库塔法对双稳态输出信号求解
x=sr(a,b,h,x1);
%输出信号求傅立叶变换
y=fft(x,4096);
py=y.*conj(y)/4096;
ff=fs*(0:2048)/4096;
figure(3);
subplot(2,1,1);plot(t,x);
title('输出信号');xlabel('时间t/s');ylabel('信号幅度A');
subplot(2,1,2);plot(ff,py(1:2049));
xlabel('频率f/Hz');ylabel('频谱幅度');xlim();ylim();title('输出信号的频谱');

子程序:解四阶龙格库塔法
function x=sr(a,b,h,x1)
x=zeros(1,length(x1));
for i=1:length(x1)-1
    k1=h*(a*x(i)-b*x(i).^3+x1(i));
    k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+x1(i));
    k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+x1(i+1));
    k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+x1(i+1));
    x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
end

xiuhuwang 发表于 2009-5-12 14:31

回复 楼主 wuliping1 的帖子

我最近做毕设
在做利用随机共振原理为图像加噪实现图像的增强
或许我们可以讨论一下

liuxianming456 发表于 2012-9-27 17:25

我最近在做毕业设计,在随机共振在为微弱机械振动信号增强,以便于检测

wondergirl 发表于 2013-2-27 07:11

感谢您的分享~
先收藏啦,共同进步。

lordkibun 发表于 2013-5-23 15:35

感谢楼主啊。我最近也在搞论文,随机共振的。
页: [1]
查看完整版本: 提供随机共振的Matlab源代码,供大家一起讨论。