Forums

DSP Platform Suggestion

Started by mans1992 January 22, 2014
Hi

Many people have probably asked this type of question, but I was wondering
if anyone with good practical knowledge of DSP would help me choose an
appropriate platform for real-time DSP.

My project is very simple. I receive an RF signal from a radar. This
received signal along with the transmitted signal are put into a mixer, 
which as we know gives two separate signals with frequencies f1+f2, and
f1-f2  (where f1 is the freq of the transmitted signal and f2 is the freq
of the received signal). I filter out f1+f2. The goal is to use DSP to find
the value of f1-f2 which I know ahead of time will be less than 20kHz.

Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT
using FFT will display a tone at the desired frequency. Is this that
simple? or am I underestimating this?

I am currently thinking of using the Arduino as my platform. Is it a good
idea? Is there a platform that is easy to learn and is better? From
personal experience TI microcontrollers seem to have a steep learning
curve. I am new to real time DSP and need something as simple as possible.

Thanks,

	 

_____________________________		
Posted through www.DSPRelated.com
On Wed, 22 Jan 2014 09:30:10 -0600, "mans1992" <99308@dsprelated>
wrote:

>Hi > >Many people have probably asked this type of question, but I was wondering >if anyone with good practical knowledge of DSP would help me choose an >appropriate platform for real-time DSP. > >My project is very simple. I receive an RF signal from a radar. This >received signal along with the transmitted signal are put into a mixer, >which as we know gives two separate signals with frequencies f1+f2, and >f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >of the received signal). I filter out f1+f2. The goal is to use DSP to find >the value of f1-f2 which I know ahead of time will be less than 20kHz. > >Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >using FFT will display a tone at the desired frequency. Is this that >simple? or am I underestimating this?
You can do that and since you've indicated the input is sinusoidal you should be able to get a frequency estimate with reasonable accuracy (of much less than a DFT bin width using interpolation techniques).
>I am currently thinking of using the Arduino as my platform. Is it a good >idea? Is there a platform that is easy to learn and is better? From >personal experience TI microcontrollers seem to have a steep learning >curve. I am new to real time DSP and need something as simple as possible. > >Thanks,
Arduinos don't have a ton of processing power, but if you can tolerate some latency an Arduino can do the job. They do have the advantage of being easy to use, but are limited and are getting a little long in the tooth these days compared to newer platforms. One of the popular "newer platforms" are the Beagleboards and their derivatives, which are much more suitable to your processing task and are often even cheaper than Arduinos. They are a little harder to program, though. There's also Raspberry pi and similar platforms, for which you can leverage all the Unix tools and will be considerably more powerful than the typical Arduino. And they're cheap. Theyr'e maybe a little harder to get started on than an Arduino, but the wide variety of available tools suggests that you may ultimately be able to make it pretty easy to use. For every platform there will be a tradeoff on processing power which will affect the latency of your processing. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
eric.jacobsen@ieee.org (Eric Jacobsen) writes:

> On Wed, 22 Jan 2014 09:30:10 -0600, "mans1992" <99308@dsprelated> > wrote: > >>Hi >> >>Many people have probably asked this type of question, but I was wondering >>if anyone with good practical knowledge of DSP would help me choose an >>appropriate platform for real-time DSP. >> >>My project is very simple. I receive an RF signal from a radar. This >>received signal along with the transmitted signal are put into a mixer, >>which as we know gives two separate signals with frequencies f1+f2, and >>f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >>of the received signal). I filter out f1+f2. The goal is to use DSP to find >>the value of f1-f2 which I know ahead of time will be less than 20kHz. >> >>Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >>using FFT will display a tone at the desired frequency. Is this that >>simple? or am I underestimating this? > > You can do that and since you've indicated the input is sinusoidal you > should be able to get a frequency estimate with reasonable accuracy > (of much less than a DFT bin width using interpolation techniques). > >>I am currently thinking of using the Arduino as my platform. Is it a good >>idea? Is there a platform that is easy to learn and is better? From >>personal experience TI microcontrollers seem to have a steep learning >>curve. I am new to real time DSP and need something as simple as possible. >> >>Thanks, > > Arduinos don't have a ton of processing power, but if you can tolerate > some latency an Arduino can do the job.
Eric, Did you mean the Uno? http://arduino.cc/en/Products.Compare That's true, but I think it would be sufficient for this simple application. I think the Beagle Bone and Bone/Black would be like using a sledgehammer as far as CPU power. Plus you have the whole linux learning curve (uboot, root file system, kernel, cross-compile system, the general linux environment, etc.), which can be daunting if you're learning everything for the first time. Yes, there are pre-made projects out there, but still... To the OP, the "right" answer depends on your requirements and what you're looking to get out of this. If you don't need something in a standalone box, why not just sample the signal using a PC (with an outboard ADC box, e.g.) and write the code using C/gcc or C++/g++? You can learn plenty about DSP (digital signal PROCESSING) that way. Also, none of the processors discussed are really "digital signal PROCESSORS," so if it's experience using architectures that have features like singe-cycle MACs, zero-overhead looping, circular addressing you're looking for, you'd need to consider another CPU (although that technology and expertise seems to be going extinct these days, e.g., the TMS320C55x).
> [...] > For every platform there will be a tradeoff on processing power which > will affect the latency of your processing.
That is true in a certain sense. You're going to be doing things in blocks of N samples (including possibly N = 1 in control applications), so as long as one has sufficient CPU speed to make real-time, your worst-case latency will be one block. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
mans1992 <99308@dsprelated> wrote:
 
