从实验角度来验证混沌数据可以被预测吗?

简 介: 利用由两个晶体管组成的简易混沌电路产生物理混沌信号,通过计算机的声卡采集存储,为之后的实验制作数据集合。

关键词 混沌混沌信号预测

混沌数据
文章目录
背景介绍
实验准备
采集数据
搭建实验电路
测量波形
电脑音频接入
录制混沌信号
实验总结

 

§01 沌数据


一、背景介绍

  混沌数据可以有软件仿真而得到,也可以直接从自然现象中采集而得。下面就是根据前面 测试简单混沌电路系统的低频特性 中测试的电路,通过修改其中原器件参数,使其所产生的信号主要频道位于音频范围内,然后使用电脑声卡进行采集数据。

  采集数据之后,应用于信号与系统、人工神经网络课程的基础实验。

二、实验准备

1、实验电路

  仍然采用在 测试简单混沌电路系统的低频特性 中的由两个NPN(BC547-C)三极管组成的混沌电路。只是通过调整其中的C1,C2,C3使得所产生的混沌信号大约在1000Hz左右。

  下面是其中的实验框架,只是其中的电容需要进行改动。

▲ 图1.2.1  双晶体管混沌电路

▲ 图1.2.1 双晶体管混沌电路

  在 两个晶体管组成的混沌电路 中,C1,2,3使用了1nF,所产生的基础振荡频率为53.47kHz;在测试简单混沌电路系统的低频特性中,将C1,2,3修改成了220nF左右,主振荡频率为349Hz。

  注意:这并没有实际上按照C1,2,3 容值的增加呈现等比例的减小。电容增加了220倍,频率只是降低了 53.47 / 349 = 153.2 53.47/349 = 153.2 53.47/349=153.2倍。

2、设计C1,2,3电容值

  为了使得电路输出频率中心大约在1kHz ,需要修改电路中C1,2,3,4的取值。根据测试简单混沌电路系统的低频特性中的建立的模型,给出了不同C1,2,3取值情况下对应的理论计算值。

▲ 图1.2.2 不同C1,2,3取值下对应的移相振荡电路频率

▲ 图1.2.2 不同C1,2,3取值下对应的移相振荡电路频率

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-10-03
#
# Note:
#============================================================
from headm import *
P = lambda x,y : x*y/(x+y)
#------------------------------------------------------------
R1 = 5.1e3
R2 = 5.1e3
R3 = 10.0e3
R4 = 10.0e3
rb = 2.7e3
c1 = 0.22e-6
c2 = 0.22e-6
c3 = 0.22e-6
def F(omiga, r=rb, flag=0):
    C1 = 1/(1j * 2 * pi * omiga * c1)
    C2 = 1/(1j * 2 * pi * omiga * c2)
    C3 = 1/(1j * 2 * pi * omiga * c3)
#------------------------------------------------------------
    r1 = R4 + P(C3,r)
    r2 = R3 + P(C2, r1)
    r3 = P(C1, r2)
    Urb_1 = P(C3, rb) / r1
    U1_2 = P(C2, r1) / r2
    U2_c = r3/(R1+R2+r3)
    Fomiga = Urb_1 * U1_2 * U2_c
    if flag > 0:
        printff(abs(Urb_1), abs(U1_2), abs(U2_c), abs(Fomiga))
    return Fomiga
#------------------------------------------------------------
def c123_arg(c, r=rb):
    global c1,c2,c3
    c1 = c2 = c3 = c
    fdim = linspace(0.01, 1500, 10000)
    fabs = [abs(F(o,r)) for o in fdim]
    fangle = [angle(F(o,r))*180/pi for o in fdim]
    fid = [(lambda x: 0 if x < 100 else 1)(abs(a-b)) for a,b in zip(fangle[:-1], fangle[1:])].index(1)
    freq180 = fdim[fid]
    angle180 = angle(F(freq180, r))*180/pi
    abs180 = abs(F(freq180, r))
    return freq180, angle180, abs180
#------------------------------------------------------------
cdim = linspace(50, 200, 100)
fdim = []
for c in cdim:
    f,_,_ = c123_arg(c * 1e-9)
    fdim.append(f)
