Forums > MaxMSP

SSB-AM

December 15, 2008 | 9:28 pm

Hi,

just been looking at the [freqshift~] object…could this be implemented as a patch (as in how to cancelling out/filtering the sidebands)?

before anyone says it, i am aware the existence of the object negates any need to do this, it’s more a synthesis/dsp knowledge-quest

thanks…


December 16, 2008 | 5:29 pm

On 15 Dec 2008, at 22:28, robin foster wrote:
>
> Hi,
>
> just been looking at the [freqshift~] object…could this be
> implemented as a patch (as in how to cancelling out/filtering the
> sidebands)?

yes, this can (and was) implemented as a patch.
i’d say it consists of two parts: a 90 degree shift and a complex
modulation.
the hilbert~ object does the shift. but since this is the most (and
most interesting) part of the work, you’d have to investigate in this
direction.
check out the hilbert~ help file for a freqshift example.

why this works for canceling the upper or lower sidebands is last but
not least a ‘simple’ trigonometry question.
the hilbert~ transformer produces two signals that are 90 degree
apart and the complex ringmod adds another 90 degree shift between
the upper and the lower sidebands. if you add or subtract the two
modulations, one of the sideband parts will cancel out.

the 90 degree shift can be achieved by chaining a set of allpass
filters.
but finding the right coeffs is something you’d probably not do
yourself.
the difficult part here is to achieve a constant shift for a wide
frequency range.
long before the freqshift~ and the hilbert~ object, there existed a
patch from the old ircam days.
don’t know who did it, maybe miller puckette himself.

hth,
volker


December 16, 2008 | 5:56 pm

thanks, there’s loads for me to investigate further here, volker.


Viewing 3 posts - 1 through 3 (of 3 total)