# Analog circuit for multiplying in the frequency domain [duplicate]

This question already has an answer here:

I have an idea I want to experiment with - doing boolean logic with analog (OFDM) signals. Each frequency component represents a different 'bit'. A key factor is performing the AND operation. I would like to be able to multiply the frequency domain of two signals (aka convolution), e.g.

$$A(ω)B(ω) = X(ω) \leftrightarrow a(t)∗b(t) = x(t)$$

Essentially, the frequency response of one signal is used to filter the other signal. If A is a superposition of 100, 200, and 400 Hz sines, and B is 200,300, and 400, the output would be 200 and 400 Hz.

Is there a circuit to perform this operation? I know I can multiply the time domain signals with something like a Gilbert cell. Digitizing and using DSP would completely defeat the purpose, I would like to do this solely with hardware (and ideally the simplest circuit possible).

Note: I read Convolution perfomed by an analog circuit before posting this. It does not really have any satisfactory answers (except delay lines, which I've been looking into). Also, I might be able to get by with just being able to very rapidly (~1Ghz) adjust the center frequency of a bandpass filter.

To give a bit of clarity, what I am kind of looking to do is send multiple (i.e. 64) bits down a single trace of copper, frequency multiplexed. It would pass through assorted gates to make up an ALU. A 64-bit AND gate would only need 2 input traces and do frequency-wise AND. Max frequency is less important than bandwith.

Anything to help me move in the right direction would be great. CCD-based delay lines seem promising, but specific implementations / use cases would be most excellent.

Thanks!

## marked as duplicate by uint128_t, Andy aka, Daniel Grillo, Null, BimpelrekkieApr 28 '16 at 13:23

EVERY circuit that has implements an LTI system is doing convolution in the time domain!! If you build a filter with transfer function B (i.e., impulse response b(t)) all you would have to do is use a(t) as an input to yield $a \left( t \right) * b\left( t \right)$