plt.plot(cdim, fdim)
plt.xlabel("Capacitor(nF)")
plt.ylabel("Frequency(Hz)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================

  根据上述曲线,确定在1kHz左右,C1,2,3电容值应该在72nF左右,根据手头的电容,最终选择68nF电容。按照比例,选取C4的电容为22nF

电路电容值:
C1,2,3:68nF
C4:22nF

  电路中的电阻与原来电阻相同。两个三极管选择 BC547-C ,三极管的hFE都在500以上。

 

§02 集数据


一、搭建实验电路

  在面包板上搭建实验电路。

▲ 图2.1.1 在面包板上搭建的实验电路

▲ 图2.1.1 在面包板上搭建的实验电路

二、测量波形

  下面在工作电压为+9V情况下,测量电路在正常情况下与混沌情况下的信号波形。

1、正常震荡波形

  调节R5,使得电路没有进入混沌振荡状态。测量Q1集电极与C1上的电压波形。

▲ 图2.2.1 测量Q1集电极与C1上电压X-T波形

▲ 图2.2.1 测量Q1集电极与C1上电压X-T波形

  可以看到对应的频率为854Hz左右,与前面计算的1kHz相差很多。电路正常振荡频率与R5的阻值,工作电压都有关系。

2、混沌振荡波形

▲ 图2.2.2 测量Q1集电极与C1上电压X-Y波形

▲ 图2.2.2 测量Q1集电极与C1上电压X-Y波形

▲ 图2.2.3 测量Q1集电极与C1上电压X-T波形

▲ 图2.2.3 测量Q1集电极与C1上电压X-T波形

三、电脑音频接入

1、制作音频输入接口

  由于采集的信号是单个通道的信号,所以需要将它们转变成两个通道的接口。通过两个330Ω将单个信号输入 电脑的音频输入端口。

▲ 图2.3.1 制作电脑的音频线路输入线

▲ 图2.3.1 制作电脑的音频线路输入线

2、测试输入信号

(1) 接入电脑线路输入接口

  将信号接入电脑的线路输入插座:

▲ 图2.3.2 将信号接入电脑的线路输入插座

▲ 图2.3.2 将信号接入电脑的线路输入插座

(2) 设置线路输入增益

  调节线路输入属性中的“级别”,改变输入信号的增益。 下面是输入200mVpp的正弦波的情况下对输入增益进行调整。

▲ 图2.3.3  设置线路输入增益

▲ 图2.3.3 设置线路输入增益

(3) 使用Audacity采集输入信号

▲ 图2.3.4 使用Audacity录音软件获得输入信号波形

▲ 图2.3.4 使用Audacity录音软件获得输入信号波形

四、录制混沌信号

1、录制混沌信号

  调节R5使得电路处于混沌震荡状态。 以下是C1,Q1集电极信号X-Y显示轨迹波形。

▲ 图2.4.1 混沌信号状态

▲ 图2.4.1 混沌信号状态

  下面是录制的两个通道的信号波形。
▲ 图2.4.2 录制的混沌信号波形

▲ 图2.4.2 录制的混沌信号波形

  存储的数据文件:Chaos2.WAV,Chaos4.WAV。

  调节到另外的振荡模式重新录制混沌信号波形。

▲ 图2.4.3 混沌波形X-Y轨迹

▲ 图2.4.3 混沌波形X-Y轨迹

  存储的数据文件为: Chaos3.WAV。

2、录制正常震荡波形

▲ 图2.4.4 正常振荡信号X-Y显示波形

▲ 图2.4.4 正常振荡信号X-Y显示波形

▲ 图2.4.5 正常震荡信号波形

▲ 图2.4.5 正常震荡信号波形

  存储音频文件: Chaos5.WAV。

 

验总结 ※


  用电脑的声卡记录有混沌电路产生的混沌信号,用于未来的展示与实验的数据。

  本文使用了由两个三极管组成的混沌振荡电路产生混沌信号,通过电脑的声卡进行录制。建立了这样的实验系统。


■ 相关文献链接:

● 相关图表链接:

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
感谢陆老师,这一版主要是实现了开源,非常好的学习资料。 混沌时间序列分析与预测工具箱 Version3.0 chaotic time series analysis and prediction matlab toolbox - trial version 3.0 (1)产生混沌时间序列(chaotic time series) Logistic映射 - \ChaosAttractors\Main_Logistic.m Henon映射 - \ChaosAttractors\Main_Henon.m Lorenz吸引子 - \ChaosAttractors\Main_Lorenz.m Duffing吸引子 - \ChaosAttractors\Main_Duffing.m Duffing2吸引子 - \ChaosAttractors\Main_Duffing2.m Rossler吸引子 - \ChaosAttractors\Main_Rossler.m Chens吸引子 - \ChaosAttractors\Main_Chens.m Ikeda吸引子 - \ChaosAttractors\Main_Ikeda.m MackeyGLass序列 - \ChaosAttractors\Main_MackeyGLass.m Quadratic序列 - \ChaosAttractors\Main_Quadratic.m (2)求时延(delay time) 自相关法 - \DelayTime_Others\Main_AutoCorrelation.m 平均位移法 - \DelayTime_Others\Main_AverageDisplacement.m (去偏)复自相关法 - \DelayTime_Others\Main_ComplexAutoCorrelation.m 互信息法 - \DelayTime_MutualInformation\Main_Mutual_Information.m (3)求嵌入维(embedding dimension) 假近邻法 - \EmbeddingDimension_FNN\Main_FNN.m (4)同时求时延与嵌入窗(delay time & embedding window) CC方法 - \C-C Method\Main_CC_Method_Luzhenbo.m 改进的CC方法 - \C-C Method Improved\Main_CC_Method_Improved.m (5)求关联维(correlation dimension) GP算法 - \CorrelationDimension_GP\Main_CorrelationDimension_GP.m (6)求K熵(Kolmogorov Entropy) GP算法 - \KolmogorovEntropy_GP\Main_KolmogorovEntropy_GP.m STB算法 - \KolmogorovEntropy_STB\Main_KolmogorovEntropy_STB.m (7)求最大Lyapunov指数(largest Lyapunov exponent) 小数据量法 - \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein1.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein2.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein3.m (8)求Lyapunov指数谱(Lyapunov exponent spectrum) BBA算法 - \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA1.m \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA2.m (9)求二进制图形的盒子维(box dimension)和广义维(genealized dimension) 覆盖法 - \BoxDimension_2D\Main_BoxDimension_2D.m - \GeneralizedDimension_2D\Main_GeneralizedDimension_2D.m (10)求时间序列的盒子维(box dimension)和广义维(genealized dimension) 覆盖法 - \BoxDimension_TS\Main_BoxDimension_TS.m - \GeneralizedDimension_TS\Main_GeneralizedDimension_TS.m (11)混沌时间序列预测(chaotic time series prediction) RBF神经网络一步预测 - \Prediction_RBF\Main_RBF.m RBF神经网络多步预测 - \Prediction_RBF\Main_RBF_MultiStepPred.m Volterra级数一步预测 - \Prediction_Volterra\Main_Volterra.m Volterra级数多步预测 - \Prediction_Volterra\Main_Volterra_MultiStepPred.m (12)产生替代数据(Surrogate Data) 随机相位法 - \SurrogateData\Main_SurrogateData.m
1、该工具箱包括了混沌时间序列分析与预测的常用方法,有: (1)产生混沌时间序列(chaotic time series) Logistic映射 - \ChaosAttractors\Main_Logistic.m Henon映射 - \ChaosAttractors\Main_Henon.m Lorenz吸引子 - \ChaosAttractors\Main_Lorenz.m Duffing吸引子 - \ChaosAttractors\Main_Duffing.m Duffing2吸引子 - \ChaosAttractors\Main_Duffing2.m Rossler吸引子 - \ChaosAttractors\Main_Rossler.m Chens吸引子 - \ChaosAttractors\Main_Chens.m Ikeda吸引子 - \ChaosAttractors\Main_Ikeda.m MackeyGLass序列 - \ChaosAttractors\Main_MackeyGLass.m Quadratic序列 - \ChaosAttractors\Main_Quadratic.m (2)求时延(delay time) 自相关法 - \DelayTime_Others\Main_AutoCorrelation.m 平均位移法 - \DelayTime_Others\Main_AverageDisplacement.m (去偏)复自相关法 - \DelayTime_Others\Main_ComplexAutoCorrelation.m 互信息法 - \DelayTime_MutualInformation\Main_Mutual_Information.m (3)求嵌入维(embedding dimension) 假近邻法 - \EmbeddingDimension_FNN\Main_FNN.m Cao方法 - \EmbeddingDimension_Cao\Main_EmbeddingDimension_Cao.m (4)同时求时延与嵌入窗(delay time & embedding window) CC方法 - \C-C Method\Main_CC_Luzhenbo.m (5)求关联维(correlation dimension) GP算法 - \CorrelationDimension_GP\Main_CorrelationDimension_GP.m (6)求K熵(Kolmogorov Entropy) GP算法 - \KolmogorovEntropy_GP\Main_KolmogorovEntropy_GP.m STB算法 - \KolmogorovEntropy_STB\Main_KolmogorovEntropy_STB.m (7)求最大Lyapunov指数(largest Lyapunov exponent) 小数据量法 - \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein1.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein2.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein3.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein4.m (8)求Lyapunov指数谱(Lyapunov exponent spectrum) BBA算法 - \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA1.m \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA2.m (9)求二进制图形的盒子维(box dimension)和广义维(genealized dimension) 覆盖法 - \BoxDimension_2D\Main_BoxDimension_2D.m - \GeneralizedDimension_2D\Main_GeneralizedDimension_2D.m (10)求时间序列的盒子维(box dimension)和广义维(genealized dimension) 覆盖法 - \BoxDimension_TS\Main_BoxDimension_TS.m - \GeneralizedDimension_TS\Main_GeneralizedDimension_TS.m (11)混沌时间序列预测(chaotic time series prediction) RBF神经网络一步预测 - \Prediction_RBF\Main_RBF.m RBF神经网络多步预测 - \Prediction_RBF\Main_RBF_MultiStepPred.m Volterra级数一步预测 - \Prediction_Volterra\Main_Volterra.m Volterra级数多步预测 - \Prediction_Volterra\Main_Volterra_MultiStepPred.m (12)产生替代数据(Surrogate Data) 随机相位法 - \SurrogateData\Main_SurrogateData.m

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卓晴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值