(snip)

> My project is very simple. I receive an RF signal from a radar. > This received signal along with the transmitted signal are put > into a mixer, which as we know gives two separate signals with > frequencies f1+f2, and f1-f2 (where f1 is the freq of the > transmitted signal and f2 is the freq of the received signal). > I filter out f1+f2. The goal is to use DSP to find the value of > f1-f2 which I know ahead of time will be less than 20kHz.
> Since the signal with f1-f2 will be a sinusoid, I am thinking > taking the FT using FFT will display a tone at the desired > frequency. Is this that simple? or am I underestimating this?
I you really have a sinusoid, as far as I know the usual way would be to just count it. That is, use a frequency counter. But you don't always have a pure enough sinusoid. Working backwards, 20kHz, and as 0th order guess, 2GHz for f1, (I would have guessed higher, but the math is easier.) 20kHz/2GHz is 1e-5, and 1e-5*3e8 m/s is 3km/s, or 180km/m, or 10800 km/h. Pretty fast! But maybe f1 is close to 20GHz, in which case it is only 1080km/h, still pretty fast. Closer to airplane speeds than car speeds. If there are more frequency components in the signal, which will also come out in f1-f2, and you want to separate them out, then yes, FFT is probably a good choice. Do you want just the largest amplitude? -- glen
mans1992 <99308@dsprelated> wrote:

(snip)
> My project is very simple. I receive an RF signal from a radar. This > received signal along with the transmitted signal are put into a mixer, > which as we know gives two separate signals with frequencies f1+f2, and > f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq > of the received signal). I filter out f1+f2. The goal is to use DSP to find > the value of f1-f2 which I know ahead of time will be less than 20kHz.
> Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT > using FFT will display a tone at the desired frequency. Is this that > simple? or am I underestimating this?
You don't say that you need to separate f1-f2 from f2-f1, though. Not so far from here is a parking lot with a speed radar, reminding people to drive slow. I have run through the parking lot at (according to this radar) 13mi/h. I have noticed, though, that it doesn't read at all running the other way. That is, it can separate f1-f2 from f2-f1. I always thought that speed radars didn't do that. The radar police can get you coming or going, as the saying goes. But this one seems to be able to tell. (It is a one way parking lot, so cars shouldn't go both ways, but people can walk or run both ways.) -- glen
On 22.1.14 19:23, glen herrmannsfeldt wrote:
> mans1992 <99308@dsprelated> wrote: > > (snip) >> My project is very simple. I receive an RF signal from a radar. This >> received signal along with the transmitted signal are put into a mixer, >> which as we know gives two separate signals with frequencies f1+f2, and >> f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >> of the received signal). I filter out f1+f2. The goal is to use DSP to find >> the value of f1-f2 which I know ahead of time will be less than 20kHz. > >> Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >> using FFT will display a tone at the desired frequency. Is this that >> simple? or am I underestimating this? > > You don't say that you need to separate f1-f2 from f2-f1, though. > > Not so far from here is a parking lot with a speed radar, reminding > people to drive slow. I have run through the parking lot at > (according to this radar) 13mi/h. I have noticed, though, that > it doesn't read at all running the other way. That is, it can > separate f1-f2 from f2-f1. > > I always thought that speed radars didn't do that. The radar police > can get you coming or going, as the saying goes. But this one seems > to be able to tell. (It is a one way parking lot, so cars shouldn't > go both ways, but people can walk or run both ways.) > > -- glen >
If you want to separate the direction, you need to use a more complex mixing scheme with two local oscillator signals separated by a quarter wave (90 degrees). Processing the two outputs suitably separates the direction signals. For the radar frequencies, there is some challenge to produce two matched mixers with 90 degrees separated injections. -- Tauno Voipio
Tauno, didn't you write a paper on interpolators a few years' back? I've
been wanting to read it again but I haven't been able to find it on the
net - can you give a pointer?

