# [sdiy] [synth-diy] Frequency shifter which rejects negative frequencies

Magnus Danielson magnus at rubidium.dyndns.org
Sun Jan 26 21:29:55 CET 2014

```Hi,

On 26/01/14 18:24, cheater00 . wrote:
> On Sun, Jan 26, 2014 at 6:10 PM, Magnus Danielson
> <magnus at rubidium.dyndns.org> wrote:
>> On 26/01/14 16:55, cheater00 . wrote:
>>>
>>> Hi guys,
>>>
>>> In a parallel thread, I have explained what lock-in amplifiers are and
>>> how they work.
>>> I have asked myself: what if rejecting negative and positive
>>> frequencies, leaving only frequencies near DC, you could reject only
>>> negative frequencies?
>>>
>>> I'm not sure, but I believe in the digital world you can do the
>>> four-quadrant multiplication and then take a Fourier transform of
>>> that. But I'm very hazy on the details. Can anyone confirm or deny?
>>
>>
>> It works, if you have the phase quadrant of both signals.
>
> I don't know what this means. Could you explain a bit more please?

A quadrature signal, often referred to I/Q for
In-phase/Quadrature-phase, is the phasor signal you get from

e^(j*w*t) = cos(w*t) + j sin(w*t)

w is omega which is 2*pi*f so that's the angular frequency.

The cos-part is the In-phase signal while the sin-part is the
Quadrature-phase signal. These is typically handled as separate signals.

That's the theoretical foundation, but the general concept is that you
separate a signal into it's 0-degree and it's 90-degrees components, and
with the amplitudes (both positive and negative) you can represent any
phase and amplitude. Another approach is to say that the quadrature
format is the Cartesian coordinates of the polar coordinates of
amplitude and phase.

If you need more of this, Wikipedia can help you, I'm trying to give you
as many different hints as possible. It's complex math and it's a bit
ehm... complex... until you get it.

Anyway, once you've done that you then realize this representation, our
two signals A and B (which is complex) to form a new one,

A=e^(j*w_a*t)
B=e^(j*w_b*t)
C = A*B = e^(j*w_c*t) = e^(j*(w_a+w_b)*t)
so
f_a + f_b = f_c

Flipp the polarity of the i-part of B, and you have the difference instead.

This may not be the best way for you to "get it", but the key point is
that you understand that the complex multiplication produces either sum
or difference where the normal real multiplication achieves both.

>> This is why you have an elaborate filter to achieve this for the audio
>> signal.
>
> Again.. not sure where to begin with that. Please bear* with me :-)

Well, either you use a dome-filter or a poly-phase to create two outputs
of a signal that approximate 90 degrees phase-difference that acts like
the I and Q of the signal, even if they really are not true I and Q, but
good enough to achieve the result. The filters is all-pass filters in
order not to cause filtering in the pass-band of audible signals.

>>> Is there an analog process that allows you to do this?
>>
>> Yes.
>
> What is it? I'm not talking about high-pass filtering before the
> mixing, if that's what you mean. That would give no advantage to just
> a simple high-pass filter.
>
> Cheers,
> D.
>
> * here's a very bad ascii art of a couple teddy bears for you:
>
>             __..._.-.               .-._...__
>            /.-.   '-.)             (.-'   .-.\
>            \',       \             /       ,'/
>             |       o'--D       c--'a       |
>             \      /    |       |    \      /
>              ;._  _\ '-/         \-' /_  _.;
>            .'    __ `\`.-"-. .-"-.`/` __    '.
>          .'    .'  '.|'     '     '|.'  '.    '.
>         /      \     '._,       ,_.'     /      \
>        ;        '-._     \     /     _.-'        ;
>       (|           /'-.__/     \__.-'\           |)
>        \  __     ,'     '-.   .-'     ',     __  /
>         `/  `\.-'|         '.'         |'-./`  \`
>          |    |  '-.                 .-'  |    |
>          |    '-.   )               (   .-'    |
>          \       )-'                 '-(       /
>           '-----'                       '-----'
>

Thank you. Cuteness points in your account. :)

Cheers,
Magnus

```