MATLAB混度系统仿真其二:蔡氏电路系统和三阶RC梯形移相振荡器仿真


前言

基于本系列第一篇文章MATLAB混沌系统仿真其一:Lorenz系统和Rossler系统,参考其函数传递方式、求解微分方程的函数,编写其他电路的仿真程序。由于电路结构是较为晦涩的内容,有需求的读者可以自行阅读专业书籍,这里只浅显地给出对应图形和特征。


一、三阶RC梯形移相振荡器

RC移相式振荡电路的振荡频率固定,虽然波形不太稳定(合适参数下,波形的幅值是混沌的),但是在一些要求不高的系统中也能使用。随着参数r的改变,电路也可能失去混沌,进入稳态。以下是振荡器的代码:

function dy=RC3(t,y0,r)
	if(~exist('r','var'))
	    r = 300; 
	end
	if(~exist('y0','var'))
	    dy=zeros(3,1);  
	end
	ma=-34;%参数
	no=r*y(3)+0.5*(ma-r)*(abs(y(3)+1)-abs(y(3)-1));
	
	dy(1)=-2*y(1)+y(2)+no;
	dy(2)=y(1)-2*y(2)+y(3);
	dy(3)=y(2)-y(3);
end

使用ode45函数求解,将所求的时间与三个微分方程的初值传进去,得出波形和吸引子如下:

tspan = 0:0.01:70;
y0 = [1,0.15,-1];
[t,y]=ode45(@RC3,tspan,y0);

在这里插入图片描述

二、蔡氏电路(Chua’s circuit)

蔡氏电路是一种简单的非线性电子电路设计,它可以表现出标准的混沌理论行为。(蔡少棠教授,1983)

带物理参数的蔡氏电路

蔡氏电路可以用简单的电路实现,此时需要用物理参数描述蔡氏电路。本次仿真的电路参数都是经典值,因此不在代码内累述。

% 方程代码
para=G2*y(1)+0.5*(G1-G2)*(abs(Vpp+y(1))-abs(Vpp-y(1)));
dy(1)=(1/C1)*(-y(1)/R+y(2)/R-para);
dy(2)=(1/C2)*(y(1)/R-y(2)/R+y(3));
dy(3)=-y(2)/L;

电容C、导纳G等值根据可以根据实际电路修改,在方程式代码的前面赋予对应值即可。同时带物理参数的蔡氏电路的时序比较小,采样率需要相应提高,这里采用1GHz,画出5微秒的仿真图。使用初值 [ 1   0.15   0 ] [1\ 0.15\ 0] [1 0.15 0],其波形和吸引子图如下:
在这里插入图片描述
也是一种经典的混沌电路。

蔡氏电路的自治形式

蔡氏电路可以写成方程右边不带t的形式(这也叫自治方程),其结果与带物理参数的方程其实差别不大。其代码更简单:

para=(a-b)*(abs(y(1)+1)-abs(y(1)-1));
dy(1)=r*(y(2)-y(1)-para);
dy(2)=y(1)-y(2)+y(3);
dy(3)=-beta*y(2);

求解同样使用ode45函数。
在这里插入图片描述
参数r可以控制其吸引子形状。把r的数值改成9,则吸引子变成单卷形。
在这里插入图片描述

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡到野生的惠惠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值