# Given a real signal, increase modulation frequency

Lets say I receive the signal

$$x(t)\cos(\omega_c t)$$

and I want to change the the carrier frequency $x(t)\cos(1.001\omega_c t)$

How can this be done? If I modulated it with a complex exponential, increasing or decreasing the modulation frequency would have been simple, however I could not figure out a simple way of doing this.

Is it even possible to do this without filtering?

• Demodulate x with cos and -sin $$X_r=\cos(\omega_c t)x(t)\cos(\omega_c t)$$ $$X_{im}=-\sin(\omega_c t)x(t)\cos(\omega_c t)$$ Filter $X$ with a cutoff $\omega_c$ Shift the frequency of $X$ using complex exponential. Modulate with $\omega_c$ and send the real part Sep 24 '15 at 20:21

You can simply multiply by another cosine: $x(t)\cos(2\pi f_ct)\cos(2\pi 0.001f_ct)=x(t)\cos(2\pi0.999f_ct)+x(t)\cos(2\pi1.001f_ct)$ (ignoring scale factors). If $x(t)$ is very narrow in frequency, so that the spectra of the two terms above don't overlap, you can use a high-pass filter to do what you want.

If $x(t)$ is not narrowband enough, you can shift $x(t)\cos(2\pi f_ct)$ two times. With adequate filtering, you will obtain the desired shift.

Simply multiplying by a complex exponential is not going to work, since it will shift the entire spectrum of $x(t)$ up or down, and the resulting signal will be complex. You want to shift the positive frequencies of $x(t)$ "to the right", and its negative frequencies "to the left".

However, you can use the complex exponential in the following way: Filter out all the negative frequencies of the modulated signal (using for instance the Hilbert transform), and up-convert them using a complex exponential. Then, filter out all the positive frequencies, and down-convert the result. Then, add the down-converted and up-converted signals.

$$\cos(A\pm B) = \cos(A)\cos(B) \mp \sin(A)\sin(B)$$ and so $$2\cos(A)\cos(B) = \cos(A + B)+\cos(A - B).$$ It follows that multiplying the received signal $x(t)\cos(\omega_c t)$ by $2\cos(1.001\omega_c t)$ will result in a signal $x(t)\cos(1.001\omega_c t) + x(t)\cos(0.999\omega_c t)$. The spectra of the two components of the signal will overlap unless the bandwidth of $x(t)$ is smaller than $0.0005\omega_c$ radians/second.
If there is no spectral overlap, passing the signal $x(t)\cos(1.001\omega_c t) + x(t)\cos(0.999\omega_c t)$ through a bandstop or high-pass filter that eliminates $x(t)\cos(0.999\omega_c t)$ will work. This is called frequency translation_ or mixing or heterodyning.
If there is spectral overlap, then this simple method will not work. Instead, it is necessary to use it twice. Multiply $x(t)\cos(\omega_c t)$ by something like $2\cos(\omega_c t)$ to get $x(t) + x(t)\cos(2\omega_c t)$, filter out the baseband signal $x(t)$ to leave just the double frequency component $x(t)\cos(2\omega_c t)$, and then translate $x(t)\cos(2\omega_c t)$ down to $x(t)\cos(1.001\omega_c t)$ by multiplying it by $2\cos(0.999\omega_c t)$ and then low-pass filtering. Note that it is not really necessary to translate the signal to double the carrier frequency. Any frequency large enough so that the two signals resulting from the mixing can be separated by filtering will do.
• Sorry for less clarity. I was little surprised on thinking about the following. Given $x(t)=a\sin\omega_0t$, I have no way to shift its frequency without using one more oscillator. Some kind of non-linear operations may do only harmonic shifts (like squaring, clipping (followed by filtering). Sep 30 '15 at 17:42