Octave Simulation of a Tayloe Sampling Mixer

From Class Wiki
Jump to: navigation, search

Here is a MATLAB/octave simulation of a Tayloe Sampling Mixer. It is useful to understand how the mixer works.

% This is to demonstrate the Tayloe Mixer.

clear all;

f0 = 60;
theta = pi/6;  % Note: The phase doesn't match, except for 0 and pi.  Direct
            % conversion doesn't give the right sign on the imaginary part
f1 = 65;

vin = cos(2*pi*f0*t+theta);

Ts = 1/4/f1;
t1 = 0:4*Ts:(N-1)*T;
vo1 = cos(2*pi*f0*t1+theta);

t2 = Ts:4*Ts:(N-1)*T+Ts;
vo2 = cos(2*pi*f0*t2+theta);

t3 = 2*Ts:4*Ts:(N-1)*T+2*Ts;
vo3 = cos(2*pi*f0*t3+theta);

t4 = 3*Ts:4*Ts:(N-1)*T+3*Ts;
vo4 = cos(2*pi*f0*t4+theta);

tI = 0:2*Ts:(N-1)*T;
voI = vo1-vo3;  % Note:  This is not quite right, because vo3 changes half a
                % 2*Ts after vo1 does.  The same thing happens with voQ.  It 
                % looks pretty good for fl (and f0) high (>50 or so).
voQ = vo4-vo2;

xlabel('Time (s)')
ylabel('Voltage (V)')
title('Tayloe Sampling Mixer Demonstration with Differential Output')
legend('cos(2 \pif_0t+\theta)','I Samples','Q Samples','2cos(2 \pi(f_0-f_1)t+\theta)',
'2sin(2 \pi(f_0-f_1)t+\theta)','Location','north')

Tayloe mixer.png