THE AMBIGUITY DIAGRAM  

 

WAVEFORM3.M

 

ambiguity     waveform1     waveform2    

 

function [reference, convolution] = waveform3(pts, cycles)

  % Pseudo-random phase-coded modulation: 

  %    - waveform #3 is a sequence of short pulses generated at random  

 

rand('state', 0);      

  % Reset the random number generator (this way we get the same

  % "random" sequence every time)

 

x = rand(pts/cycles,1);

base = round(x); 

  % A sequence of length pts/dwell consisting of 0's or 1's chosen

  % at random

 

reference = [];

for i = 1:pts/cycles

    reference = [reference; base(i)*ones(cycles,1)];

end

  % Reference must be a length pts vector

 

matchedir = reference;

for i = 1:pts

    matchedir(i) = reference(1 + pts - i);

end

  % Matchedir is the time-reversed version of reference 

   

sequence = .5*(ones(length(reference),1)) - .5*reference;

frange = -5:0.01:5;

convolution = [];

for i = 1:length(frange)

   freq = frange(i);

   realsig = real(exp(j * 2 * pi * (sequence + (2 * freq * ([1:pts]') / pts))));

   imagsig = imag(exp(j * 2 * pi * (sequence + (2 * freq * ([1:pts]') / pts))));

     % Break signal into real and imaginary components

  

   realconv = conv(realsig, matchedir);

   imagconv = conv(imagsig, matchedir);

     % Convolve each part individually

  

   convolution = [convolution, sqrt((realconv .* realconv) + (imagconv.* imagconv))];

     % Build the convolution vector

end

 ^ back to top ^

 

MOTIVATION – Why this is important

OBJECTIVE – What we hoped to achieve

AMBIGUITY DIAGRAM - What it is

AMBIGUITY DIAGRAM - How to read it

WAVEFORMS – The signals we analyzed

RESULTS – Results for CW and PCM

CHIRP - A closer look

POSSIBLE EXTENTIONS – What’s next

CODE - Fascinating stuff

ACKNOWLEDGMENTS - Who we have to thank