Hi all!

My father-in-law teaches a class on radars and a laboratory that has a working consumer radar system albeit only the signal processing pipeline (e.g. no antenna and signal sender).

He wanted to be able to design and generate the return signal the radar would generate. I thought it would be technically complex but it is quite simple as you will see in the explanation below.

I am evaluating the teensy 3.1 for this so I ask you to verify my assumptions and raise concerns if this is doable with the teensy or should I try something else.


Technical details:

  • The radar system has a rotary encoder for the antenna which is 12bit (can be 10bit as well)
  • On every encoder signal it sends the antenna a pulse and starts measuring the analog response signal (0-5V)
  • The distance resolution is 300m, the first 150m are not taken into account and the distance is 400km
  • They can alter the antenna rotation duration which is currently set to 10s (6s is the minimum)


Based on this I thought I would create a graphical designer program that could generate an artificial waveform on the PC for the 2^12 angular segments when the system is measuring the signal bounce back and replay it on the teensy. The PC program is not the issue here.

So here are some calculations I made:

  • rotation time is 10s
  • angular segment duration is 2441.41us = (10s/2^12)
  • distance segments 1000 = (400000m-150m)/300m
  • individual distance segment duration 2.44us (angular segment duration/1000 distance segments) - actually a little bit less because of the first 150m that are not measured
  • I want to generate the output signal (0-5V) with 8bit precision and for 1 rotation I would need 3.9MB = (2^12*1000*1B)
  • based on the above I would need to be able to read from a memory source at the rate of at least 399KB/s (=3.9MB/10s) - this is an oversimplification


I though I would use an SD card (fast one) and the program would save a file that has [number of rotations] x 2^12 separate pieces of signals (voltage/distance segments) and that would be a 1000 samples.

Teensy would have to read a segment on an interrupt and start playing back the signal through a DAC.

Here are my concerns:

  • the built in DAC can only generate a signal < 100kHz - please correct me on this but I think there was a post somewhere that measured this
  • SD card read speed + latency (time to first byte) will be an issue if I were to read every 10s/2^12
  • you can't just read an arbitrary number of bytes on a SD card - I read it has to be a multiple of 512 which is some FAT/mem-chip optimum
  • there are other discrete DAC ICs that communicate via SPI - time to switch SPI from SD card read to DAC write


Is the teensy up for it? Should I look elsewhere? Where?


I would appreciate your thoughts on this.

Best regards,
Fran