Divider experiment with two signals
I have a question regarding the divider: say I have a divider working at 2GHz, for some reason, there is another signal is added to this 2GHz, (say 2.1GHz), I am wondering whether or not this divider will divide this 2.1GHz? or can I see a signal of 1.05GHz at the output? what's the reason for that?
Thanks
nxing
It has been a while since I did the experiment, but as I recall the divider will lock up only on the signal that is higher power, even by a few dB, and ignore the other signal except to treat it as a high frequency phase modulation on the signal it locked up on.
Hi biff44,
First of all, thanks for your reply and I think you are right. That's what I got from my experiment. However, what I can not understand is that if we have two signal being added up in time domain, will the zero-crossing be changed so that the divider will work at other frequency (somewhere between the two frequency)?
Thanks
nxing
It does seem to defy logic, but my experience seems to say no. The divider locks up onto the bigger signal and ignores the smaller one. Obviously, if you were designing a system and had a choice, you would want the desired signal to be tens of db above the spurious input--just to make sure.
You should see both 1 and 1.05 GHz signals from the spectrum analyzer. How strong are the signals depend on the source and the sensitivity of the divider...
Here's a MATLAB simulation. Add two sinewaves, 2.0 GHz at 0dB and 2.1 GHz at -3dB, and pass it through a zero-crossing detector (no divide-by-2). The vertical axes are linear.
If I decrease the amplitude of the 2.1 GHz sinewave, the square wave's spectrum cleans up more rapidly.
clear;
N = 32000; % number of points
fs = 400.0; % sample rate
f1 = 2.0; % signal 1 frequency
f2 = 2.1; % signal 2 frequency
a1 = 1.0; % signal 1 amplitude
a2 = 0.7071; % signal 2 amplitude
t = (0 : N-1) / fs;
%
y1 = a1 * sin(2 * pi * f1 * t) + a2 * sin(2 * pi * f2 * t);
subplot(4,1,1); plot(t,y1); xlabel('ns'); xlim([0 20]);
h1 = fftshift(fft(y1));
freq = fs * (-N/2 : N/2-1) / N;
subplot(4,1,2); plot(freq, 2/N*abs(h1)); xlabel('GHz'); xlim([0 5]);
%
y2 = sign(y1);
subplot(4,1,3); plot(t,y2); xlabel('ns'); xlim([0 20]); ylim([-1.5 1.5]);
h2 = fftshift(fft(y2));
subplot(4,1,4); plot(freq, 2/N*abs(h2)); xlabel('GHz'); xlim([0 5]);
