Csound Csound-dev Csound-tekno Search About

Re: Frequency Shifting & Hilbert Transforms

Date1999-03-12 09:43
FromJens Groh
SubjectRe: Frequency Shifting & Hilbert Transforms
Hello list, hello Sean Costello!

Sean Costello  wrote>:
>Is there a way to do frequency shifting in Csound?  By that, I mean
>single-sideband amplitude modulation, where only one of the modulation
>sidebands is heard (unlike ring modulation, where both of the sidebands
>are heard).  I would think that this could be accomplished with a phase
>vocoder, by adding a fixed offset to every component, but I am not sure
>how to do this in Csound.
>In the analog realm (and in the digital implementation used in the
>Hyperprism plug-in from Arboretum), frequency shifting uses a Hilbert
>Transform as an integral part of the process.  Does anyone know if an
>orchestra exists for implementing this? If not, I might work on
>developing a Hilbert opcode - it should be fairly straightforward,
>although it would be nice to have both an FIR and IIR implementation.
>Mind you, I am still not great at programming C...

An interesting challenge! Being a radio amateur, I have some knowledge of SSB. So I started to write a Csound orchestra that implements the so-called "Third SSB Method". (The first method is the bandpass filter method, the second one is the phase shifter (= Hilbert transform) method.)
But I still have to solve some problems with the zfilter2 opcode I'm using. Hold out a little - I'll send it to this list when it's done.

Reference: 
"A Third Method of Generation and Detection of Single-Sideband Signals", Donald K. Weaver Jr., Proc. IRE Dec 1956, pp 1703-1705

Jens Groh