I am currently working on a power electronics project in Kicad. It's a special kind of power converter.
The part of the project that I'm struggling with is that I need either a voltage-controlled amplifier, analog multiplier, analog divider, or some kind of transistor oscillator with 3 states.
For this project I need to rapidly alternate between turning on 3 transistors. Generally only one will be turned on at a time, but with the duty cycle of each one being proportional to a voltage. There are 3 voltages that should be should determine the relative duty cycle of each transistor. They follow a rectified sine wave. Here is the waveform of these 3 voltages:

One idea I had was to synthesize 3 triangle waves, and multiply them by the above voltages. The transistor turned on at any given time would be determined by the highest product. Here is the circuit I created for a 3-phase triangle wave synthesizer, and their waveforms.


The problem is that I have tried a variety of analog multiplier or voltage-controlled amplifier circuits that I found online, but none of them worked as expected. It might be a problem with NGSpice, but I want to be able to simulate my circuit to make sure it works. Even if I could get one of them to work, I don't know exactly how it should be configured for what I'm doing.
An alternative to the analog multiplier would be to have a kind of oscillator using transistors and capacitors. It can use 3 capacitors. One capacitor at a time would be charged until it reaches a given voltage, and then it would be immediately discharged and the next capacitor would begin charging. The speed at which the capacitor is charged would be determined by the voltage at the other side of a resistor. But I don't know how to implement this.
The part of the project that I'm struggling with is that I need either a voltage-controlled amplifier, analog multiplier, analog divider, or some kind of transistor oscillator with 3 states.
For this project I need to rapidly alternate between turning on 3 transistors. Generally only one will be turned on at a time, but with the duty cycle of each one being proportional to a voltage. There are 3 voltages that should be should determine the relative duty cycle of each transistor. They follow a rectified sine wave. Here is the waveform of these 3 voltages:

One idea I had was to synthesize 3 triangle waves, and multiply them by the above voltages. The transistor turned on at any given time would be determined by the highest product. Here is the circuit I created for a 3-phase triangle wave synthesizer, and their waveforms.


The problem is that I have tried a variety of analog multiplier or voltage-controlled amplifier circuits that I found online, but none of them worked as expected. It might be a problem with NGSpice, but I want to be able to simulate my circuit to make sure it works. Even if I could get one of them to work, I don't know exactly how it should be configured for what I'm doing.
An alternative to the analog multiplier would be to have a kind of oscillator using transistors and capacitors. It can use 3 capacitors. One capacitor at a time would be charged until it reaches a given voltage, and then it would be immediately discharged and the next capacitor would begin charging. The speed at which the capacitor is charged would be determined by the voltage at the other side of a resistor. But I don't know how to implement this.









