Octave Simulation of a Tayloe Sampling Mixer
Jump to navigation
Jump to 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; clf; 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; T=0.0002; N=1000; t=0:T:(N-1)*T; 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; plot(t,vin,'g-',t2,voI,'bo',t3,voQ,'r*',t,2*cos(2*pi*(f0-f1)*(t)+theta),'b-',t ,2*sin(2*pi*(f0-f1)*(t)+theta),'r-') 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') legend('boxoff')