Recursive Ring Modulator?

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

fountain

New member
Joined
Dec 9, 2022
Messages
4
Location
Olympia, WA
Dear GroupDIY people,

I want to create a Geometric Series of frequencies:

f, fa, fa^2, fa^3, fa^4, fa^5, ...

Where
f = fundamental frequency
a = some ratio

It is possible to choose a value for "a", such that the sum of any two terms in the series equals the next term. Euclid called this value the Extreme and Mean Ratio.

a = 1.61803

I wrote a short paper about this, with lots of pictures:

https://spaz.org/~magi/grh/grh.html
I thought, if you begin with two signals, which are consecutive terms in the series, and put them through an Unbalanced Mixer (similar to a Ring Modulator), then you will get out the next and previous terms in the series. If you have some kind of feedback, then you should be able to grow the whole series from just two terms.

I've been reading about Gilbert Cells, and I have a couple MC1496 chips. What do you think would be a good way to do this?

I've built a couple circuits with 741 Op-Amps, and a diode to create the Heterodynes. They work properly when you put in two waves -- you get out the next and previous terms, the sum and difference of the input signals. But I'm having trouble with the feedback. When I put a resistor in series with the inductor (in order to widen the bandwidth) in the parallel LC circuit which recreates the bottom half of the waveform, then the oscillations cease. Should I just turn up the gain of the op-amp?

I feel like my approach may be too simple. Is there a better way to do this?

Here's some pictures:

https://spaz.org/~magi/elec/741/741.html
Here is some Python code I wrote which plots something similar to a Bode Plot for the parallel LC circuit.

https://spaz.org/~magi/elec/741/slider.py
The Resistance is in series with the inductor (inductors in real life have some resistance). The curve is plotted on a linear scale, not a logarithmic scale like a Bode Plot.



I've also heard that another approach would be to put the signal through an output transformer (like from a tube amp), and have an extra winding on the core through which you run DC just to saturate the core. When the core begins to saturate, it starts to behave non-linearly, and you get sum and difference frequencies on the secondary winding.

Thank you for any advice you can offer,
Sean
 
It is not so easy doing it in the analog domain (but trivial in digital):

First, having all coefficients to be 1 (or any constant for that matter) is not something very likely to happen with a ring modulator, so, even though you might achieve the ascending powers, getting the precise coefficients multiplying each term (in this case, they have to be a constant or 1) will not be. For instance, if you use a simple BJT, you will get the ascending powers that you want, but it will not be a geometric series, it will be the Maclaurin series expansion of an exponential. Since the BJT has an exponential response ic = e^(vbe/vt) for its collector current, you can expand that into its Maclaurin series, which will be (let x = vbe/vt).

ic = 1 + x + (x^2)/2 + (x^3)/6 + ....

So that achieves the same exponents that you are looking for, but you also get a dividing term, in this case n! (n factorial). The frequency ratio will be the same as a geometric series (with a = 1), but the voltage ratio will not. You only mentioned the frequency ratios, but remember that you should also be thinking in terms of voltages. Even if you achieve the same frequency ratios, if the voltage ratios are different, the sound will change.

Also (I just glanced at your webpage article), you know that the sum and difference products will wreck havoc if you input more than a single frequency, if you input a complex signal like a guitar, it will be a frequency mess. Not sure what is your goal here, if it is audio related or something completely different.

Ok, so to answer your question. One possible way to implement it in the analog domain would be with analog multipliers, the AD633 seems like a good choice. What you can do is obtain a truncated geometric series, for instance, one that goes up to the quadratic or the cubic power. If your input signal is low, the output voltage response will be very close to a real geometric series. If you want and exact geometric series, you need an infinite amount of frequencies, that will not happen, all we can strive for is an approximation.

So, one way you can construct your circuit and achieve the response you want is with multipliers and summing circuits, you will need one multiplier to achieve the quadratic term (just multiply a signal by itself), then, you will need another multiplier, take the output of the first multiplier and the original signal and send it to the second multiplier, this will achieve the cubic term, then add the original signal and the outputs of both multipliers with a summing circuit, and Bob's your uncle. You can of course do this with more multipliers, but multiplier ICs are not cheap. Also, as I said, you need to input a signal with an amplitude of considerably less than a volt so the higher order terms vanish, and your voltage response will be far from a true geometric series response.

Remember that we can manipulate voltages, not frequencies, so you have to manipulate the frequency indirectly by manipulating the voltage (or current). And, as I said, if you input more than a single frequency into that multiplier circuit, the "side bands" will bring in a lot of extra frequencies to the picture.

Finally, you can always use DSP and just write a truncated geometric series, that should take one line of code. You can do this easily with MATLAB or Octave, or whatever you like.
 