--Randy

Tauno Voipio <tauno.voipio@notused.fi.invalid> writes:

> On 22.1.14 19:23, glen herrmannsfeldt wrote: >> mans1992 <99308@dsprelated> wrote: >> >> (snip) >>> My project is very simple. I receive an RF signal from a radar. This >>> received signal along with the transmitted signal are put into a mixer, >>> which as we know gives two separate signals with frequencies f1+f2, and >>> f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >>> of the received signal). I filter out f1+f2. The goal is to use DSP to find >>> the value of f1-f2 which I know ahead of time will be less than 20kHz. >> >>> Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >>> using FFT will display a tone at the desired frequency. Is this that >>> simple? or am I underestimating this? >> >> You don't say that you need to separate f1-f2 from f2-f1, though. >> >> Not so far from here is a parking lot with a speed radar, reminding >> people to drive slow. I have run through the parking lot at >> (according to this radar) 13mi/h. I have noticed, though, that >> it doesn't read at all running the other way. That is, it can >> separate f1-f2 from f2-f1. >> >> I always thought that speed radars didn't do that. The radar police >> can get you coming or going, as the saying goes. But this one seems >> to be able to tell. (It is a one way parking lot, so cars shouldn't >> go both ways, but people can walk or run both ways.) >> >> -- glen >> > > If you want to separate the direction, you need to use a more complex > mixing scheme with two local oscillator signals separated by a quarter > wave (90 degrees). Processing the two outputs suitably separates the > direction signals. For the radar frequencies, there is some challenge > to produce two matched mixers with 90 degrees separated injections.
-- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Sorry Randy, not me.

I have been active in the quadrature mixing and radios area.

-- 

-Tauno


