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

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从实验角度来验证混沌数据可以被预测吗?相关的知识,希望对你有一定的参考价值。

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

关键词 混沌混沌信号预测

 

§01 沌数据


一、背景介绍

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

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

二、实验准备

1、实验电路

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

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

▲ 图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取值下对应的移相振荡电路频率

#!/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 在面包板上搭建的实验电路

二、测量波形

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

1、正常震荡波形

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

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

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

2、混沌振荡波形

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

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

三、电脑音频接入

1、制作音频输入接口

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

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

2、测试输入信号

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

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

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

(2) 设置线路输入增益

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

▲ 图2.3.3 设置线路输入增益

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

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

四、录制混沌信号

1、录制混沌信号

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

▲ 图2.4.1 混沌信号状态

  下面是录制的两个通道的信号波形。

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

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

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

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

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

2、录制正常震荡波形

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

▲ 图2.4.5 正常震荡信号波形

  存储音频文件: Chaos5.WAV。

 

验总结 ※


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

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


■ 相关文献链接:

● 相关图表链接:

以上是关于从实验角度来验证混沌数据可以被预测吗?的主要内容,如果未能解决你的问题,请参考以下文章

BP预测基于Sine混沌映射优化麻雀算法改进BP神经网络实现数据预测

BP预测基于Logistic混沌映射改进麻雀算法改进BP神经网络实现数据预测

BP预测基于Tent混沌映射改进麻雀算法改进BP神经网络实现数据预测

BP预测基于Sine混沌映射优化麻雀算法改进BP神经网络实现数据预测

BP预测基于Logistic混沌映射改进麻雀算法改进BP神经网络实现数据预测

BP预测基于Tent混沌映射改进麻雀算法改进BP神经网络实现数据预测