Last edited:
Ohh wait, I just realized something. You want powers of the frequencies, but that wont happen with the multiplier circuit I offered (or a ring modulator). Again, the problem is that those circuits perform a power series on the voltage NOT on the frequency. For instance, let your signal be cos(ft), where f is the angular frequency, if you input that into a circuit that produces a geometric series, it will produce the following:

out = 1 + cos(ft) + cos(ft)^2 + ...

Fine, but

cos(ft)^2 = 1/2[cos(f+f) + cos(f-f)] = 1/2cos(2f) + 1/2. So you get 2f, not f^2

May I ask for the application? I mean, in audio, the square of a frequency doesn't make sense, if you have a frequency of 1 kHz, then f^2 is 1 MHz; you won't be able to hear it.


But, look, you will probably have to do a very big power only to get a f^2. If your voltage is larger than one, it will blow up, if your voltage is lower than one, after you raise to such a large power, the voltage will be near zero so, even though you will achieve the frequency you are looking for, it wont matter, since its amplitude will be insignificant, and, if your voltage is 1, the higher order terms wont disappear, you will get the frequency ratios that you want, but, you will have to truncate the series at some point, and you will not get the golden ratio. I can't think of a circuit right now that raises the frequencies and not the voltages to a power series. Seems a bit like an abstract idea what you want to do.
 
Last edited:
Thank you user 37518.

Yes, it is easier to generate such a signal digitally. I am currently synthesizing the signal with GNUradio.

It seemed like a simple mathematical sequence. I hoped there was an elegant way to create it analog.

Thank you for the good information.

I'm not creating powers of the frequency, but powers of a ratio. As follows:

a = 1.61803 this is the ratio
f = 1 kHz fundamental frequency

The Geometric Sequence is:

..., (a^-2)*f, (a^-1)*f, (a^0)*f, (a^1)*f, (a^2)*f, ...

..., 0.382 kHz, 0.618 kHz, 1 kHz, 1.618 kHz, 2.618 kHz, ...

This is a special Geometric Series, because the sum of any two consecutive terms equals the next term. The difference between any two consecutive terms equals the previous term. That's why I was looking at analog mixers which produce sum and difference of the two input waves.

Say we have two signals, which we input to a multiplier, such as the AD633

X = 1 kHz
Y = 1.618 kHz

The output will contain the sum and difference frequencies: X+Y, and X-Y.

X+Y = 2.618 kHz
X-Y = 0.618 kHz

Which are the next and previous terms in the Geometric Sequence, respectively.

The multiplication can be understood by the trigonometric identity:

sin A * sin B =
1/2 cos (A-B) - 1/2 cos(A+B)

Reference:
http://yusynth.net/archives/Elektor/BalancedModulator-1979.pdf


P.S. I like the Latin in your signature! :)


.
 
Last edited:
Interesting topic !

I'm just puzzled about one thing ?!? but as I'm not sure what's your goal ?

-gold- number is endless, you only can have an approximation of it, this is what fibonacci suite do with ratio.
Each step of the suite (from added two previous number) give a better approximation (as already explained)
One interesting property of the fibonacci suit is that the approximation is consecutively over or under the -gold- number, further you go, finer the approximation is.
If you apply a fixed approximation
a = 1.61803

You won't build the fibonacci suite from a fundamental frequency, but a consecutive constant approximation of golden ratio,
which is not the same.

One of the first and nice approximation of the gold number is the natural sixth, 5/3
 
Last edited:
Thank you user 37518.

Yes, it is easier to generate such a signal digitally. I am currently synthesizing the signal with GNUradio.

It seemed like a simple mathematical sequence. I hoped there was an elegant way to create it analog.

Thank you for the good information.

I'm not creating powers of the frequency, but powers of a ratio. As follows:

a = 1.61803 this is the ratio
f = 1 kHz fundamental frequency

The Geometric Sequence is:

..., (a^-2)*f, (a^-1)*f, (a^0)*f, (a^1)*f, (a^2)*f, ...

..., 0.382 kHz, 0.618 kHz, 1 kHz, 1.618 kHz, 2.618 kHz, ...

This is a special Geometric Series, because the sum of any two consecutive terms equals the next term. The difference between any two consecutive terms equals the previous term. That's why I was looking at analog mixers which produce sum and difference of the two input waves.

Say we have two signals, which we input to a multiplier, such as the AD633

X = 1 kHz
Y = 1.618 kHz

The output will contain the sum and difference frequencies: X+Y, and X-Y.

X+Y = 2.618 kHz
X-Y = 0.618 kHz

Which are the next and previous terms in the Geometric Sequence, respectively.

The multiplication can be understood by the trigonometric identity:

sin A * sin B =
1/2 cos (A-B) - 1/2 cos(A+B)

Reference:
http://yusynth.net/archives/Elektor/BalancedModulator-1979.pdf


P.S. I like the Latin in your signature! :)


.
I see, in that case, a slight modification of the circuit I mentioned should work
 
Back
Top