Ring modulation, harmonics

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Most know that the result of ring modulating a sine wave is a generation of sum and difference frequencies.
Is there a way to generate only the sum or difference?

Post

What you are looking for is called a frequency shifter. One way to do that involves the design of an Hilbert filter, with its two outputs multiplied by your LFO and the LF0 with the phase shifted (90°)

Post

A frequency shifter would work, but the solution I am after is an analytical, stateless one.
It's very possible to add an inverse phase harmonic or subharmonic, knowing the frequency beforehand. Could this approach be taken on a signal?

Post

You can achieve frequency shifting by a difference of +f without quadrature oscillators or Hilbert filters, by a procedure of 4x oversampling, but keeping the copy of the input signal that lies between 2N and 3N (N being original Nyquist) then modulating the result with a sine at 2N-f, low-pass filter at N and decimate to original sample rate.

To shift by -f, do much the same but modulate with 2N+f - this will produce negative frequencies though, if your input signal contains frequencies below f. You can get rid of these by filtering the 4x oversampled signal between 2N+f and 3N instead of 2N and 3N.

I think that's right, it's from memory, but I've implemented the technique and it does work.

Post

That's very interesting krypt, I will have to try this sometime.

Ok I have realized I made a poor statement in the first post. The effect I am after is like squaring the signal (ring modulating it with itself?) but at the same time removing the subband DC component without a filter (and without state, instantaneously).

Can squaring be considered ring modulation?

Post


Post

I suppose the problem could be explained like the transfer function's result with an added constant. The constant is actually a variable, based on the input to the transfer function. If not using a filter, which would work to "coerce" the variable to 0, it may be possible shape this variable with it's own function. Although the resulting harmonic series will be changed. So the problem is how to best isolate the DC component, instantaneously, and at the same time limit it.

Post Reply

Return to “DSP and Plugin Development”