DSP EQ control function - Page 1
Forum section: electronics / general

author: noreply
author_rank: Frequent Contributor
timestamp: June 09, 2020, 08:07:24 pm
content: Not sure if this is the best sub forum topic in eevblog to post this request .. but here goes anyway …A colleague is developing some audio projects using the Ti TAS5825M and is looking for someopen source base codeto help implement aDSP EQ control functionand a UI front end.Has anyone come across a suitable base code package for this - as its been difficult to find something suitableA little background might be useful …They are trying to provide a graphics equalizer for their customers– but to do this they need to calculate the EQ coefficients external to the TAS5825M device and send the data back to it.There are two challenges here, first is to have the correct formula(s) for calculating the BQ coefficients from existing frequency, gain and Q values.The second is to have a nice UI with graphics which will perform the calculations for the Ti device.Obviously they don’t want to reinvent the wheel – so to speak – and write the whole UI code themselves – so any public domain open source is the preferred route.If you have any experience with DSP EQ control function software – a point in the right direction would be most welcomeThey are working to a tight schedule and are mindful that going down the wrong path will waste lots of timeAnyhelp with this would great

author: lutkeveld
author_rank: Regular Contributor
timestamp: June 09, 2020, 08:25:07 pm
content: I have done it for a commercial project:www.zoudio.com/product/aio4chIts done with a serial parser which sends the DSP settings in string format over serial to a micro which saves it on EEPROM.The GUI is developed in JavaFX / Scenebuilder. You can download it and have a look, it does not require a board to be connected.Essentially the only thing the micro does is write the stored I2C commands.The whole structure is very efficient, relies on readily available components and does not require PurePathConsole.The software is not open-source but I am available for freelancing to help implement the DSP structure and GUI.Send me a DM if you are interested.

author: noreply
author_rank: Frequent Contributor
timestamp: June 10, 2020, 02:53:21 pm
content: Thanks for your feedback- your implementation for your project looks interestingI will pass on the information.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 10, 2020, 03:35:10 pm
content: Except for getting some inspiration from existing software's GUI, I'm not sure any general information on DSP will really help here, as the chip you mention seems to already handle all the dirty job. Just read the datasheet thoroughly (or maybe some additional application note). I have just taken a very *quick* look so I can't tell exactly what the chip expects as far as coefficients go, but I'm sure there is some more details provided by TI out there?

author: noreply
author_rank: Frequent Contributor
timestamp: June 10, 2020, 04:49:16 pm
content: Quote from: SiliconWizard on June 10, 2020, 03:35:10 pmYeah ..There appears to be sufficient information for this out there ..I found an Application report from Ti (will be fowarding) - albiit not directly for the device in question - but a good example of how to move foward (attached if interes to others)I think the issue my colleauge is finding difficult (time constraints) - is to implement the base code for the UI - hence the desire to access some open source to speed up the development of 'their own' variant for their enduser.Thank you for your input

author: lutkeveld
author_rank: Regular Contributor
timestamp: June 10, 2020, 05:12:55 pm
content: What kind of GUI does he want to use and how does he want to connect it to the amplifier hardware-wise?The EQ biquads are Q5.27 formatted and split into 4 bytes per coefficient (32 bits total).Most processing flows and their memory format are described here:http://www.ti.com/lit/an/slaa786a/slaa786a.pdfThe GUI can calculate the coefficients using the standard biquad formula's:https://www.w3.org/2011/audio/audio-eq-cookbook.htmlStandard procedure would be:-Let user enter their desired filter properties-Calculate and normalize biquad coefficients-Convert to Q5.27 format and split in 4 bytes-Send them to non-volatile memory on the PCB-Write them directly (biquads can be updated while running) and also make sure they are written at every startup (chip memory is volatile)

author: noreply
author_rank: Frequent Contributor
timestamp: June 10, 2020, 05:46:50 pm
content: Quote from: lutkeveld on June 10, 2020, 05:12:55 pmI should have qualified from the start, my colleague is a non English speaking, I have some difficulty in communicating with him - but offered to get some feedback from eevblog forum members.I will try to point him in this direction - and perhaps the information received already will be sufficient for getting them started.At best I hope he engages in the forumDespite having online language translation services , with technical translations - you can loose a great deal as some stuff simply does not translate