NG-SPICE is a program designed to simulate circuits. The acronym stands for (Next Generation) Simulation Program, with Integrated Circuit Emphasis. While NG-SPICE is open-source, its cousins such as LT-SPICE and PSpice are proprietary. However, NG-SPICE also uses advanced Mathematical modelling of components and circuits. Sometimes I find it to be an educational toy.
A type of circuit which some people might find interesting, is the IF strip – the Intermediate Frequency stage – of a radio receiver, which receives its signal after the Radio-Frequency signal has been ‘mixed’ with a Local Oscillator, and heterodyned down to the Intermediate Frequencies. And due to modern technology, a final, intermediate frequency of 450kHz can be used both for AM and FM demodulation.
There is a type of resonant circuit that employ capacitors and inductors – i.e., coils, in order to accomplish two things:
To act as a bandpass filter, restricting the frequency range,
To establish a phase-shift between the incoming carrier wave, and an oscillating, derived wave, that is dependent on the momentary frequency of the carrier wave, so that later in the analog processing of the signal, a phase-discriminator can complete the task of FM demodulation. This task is also referred to as Quadrature Demodulation of an FM carrier.
In short, I’ve been reinventing the wheel. But I did read an article from elsewhere on the Internet, which inspired me. The subject of that article was, how to design Varactors, which are variable-capacitance diodes, when restricted to only using CMOS transistor-pairs. These diodes would represent a good way to tune circuits and vary the frequency of oscillators, in many types of applications. But I had an application in mind, which this type of varactor would help me solve. The mentioned, “IMOS Varactors” are remarkable because they don’t actually involve any diodes. They involve a way to connect an enhancement-mode P-channel MOSFET, so that the effect of gate-voltage changes on the MOSFET’s gate capacitance, acts as a varactor.
If somebody is designing a tuned circuit using the smallest, most-modern coils, manufactured by high-tech factories, then those coils allow for a high Q-factor to exist, which is a measure of how selective the filter can become, as well as to have good thermal stability, but if they are on a budget, these components will have some amount of tolerance, meaning that in a constant way, each component’s actual inductance value will vary to some degree. This is especially unfortunate since high-quality inductors on a budget, are also unlikely to be tunable. If the inductor in question is of a better sort, that ‘only’ has 5% tolerance, this would mean that with an improperly designed radio tuned to an intended AM frequency of 800kHz, instead, the listener could end up receiving a station at 780kHz, or at 820kHz, just because this one filter’s frequency is off by 5%. Of course, real radios that are designed to any level of satisfaction don’t behave that way.
What can be done, is that in the assembly-process for the radio, some machine calibrates its tuned circuits. But again, a maximal use of the main integrated circuit is assumed, and a minimal expense of external, discrete components is assumed. Here, a trimming potentiometer is a more-affordable way to do, what back in the 1970s and 1980s, tunable inductors would have done. If the assumption was made that for reasons I won’t go in to here, the IC can hold an exact voltage steady, then this voltage can also be applied to varactors internal to the IC, in a way that corrects for whatever amount of error was present in the coil.
And so, reinventing the wheel in order to educate myself, what I have done was to design two circuits, one of which tunes in to 450kHz with the aid of such monolithic varactors, and the second of which does the same at 10Mhz instead. I’m using transistors that are not the tiniest in existence, but which are still too tiny, for an implementation of these ideas to be attempted with discrete components. Capacitances in picofarads should act as a warning to any reader, not to try this with discrete components. It’s much less-risky financially, just to run some simulations using NG-SPICE…
(Updated 7/15/2019, 16h45 … )