Reply by Tom Gardner January 29, 20142014-01-29
On 28/01/14 17:34, Eric Jacobsen wrote:
> I don't have much personal experience with it, but since the Arduino > compiler is essentially a C compiler I keep getting told that C can be > integrated pretty easily. Was there a barrier to getting a generic > FFT in C to work?
I couldn't be bothered to use the Arduino firmware, plus I probably couldn't have reduced the mean current PSU current in my application to around 50uA. So I simply programmed bare silicon directly in C, and used an Atmel AVR Dragon to program and debug my board. The only niggle was that I couldn't be bothered to faff around getting the Linux development environments to work -- so I was reduced to firing up WinXP and using the Atmel IDE.
Reply by January 29, 20142014-01-29
Den tirsdag den 28. januar 2014 18.34.51 UTC+1 skrev Eric Jacobsen:
> On Tue, 28 Jan 2014 03:30:29 -0800, Rick Lyons > > <R.Lyons@_BOGUS_ieee.org> wrote: > > > > >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-] > > > > I don't have much personal experience with it, but since the Arduino > > compiler is essentially a C compiler I keep getting told that C can be > > integrated pretty easily. Was there a barrier to getting a generic > > FFT in C to work? >
you could just skip the Arduino stuff and use the hardware directly -Lasse
Reply by Eric Jacobsen January 28, 20142014-01-28
On Tue, 28 Jan 2014 03:30:29 -0800, Rick Lyons
<R.Lyons@_BOGUS_ieee.org> wrote:

>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-]
I don't have much personal experience with it, but since the Arduino compiler is essentially a C compiler I keep getting told that C can be integrated pretty easily. Was there a barrier to getting a generic FFT in C to work? Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by Rick Lyons January 28, 20142014-01-28
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-]
Reply by angrydude January 25, 20142014-01-25
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 :-)
Reply by Tauno Voipio January 22, 20142014-01-22
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. >
Reply by Randy Yates January 22, 20142014-01-22
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
Reply by Tauno Voipio January 22, 20142014-01-22
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
Reply by glen herrmannsfeldt January 22, 20142014-01-22
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
Reply by glen herrmannsfeldt January 22, 20142014-01-22
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