Close

Interpolating with transmission line?

A project log for FL2k Experiments

Exploring the FL2k USB-to-VGA dongle for signal generation

ted-yapoTed Yapo 05/15/2018 at 04:334 Comments

So, I started playing around with transmission line models for generating short sampling pulses, and it occurred to me that you could use a transmission line to interpolate between DAC samples.  It's kind of like doubling the sample rate just using a piece of wire! Here's a circuit I've been playing with:

The circuit is amazingly simple.  The voltage source and 50-ohm resistor model the FL2k DAC (with impedance-matching network to have 50-ohm output, like on the breakout PCB).  The only other element in the circuit is a 50-ohm transmission line cut to have a 2.5ns delay (the delay must be one quarter of the sample period).  This line is literally just a piece of coax open at one end. The circuit works by taking advantage of the signal reflection from the unterminated end of the transmission line.

Here are the input and output waveforms from the simulation:

The bottom (red) trace is the input.  I've simulated a 100 MSPS DAC generating a 10 MHz signal (that's the equation controlling the behavioral voltage source).  The top (green) trace is the output of the circuit, which shows that another sample point has been interpolated between each pair of input values, which could be mistaken for doubling the sample rate.

How does it work?

The unterminated end of the transmission line causes a reflection of each step in the input voltage from the DAC.  Since the reflection must travel the line both ways, it takes 5ns for the reflection of a DAC step to get back to the summing point where the output is taken.  This 5ns is half of the sample period, so the DAC by now is half way through the next sample.  Summed with the reflection of the previous sample, this creates an interpolated point which is the average of the two adjacent samples.

Is it practical?

I don't know yet.  It's too late tonight to get this up and running in hardware.  I'll have to try it as soon as I get a chance.  In simulation, anyway, it certainly looks interesting.

Just to be clear, there aren't twice as many "real" samples being generated; the Nyquist rate for this system is still 50 MHz even though there are essentially 200 MSPS being output.

At this time of night, I'm not even entirely sure what this achieves, but I can figure that out tomorrow.

EDIT: I can't sleep.

I just had to try it out.  I used an SMA T-connector to add the unterminated line to the output of the FL2k dongle (the other line goes to the oscilloscope).

To test it, I generated a 6.4 MHz signal using an 80 MHz sample rate (about the fastest I can do through my USB 3.0 hub).  With no line connected to the T, the output clearly shows the 12.5 ns sample periods:

After connecting a line of around the right length, you get this waveform:

it certainly looks like it's doing something.  Hopefully this will be enough to allow me to sleep, and I can look with the spectrum analyzer tomorrow...

Discussions

K.C. Lee wrote 05/24/2018 at 23:39 point

If you were to have delay the G by 1/3 of a period and B by 2/3 using long coax cables.  Adding the three together, you can generate output at 3x the dot clock rate.  :)

  Are you sure? yes | no

Ted Yapo wrote 05/25/2018 at 02:00 point

Yeah, interleaved DACs!  At 10ns periods, the cables aren't even that long - around 1m and 2m for typical velocity factors.

  Are you sure? yes | no

K.C. Lee wrote 05/15/2018 at 05:29 point

You could also use a RC fitter.  I played with DDS and it works wonder.
https://hackaday.io/project/9469-misc-arm-projects/log/31489-quick-dirty-dds-for-around-1

  Are you sure? yes | no

Ted Yapo wrote 05/15/2018 at 12:59 point

Yeah, absolutely, or even an LC filter.  Perfect for killing harmonics with a lowpass.

What I am really working towards is shaping the harmonics so that you can better use the DAC to create undersampled band-limited signals above the sample rate.  For instance, one of the example codes for use with osmo-fl2k generates GPS signals at 1.5 GHz with this DAC that tops out around 100 MSPS using high-order images of the output.  Unfortunately, the zero-order-hold on the DAC output attenuates these images greatly (see the image in the project details).

What I was getting at here was a way to shape the DAC output impulse response to modify the sinc envelope that attenuates the high-order images.  A lowpass filter would really kill those images.

I obviously haven't cracked the problem yet, but though this was interesting enough to document :-)

  Are you sure? yes | no