Author Topic: I made LC oscillator finder (and found that there are only 12 simplest types)  (Read 692 times)

0 Members and 1 Guest are viewing this topic.

Offline dusanTopic starter

  • Regular Contributor
  • *
  • Posts: 92
  • Country: sk
I made a program that generate random topology and uses spice simulation to find if it oscillate. The goal was to find some novel LC oscillators. It worked, it found many different oscillators. I let it ran for a while and soon I found out that the simplest possible LC oscillator has 1 inductor, 2 capacitors, 1 resistor and 1 transistor. I found many different variations of it, I called this class of oscillators "LCCRT oscillator" and it also always had 2 internal nodes so that's not very large search space so I generate all possible combinations and I found out there are exactly 12 distinct LCCRT topologies:

2304897-0

Basically any time cap connects to a rail it can be placed to other rail as well, and any time one rail connects via resistor, the resistor can also be moved to other rail. This creates 12 possible combinations.

Of course it found many different topologies. Some times they were unique, other times they could be simplified into already found oscillator. You can find entire project on github, it is a ngspicejs script: https://github.com/dvhx/lc-oscillator-finder
 
The following users thanked this post: RAPo

Offline Shay

  • Regular Contributor
  • *
  • Posts: 102
  • Country: il
That's really cool. Is it able to generate other type of oscillators? E.g some that rely on negative resistances or simpler R/C/BJT only type?
 

Offline dusanTopic starter

  • Regular Contributor
  • *
  • Posts: 92
  • Country: sk
Currently only one inductor and any amount of capacitor, resistor and npn.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf