audio codec/DSP options - Page 1
Forum section: electronics / projects

author: tozitom
author_rank: Contributor
timestamp: July 30, 2020, 09:43:23 pm
content: 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!

author: mark03
author_rank: Frequent Contributor
timestamp: July 31, 2020, 03:43:30 pm
content: 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.

author: rsjsouza
author_rank: Super Contributor
timestamp: July 31, 2020, 04:00:32 pm
content: 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!

author: Evan.Cornell
author_rank: Regular Contributor
timestamp: July 31, 2020, 04:22:17 pm
content: I have extensive experience with both TI's PurePath and ADI's SigmaStudio. SigmaStudio is the way to go, by far...

author: tozitom
author_rank: Contributor
timestamp: July 31, 2020, 08:25:50 pm
content: 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?

author: Evan.Cornell
author_rank: Regular Contributor
timestamp: July 31, 2020, 08:58:13 pm
content: Quote from: tozitom on July 31, 2020, 08:25:50 pmAll 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.

author: tozitom
author_rank: Contributor
timestamp: August 01, 2020, 09:47:07 pm
content: thanks EVAN.About WLCSP, it seems to be real WLCSP as the picture from datasheet, no thermal pad, and it's the only package availableAlso 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.

author: Evan.Cornell
author_rank: Regular Contributor
timestamp: August 02, 2020, 10:30:48 am
content: Quote from: tozitom on August 01, 2020, 09:47:07 pmAh, I was thinking of ADAU146x regarding package type. Those ones self boot but only with external memory.

author: tooki
author_rank: Super Contributor
timestamp: August 02, 2020, 09:42:09 pm
content: Quote from: mark03 on July 31, 2020, 03:43:30 pmFYI, 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.

author: Marco
author_rank: Super Contributor
timestamp: August 02, 2020, 11:46:54 pm
content: ST has the free license for basic Audioweaver with drag and drop "programming", no idea how easy to use it is though.

author: tozitom
author_rank: Contributor
timestamp: August 04, 2020, 06:23:01 pm
content: 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.

author: Evan.Cornell
author_rank: Regular Contributor
timestamp: August 04, 2020, 06:32:57 pm
content: Quote from: tozitom on August 04, 2020, 06:23:01 pmSigmaStudio + 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.

author: tozitom
author_rank: Contributor
timestamp: August 04, 2020, 07:04:40 pm
content: agree with you Evan...will start with 1701 minidevboard to "adapt" myself to SIGMA environment.