logo

추아 회로 📂동역학

추아 회로

시스템 1 2

alt text

$$ \begin{align*} \dot{x} =& \alpha (y - h(x)) \\ \dot{y} =& x - y + z \\ \dot{z} =& -\beta y \\ h(x) =& m_{1} x + \frac{1}{2} (m_{0} - m_{1}) \left( \left| x + 1 \right| - \left| x - 1 \right| \right) \end{align*} $$

설명

추아 서킷Chua’s circuit의 $N_{R}$ 은 이른바 추아 다이오드Chua diode라 하여, 회로에서 비선형 저항을 구현하는 소자라고 한다. $h$ 가 꼭 정해진 것은 아니지만, 넌스무스한 시스템을 상정할 때는 대개 저러한 형태를 사용한다. $h$ 가 저렇게 정의될 경우 추아 회로는 조각마다 선형인 시스템가 된다.

참고로 이러한 회로를 고안하고 연구한 레온 추아Leon Ong Chua는 필리핀 출신의 전기공학자이며, 추아는 한차로 蔡를 쓴다. 우리로 치면 채씨회로 정도로 부를 수도 있겠다.

어트랙터

추아 회로는 다음과 같이 캐어릭 어트랙터를 가진다.

alt text

바이퍼케이션 다이어그램

다음은 $\beta = 15$, $m_{0} = -1/7$, $m_{1} = 2/7$ 으로 두고 $\alpha$ 를 바이퍼케이션 파라미터로 하여 얻은 추아 회로의 바이퍼케이션 다이어그램이다.

alt text

코드

다음은 추아 회로의 어트랙터와 바이퍼케이션 다이어그램을 재현하는 줄리아 코드다.

using DataFrames, DifferentialEquations, OrdinaryDiffEqLowOrderRK

function factory_chua(α::Number; ic = [0.4, -0.2, 0.2], saveat = 0:1e-2:100)
     β,   m0,  m1 = (
    15, -1/7, 2/7)
    h(x) = m1*x + (m0 - m1)*(abs(x + 1) - abs(x - 1))/2
    function sys(du, u, p, t)
        x, y, z = u
        α = p[1]

        du[1] = α*(y - h(x))
        du[2] = x - y + z
        du[3] = -β*y
        return du
    end
    sol = solve(ODEProblem(sys, ic, (0, last(saveat)), [α]), RK4(), dt = saveat.step.hi, adaptive=false, maxiters = 1e+7)
    matrix = Matrix([sol.t'; sol[:, :]; stack([sys(zeros(3), u, [α], 0) for u in sol.u])]')
    return matrix[sol.t .≥ first(saveat), :][1:end-1, :]
end
factory_chua(T::Type, args...; kargs...) =
DataFrame(factory_chua(args...; kargs...), ["t", "x", "y", "z", "dx", "dy", "dz"])

sol = factory_chua(DataFrame, 8.8)
plot(sol.x, sol.y, sol.z, alpha = .5, color = :black, xlabel = L"x", ylabel = L"y", zlabel = L"z", size = [400, 400])

pm, pM = 8.430, 8.8; p0, p1 = 8.79, 8.80;
p_ = range(pm, pM, length = 1001)
bfcn = callbfcn("G:/BF/chua/bfcnA.jld2")
@showprogress @threads for k in eachindex(p_)
    sol = factory_chua(DataFrame, p_[k], saveat = 0:1e-3:3000)
    z_ = sol.z[sol.t .≥ 2000]
    bfcn[p_[k]] = z_[arglmax(z_)]
end
scatter(dict2bifurcation(bfcn)..., xticks = [pm, p0, p1, pM], ms = .5, ma = .5, msw = 0, color = :black); png("temp")

  1. Broucke, M. (1987). One parameter bifurcation diagram for Chua’s circuit. IEEE transactions on circuits and systems, 34(2), 208-209. https://doi.org/10.1109/TCS.1987.1086109 https://people.eecs.berkeley.edu/~chua/papers/Broucke87.pdf ↩︎

  2. https://upload.wikimedia.org/wikipedia/commons/7/71/Chua%27s_circuit_with_Chua_diode.svg ↩︎