Author Topic: audio codec/DSP options  (Read 1705 times)

0 Members and 1 Guest are viewing this topic.

Offline tozitomTopic starter

  • Contributor
  • Posts: 25
audio codec/DSP options
« on: July 30, 2020, 09:43:23 pm »
Hi forum,
As a long time reader I've been searching for any info to help me here, but could not find it yet so I'm asking for your help.
I've to upgrade a project that uses a codec from Texas (AIC3204), and will need add DSP to it. As it's a battery powered device it needs to be low power IC. Also need it to be "programmer" friendly as I've no DSP experience: thus PUREPATH or SigmaStudio seems the way to go (any others you know?).
So far the options are limited, so need your help to expand my horizons :); I've selected AIC3254 and ADAU1787 (even if this one is WLCSP, not sure if I want to go that way yet...).
Apart from low power I need it to have:
- analog mic IN
- I2S IN/out for playback
- headphones OUT
- self powered (no problem with ext EEprom if needed)

any experience is welcome for further options.
thanks for watching!
 

Offline mark03

  • Frequent Contributor
  • **
  • Posts: 749
  • Country: us
Re: audio codec/DSP options
« Reply #1 on: July 31, 2020, 03:43:30 pm »
This question comes up every now and then.  A couple of thoughts, borrowed from previous threads:

1)  If this is your first introduction to DSP, do yourself a favor and develop everything on a PC in python or Matlab first.  This is far, far easier than trying to debug an unknown algorithm on an embedded target, even for a DSP expert.  As a bonus, once you have your algorithms working on the PC, you'll be able to estimate the memory/processor requirements.

2)  Dedicated DSP chips are a dying breed.  Their specialized architectures are nice, but 99% of the market has decided that it's overall easier just to use standard Cortex-M4 or M7 microcontrollers and their familiar development ecosystem.  ARM provides a free library (CMSIS-DSP) with a lot of DSP building blocks like FFTs, FIR/IIR filters, and so on.  It means one less architecture to learn, and the specialized DSP instructions that they added to these mainstream MCUs have narrowed the performance gap with dedicated DSPs to the point that nobody really cares about them anymore.
 
The following users thanked this post: tozitom

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 6106
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: audio codec/DSP options
« Reply #2 on: July 31, 2020, 04:00:32 pm »
I am not very familiar with the solutions you mentioned, but they seem to be turn key configurable solutions. If that is what you are looking for, then they should be good enough.

If you are looking for fully programmable solutions - i.e., you need to create and build your code, then you could also look into the TMS320C5517 or TMS320C5545 DSPs. They are a bit old but, if I recall correctly, they have audio libraries as well.

For programmable solutions, mark03 is on point:

When validating the algorithm on a PC using a high level tool such as Matlab or Python, keep in mind the real-time constraints may not be met but instead you will be looking mostly for the accuracy of the processing itself.

Dedicated DSPs can nowadays be replaced by FPGAs or, with some limitations, ARM. FPGAs will usually be less power efficient, but that shouldn't concern you at this point - you are trying to make something work, thus start with less constraints and optimize later. ARM has less performance than a dedicated DSP for signal processing code but, since its scalability (higher clock rates) is very good with modern Cortex cores, it compensates for the deficiencies.

Anyways, good luck!
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 
The following users thanked this post: tozitom

Offline Evan.Cornell

  • Regular Contributor
  • *
  • Posts: 189
  • Country: us
Re: audio codec/DSP options
« Reply #3 on: July 31, 2020, 04:22:17 pm »
I have extensive experience with both TI's PurePath and ADI's SigmaStudio. SigmaStudio is the way to go, by far...
 
The following users thanked this post: tozitom

Offline tozitomTopic starter

  • Contributor
  • Posts: 25
Re: audio codec/DSP options
« Reply #4 on: July 31, 2020, 08:25:50 pm »
Thanks to all for the suggestions!
I know DSP is a wall brand new world, but for this project, and due to time restriction, I need a fast and easy solution as proof of concept.

@Evan.Cornell that's also the general idea I have after reading forums. Also sigmastudio seem to have much more support. Just not into WLCSP package of ADAU1787, and afraid to have high power consumption from similars others DSP @ A.D.
Do you also have experience on ADAUxxxx working on battery operated devices?
 

Offline Evan.Cornell

  • Regular Contributor
  • *
  • Posts: 189
  • Country: us
Re: audio codec/DSP options
« Reply #5 on: July 31, 2020, 08:58:13 pm »
@Evan.Cornell that's also the general idea I have after reading forums. Also sigmastudio seem to have much more support. Just not into WLCSP package of ADAU1787, and afraid to have high power consumption from similars others DSP @ A.D.
Do you also have experience on ADAUxxxx working on battery operated devices?

