# Simulating secure communication using Chua's circuit in LTspice

I am trying to simulate secure communication using Chua's circuit in LTspice. I send my signal s(t) which is a sine wave which is added to chaos signal then inverted.

This signal is fed to both chaos generator at receiver side and subtractor (though I do not understand why) and we get out put as s'(t).

Using this circuit theory, I should get almost the same waveforms for input and output, but I am not getting this.

Can someone help me identify the mistake here?

EDIT 1

There is some shift in chaos at the transmitter and receiver end when I fed r(t) directly to the subtractor. How do I get rid of it? Shouldn't both be synchronized?

EDIT 2 So I made some edits to the circuit, as was suspected the problem lies in the synchronization of the chaos signals generated at transmitter and receiver, so, in an attempt to synchronize them I connected as in the figure, and I get the desired output exactly- Now my question is can I do that, will it be considered for the idea of 'communication' if I connect transmitter and receiver? Reference for the circuit theory

• I can't tell anything from the pictures in the pdf, but it looks like they have an additional series resistor from the output of the summer & inverter to the input of the receiver. I have doubts that this is secure transmission, since the envelope waveform of a Chua circuit is continuously rising (exponential), and any signal added to it consitutes a visible perturbation. Also, the period is wildly fluctuating (chaotic circuit, after all), so how would anyone guess the needed bandwidth? You might have better changes with a quasi-noise source, e.g. randomly summed sines. Commented Nov 5, 2021 at 17:55
• @aconcernedcitizen I thought that too, but it's not working even if I add that resistor. I have to use chaos in it, can you help with what edits should i make? Commented Nov 5, 2021 at 18:39
• You'll never be able to make two analog circuits have exactly the same behaviuour, and that's precisely what's required in a strange attractor. Commented Nov 6, 2021 at 8:02

There is an error in Fig 2(c) [the 2nd Fig 2(b)!] on p.6 of the referenced paper, under "Receiver". The signal r(t) is shown connected to the Receiver's Chua circuit, but the Chua circuit has no input, only an output (like an oscillator).

Thanks for posting new results. This is potentially interesting in terms of simulator behaviour, see my comment reply to @aconcernedcitizen.

I'm having difficulty guessing where V(vc5) is measured - perhaps at the top of C3? Please do more edits so that everyone can easily see how circuit and plots relate to each other.

In the new (EDIT 1) plot the traces are apparently shifted near the beginning but have clearly diverged in terms of chaotic behaviour by about 5 to 6 mS. (Some time sub-divisions would be great here.)

I can't add any more until I am certain about a direct comparison between the outputs of the two Chua circuits. However, remember that we are working with chaos generators here which need only the slightest difference to go off on different trajectories.

Now my question is can I do that ... ?

No, in the context of the paper you have added another communication link so that now you need two connections between transmitter and receiver where originally there was one.

• I tried modifying it, feeding signal r(t) directly to subtractor, it is still not giving desired out put. What should I do then? Commented Nov 5, 2021 at 18:28
• Check 1. For diagnostics, you will need some more node labels. Label U5 output as chua1; label U9 output as chua2. Run another simulation and plot V(chua1) - V(chua2). If this plot is non-zero, then your "identical" Chua circuits are not the same. Commented Nov 5, 2021 at 19:23
• Check 2. The Chua output plot looks as though it might have 10 kHz components (a guess). Try reducing your timestep to 1E-7. Commented Nov 5, 2021 at 19:25
• @GeBJT I thought I saw that, but I can't see anything in the schematic, so I just gave up. You have good eyes. Commented Nov 5, 2021 at 19:35
• @GeBJT I did edit what you mentioned in the answer, but I am getting the plot for chaos at receiver and transmitter end as shown in edits. Commented Nov 5, 2021 at 20:31

I've written a second answer because there is too much information for another comment.

This answer shows you i) how to synchronise the two Chua circuits in a different way (without an extra link between Tx and Rx), ii) mitigate the drift between the two circuits. The schematic below is a simplified version of your original question, concentrating on the behaviour at simulation start. Look for the node labels chua1 and chua2 as in my earlier "Check 1" comment.

Synchronise Add two Spice directives .IC -- Set Initial Conditions, one for each inductor L1,L2.

Drift mitigation Choose a value of initial inductor current which is near to the value in the "DC op point" (.op directive). For my simulator this is -2 mA ( -2m in the directive statement). This initial value swamps - for a while - the minute uncertainties caused by rounding errors in floating point numbers. See Portability, below.

The plot shows that on my simulator V(chua1) and V(chua2) stay within 0.1 V for more than 20 mS (see Portability, below).

Sensitivity The rate of drift between the two Chua circuits is sensitive to the value of the minimum timestep in the Transient simulation.

Portability I am running LTspice XVII. If your computer is not 32-bit Debian Linux, then you might have slightly different results. Your question dives "under the bonnet (hood)" of the simulation system where the are subtle influences on simulation performance.

Summary You have picked a very tricky simulation to work on! An upvote from me for getting me to investigate the start-up of Chua circuits, thank you.

• I think there's a reason why they're called chaotic circuits. :-) Also why I think OP's circuit will never work: good luck making two analog circuits behave exactly the same (note: exactly, chaos means, after all, sensitivity to initial conditions). Commented Nov 6, 2021 at 8:01
• @GeBJT thankyou for your answer. But even replacing the connection T to R by .ic operation, is not giving desired phase portrait. I guess I will have to connect both to get them synchronised. Commented Nov 6, 2021 at 8:42