On 22.1.14 21:59, Randy Yates wrote:
> Tauno, didn't you write a paper on interpolators a few years' back? I've > been wanting to read it again but I haven't been able to find it on the > net - can you give a pointer? > > --Randy > > Tauno Voipio <tauno.voipio@notused.fi.invalid> writes: > >> On 22.1.14 19:23, glen herrmannsfeldt wrote: >>> mans1992 <99308@dsprelated> wrote: >>> >>> (snip) >>>> My project is very simple. I receive an RF signal from a radar. This >>>> received signal along with the transmitted signal are put into a mixer, >>>> which as we know gives two separate signals with frequencies f1+f2, and >>>> f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >>>> of the received signal). I filter out f1+f2. The goal is to use DSP to find >>>> the value of f1-f2 which I know ahead of time will be less than 20kHz. >>> >>>> Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >>>> using FFT will display a tone at the desired frequency. Is this that >>>> simple? or am I underestimating this? >>> >>> You don't say that you need to separate f1-f2 from f2-f1, though. >>> >>> Not so far from here is a parking lot with a speed radar, reminding >>> people to drive slow. I have run through the parking lot at >>> (according to this radar) 13mi/h. I have noticed, though, that >>> it doesn't read at all running the other way. That is, it can >>> separate f1-f2 from f2-f1. >>> >>> I always thought that speed radars didn't do that. The radar police >>> can get you coming or going, as the saying goes. But this one seems >>> to be able to tell. (It is a one way parking lot, so cars shouldn't >>> go both ways, but people can walk or run both ways.) >>> >>> -- glen >>> >> >> If you want to separate the direction, you need to use a more complex >> mixing scheme with two local oscillator signals separated by a quarter >> wave (90 degrees). Processing the two outputs suitably separates the >> direction signals. For the radar frequencies, there is some challenge >> to produce two matched mixers with 90 degrees separated injections. >
On Wednesday, January 22, 2014 10:30:10 AM UTC-5, mans1992 wrote:
> Hi > > > > Many people have probably asked this type of question, but I was wondering > > if anyone with good practical knowledge of DSP would help me choose an > > appropriate platform for real-time DSP. > > > > My project is very simple. I receive an RF signal from a radar. This > > received signal along with the transmitted signal are put into a mixer, > > which as we know gives two separate signals with frequencies f1+f2, and > > f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq > > of the received signal). I filter out f1+f2. The goal is to use DSP to find > > the value of f1-f2 which I know ahead of time will be less than 20kHz. > > > > Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT > > using FFT will display a tone at the desired frequency. Is this that > > simple? or am I underestimating this? > > > > I am currently thinking of using the Arduino as my platform. Is it a good > > idea? Is there a platform that is easy to learn and is better? From > > personal experience TI microcontrollers seem to have a steep learning > > curve. I am new to real time DSP and need something as simple as possible. > > > > Thanks, > > > > > > > > _____________________________ > > Posted through www.DSPRelated.com
Forget about FFT http://www.gamedev.ru/flame/forum/?id=134654 http://translate.google.com/translate?hl=en&sl=ru&u=http://www.gamedev.ru/flame/forum/%3Fid%3D134654&prev=/search%3Fq%3Ddmitry%2Bterez%26start%3D20%26sa%3DN%26biw%3D1143%26bih%3D575 Much cheaper than FFT and much more accurate than simple frequency counter Practically any low-end DSP or microcontroller will do Don't forget to write a check :-)
On Wed, 22 Jan 2014 16:05:58 GMT, eric.jacobsen@ieee.org (Eric
Jacobsen) wrote:

>On Wed, 22 Jan 2014 09:30:10 -0600, "mans1992" <99308@dsprelated> >wrote: > >>Hi >> >>Many people have probably asked this type of question, but I was wondering >>if anyone with good practical knowledge of DSP would help me choose an >>appropriate platform for real-time DSP. >> >>My project is very simple. I receive an RF signal from a radar. This >>received signal along with the transmitted signal are put into a mixer, >>which as we know gives two separate signals with frequencies f1+f2, and >>f1-f2 (where f1 is the freq of the transmitted signal and f2 is the freq >>of the received signal). I filter out f1+f2. The goal is to use DSP to find >>the value of f1-f2 which I know ahead of time will be less than 20kHz. >> >>Since the signal with f1-f2 will be a sinusoid, I am thinking taking the FT >>using FFT will display a tone at the desired frequency. Is this that >>simple? or am I underestimating this? > >You can do that and since you've indicated the input is sinusoidal you >should be able to get a frequency estimate with reasonable accuracy >(of much less than a DFT bin width using interpolation techniques). > >>I am currently thinking of using the Arduino as my platform. Is it a good >>idea? Is there a platform that is easy to learn and is better? From >>personal experience TI microcontrollers seem to have a steep learning >>curve. I am new to real time DSP and need something as simple as possible. >> >>Thanks, > >Arduinos don't have a ton of processing power, but if you can tolerate >some latency an Arduino can do the job. They do have the advantage >of being easy to use, but are limited and are getting a little long in >the tooth these days compared to newer platforms. > >One of the popular "newer platforms" are the Beagleboards and their >derivatives, which are much more suitable to your processing task and >are often even cheaper than Arduinos. They are a little harder to >program, though. > >There's also Raspberry pi and similar platforms, for which you can >leverage all the Unix tools and will be considerably more powerful >than the typical Arduino. And they're cheap. Theyr'e maybe a little >harder to get started on than an Arduino, but the wide variety of >available tools suggests that you may ultimately be able to make it >pretty easy to use. > >For every platform there will be a tradeoff on processing power which >will affect the latency of your processing. > > >Eric Jacobsen
Hi Eric, A year ago I wanted to implement a 512-point FFT using the Arduino Uno platform. The only Arduino FFT software I could find on the Internet, that I was able to get working, was a 16-point FFT performed on 8-bit samples. I found Arduino code for a 256-point FFT (on 16-bit samples) on the Internet, but I was never able to get that code working. [-Rick-]