All the applications I used SigmaDSPs were line-powered, so never paid too much attention to power consumption. I do recall the core DSP voltage could be provided by external 1.2V dc-dc in lieu of on-chip LDO for some significant power savings depending on DSP load.

Also, they call it a WLCSP, but the package is more akin to a QFN with thermal pad. Never had occasion to hand-solder if that’s what you’re worried about.
 
The following users thanked this post: tozitom

Offline tozitomTopic starter

  • Contributor
  • Posts: 25
Re: audio codec/DSP options
« Reply #6 on: August 01, 2020, 09:47:07 pm »
thanks EVAN.
About WLCSP, it seems to be real WLCSP as the picture from datasheet, no thermal pad, and it's the only package available :(
Also considering ADAU1761, but no self-boot... will have to do it via uC and don't know if I have the time to learn how to do it - have to search how, to have a general idea what would be the time consuming.
 

Offline Evan.Cornell

  • Regular Contributor
  • *
  • Posts: 189
  • Country: us
Re: audio codec/DSP options
« Reply #7 on: August 02, 2020, 10:30:48 am »
thanks EVAN.
About WLCSP, it seems to be real WLCSP as the picture from datasheet, no thermal pad, and it's the only package available :(
Also considering ADAU1761, but no self-boot... will have to do it via uC and don't know if I have the time to learn how to do it - have to search how, to have a general idea what would be the time consuming.

Ah, I was thinking of ADAU146x regarding package type. Those ones self boot but only with external memory.
 
The following users thanked this post: tozitom

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: audio codec/DSP options
« Reply #8 on: August 02, 2020, 09:42:09 pm »
This question comes up every now and then.  A couple of thoughts, borrowed from previous threads:

1)  If this is your first introduction to DSP, do yourself a favor and develop everything on a PC in python or Matlab first.  This is far, far easier than trying to debug an unknown algorithm on an embedded target, even for a DSP expert.  As a bonus, once you have your algorithms working on the PC, you'll be able to estimate the memory/processor requirements.

2)  Dedicated DSP chips are a dying breed.  Their specialized architectures are nice, but 99% of the market has decided that it's overall easier just to use standard Cortex-M4 or M7 microcontrollers and their familiar development ecosystem.  ARM provides a free library (CMSIS-DSP) with a lot of DSP building blocks like FFTs, FIR/IIR filters, and so on.  It means one less architecture to learn, and the specialized DSP instructions that they added to these mainstream MCUs have narrowed the performance gap with dedicated DSPs to the point that nobody really cares about them anymore.
FYI, the thing the OP is asking about is the programmable DSP-based audio devices, not actual standalone DSPs. I don’t know whether they even allow DIY algorithms, as the point of these systems is to allow easy(ish) graphical configuration of predesigned audio processing units to do things like EQ, loudness, (amplitude) compression, etc. You’re not really interacting with the DSP’s own instruction set, and as such, I don’t think modeling in python or matlab is actually relevant.
 
The following users thanked this post: tozitom

Offline Marco

  • Super Contributor
  • ***
  • Posts: 7045
  • Country: nl
Re: audio codec/DSP options
« Reply #9 on: August 02, 2020, 11:46:54 pm »
ST has the free license for basic Audioweaver with drag and drop "programming", no idea how easy to use it is though.
 
The following users thanked this post: tozitom

Offline tozitomTopic starter

  • Contributor
  • Posts: 25
Re: audio codec/DSP options
« Reply #10 on: August 04, 2020, 06:23:01 pm »
thanks,
I did not consider ST because that would involve more changes on this project, I don't that much time... it will short enough to get DSP alone to work - at least on this proof of concept phase.
 

Offline Evan.Cornell

  • Regular Contributor
  • *
  • Posts: 189
  • Country: us
Re: audio codec/DSP options
« Reply #11 on: August 04, 2020, 06:32:57 pm »
thanks,
I did not consider ST because that would involve more changes on this project, I don't that much time... it will short enough to get DSP alone to work - at least on this proof of concept phase.

SigmaStudio + SigmaDSP is the way to go then, in my opinion.. fairly short learning curve, good DSP tools, active forum community on ADI's forums. The parts are pricey, but the tools are worth it.
 
The following users thanked this post: tozitom

Offline tozitomTopic starter

  • Contributor
  • Posts: 25
Re: audio codec/DSP options
« Reply #12 on: August 04, 2020, 07:04:40 pm »
agree with you Evan...
will start with 1701 minidevboard to "adapt" myself to SIGMA environment.
 
The following users thanked this post: Evan.Cornell


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf