Author Topic: Choosing a processor for DSP  (Read 3282 times)

0 Members and 1 Guest are viewing this topic.

Offline rheb1026Topic starter

  • Regular Contributor
  • *
  • Posts: 101
  • Country: us
Choosing a processor for DSP
« on: December 17, 2016, 07:08:32 pm »
I hope this is the right place to post this...

I've recently gotten into home brewing radio circuits and my ambitious project is to create a direct conversion receiver and do the demodulation in a DSP of some sort. The plan is to mix the RF down to baseband I and Q signals and sample with an ADC from there. I'm planning to do most of the learning in MATLAB until I feel comfortable enough with the algorithms to implement them on a stand alone controller. My question is which controller should I be looking at to implement this? I have experience with ST Cortex M4 processors and know that it has some DSP abilities, but I don't have any experience in what kind of processing power would be needed for this sort of thing. I'd just hate to start down the road and realize that I have to change paths.

I would like to stick with what I know if possible rather than having to learn another processor, but I'm open to the idea. In the end I'd like to have a receiver with a rotary encoder and display to tune the local oscillator and be able to demodulate AM/SSB/CW signals in the HF range (0-30Mhz) with fixed filter widths for each signal type. I'd also like to not have to write in assembler. So will the CM4 be suitable for this?

Edit to add: Power consumption is not an issue, and I also want something that I can make at home (no BGA, etc.)
« Last Edit: December 17, 2016, 07:13:03 pm by rheb1026 »
 

Offline parasole

  • Contributor
  • Posts: 49
  • Country: md
Re: Choosing a processor for DSP
« Reply #1 on: December 17, 2016, 08:30:04 pm »
I have experience with ST Cortex M4 processors and know that it has some DSP abilities

From the moment you know it, I beleive you should stick with ST family, there are similar projects based on ST32 and it is good enough for baseband processing as you want to do it, basically you will be working with audio frequencies.
Good start is to check out ST guide for DSP processing in ST32F4 and F7:
http://www.st.com/content/ccc/resource/technical/document/application_note/group0/c1/ee/18/7a/f9/45/45/3b/DM00273990/files/DM00273990.pdf/jcr:content/translations/en.DM00273990.pdf
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 6096
  • Country: au
    • send complaints here
Re: Choosing a processor for DSP
« Reply #2 on: December 17, 2016, 09:05:40 pm »
Since you have MATLAB, that is indeed a good first choice for prototyping the algorithms.

Secondarily to that you should port the algorithms to something like C++, C, NumPy (python with efficient numerical processing libraries), and get that working still on a PC.

For a 'cheap' embedded DSP platform, ranking in terms of DSP performance per cost as well as ease of development, consider:
(a) A PC.  Really.  Just transport the digitized data into a PC by Ethernet or USB and process it.  The MFLOPS / dollar can't easily be beat and the ease of programming, debugging, etc. can't be beat since you have natively hosted development tools, displays, filesystems, I/O, libraries, toolchains, IDEs, debuggers, etc.  It needn't cost very much.
A PC is a great place to start, doing offline processing to prove the idea and hone all the details. But MFLOPS/dollar is only really interesting if you're doing lots of floating point, most high performance DSP work is still done in fixed point which desktop PC's do not compete well on cost or power metrics. And more importantly desktop/laptop CPUs fit in a narrow window of capabilities which this project wont fit well with, just the ADC interfacing to a desktop computer could end up costing more than an entire embedded platform.

The suggestion to look as prebuilt systems on board/module is the place to start, once you know what interfaces you need for the other parts of the system.
 

Offline rheb1026Topic starter

  • Regular Contributor
  • *
  • Posts: 101
  • Country: us
Re: Choosing a processor for DSP
« Reply #3 on: December 17, 2016, 09:44:49 pm »
Thanks very much for all the replies! It's good to know that the M4/M7 will fit the bill just fine, and thanks for pointing out the discovery board. I didn't think to just build my RF board and attach it onto the header pins of the demo board. I think that'll definitely be the easiest way to go

I guess I should have stated in the first post that I am a (young) engineer who's work involves embedded systems. I'm by no means an expert, but I do prototype/proof of concept firmware for work with some regularity. We use ST M4F processors in our products.

I did take an FPGA class in school a few years back and would be interested in getting back to it at some point. Unfortunately I can't remember a darn thing about Verilog! But I still have the Digilent board. I'll have to take a look at the ZYNQ boards, too.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->