[PD] frequency shifter

Charles Henry czhenry at gmail.com
Sat Nov 25 03:07:47 CET 2006


> if you could help me with the math required, i would be very grateful.

I think what they're talking about here (single side-band modulation)
works this way.  We take our original spectrum which has two sides,
each the conjugate of the other.
         /\                   /\
___/\/_\____|____/_\/\___

we get rid of one side, to get the complex representation

                              /\
__________|____/_\/\___

In the time domain this is a complex valued signal.  To shift all the
frequencies by a certain amount we convolve in the frequency domain by
an impulse given by the fourier transform of e^(2*pi*i*f)  where f is
the frequency to shift by.  This looks like, in the frequency domain:

                         |
__________|__|________

Convolution in the frequency domain (with a single sided spectrum)
shifts all the frequencies to the right.  Conv. in the frequency
domain is the same as multiplication in the time domain.  So we can do
this operation as complex multiplication of our two complex signals.
Resulting spectrum

                                  /\
__________|______/_\/\_

Then, just throw away the imaginary part and multiply by two, and
there you have a real-valued signal.
Let's see here...I got a little patch put together for demonstration
purposes, using hilbert~
Don't rightly know why it won't work well with the osc~ set to 0?
Chuck




More information about the Pd-list mailing list