how do I creat my double precision filter?
Hello,
I am working on a audio project with ADAU1701, that need adjust filter parameters at runtime, and my parameters is calculated by ADAU1701 itself, so I cann't use double precision IIR filter provided by sigmastudio, I must creat a IIR filter with multiply and add module by myself,
it seem that the calcutate result of multiply or add is signal precision, then how do I creat my double precision filter?
thanks!
cadie
Audio Signal Processors
SigmaDSP Audio Processors
adau1701
Hello Cadie,
Use SigmaStudio's double precision filters. There is an option to select IIR filter. If you have a way to calculate your custom made IIR filter coefficients externally (i.e. MatLab or any other source), then you can just plug in your coefficients there.
The TreeToolbox path is "Filters -> Second Order -> Double Precision -> (your choice 1Ch - 6Ch) -> General 2nd Order ".
Then drag it to the schematic, and click on the bitmap. A pop up window will show and select "IIR Coefficient". After plugging in your coefficients, click on the "Load" button and those coefficients will be written into your ADAU1701, in double precision.
Wilfrido.
If I understand your question correctly, you want the ADAU1701 to calculate filter coefficients at run-time while the DSP is running? I do not believe there is a practical way to achieve this functionality via SigmaStudio or even with a custom algorithm. My suggestion is to use the Double Precision "General 2nd Order Index Selectable" filter cell provided in SigmaStudio. Define the filter responses you require, and at run-time the filter can be adjusted by changing the selected index, triggered by a GPIO input or otherwise.
Best regards,
John
Thanks John and wilfriod.
actually, we want to do a function like dynamic eq. the coefficients of iir filter need be calculated real time. I find the filter cells provided by sigmastudio cann't change coefficients at runtime, so I want write a IIR filter by myself with multiply cell and add cell, but these two cell is single precision, we need double precision to meet our low frequency requirement. I think sigmastudio can provide double precision filter, accumulater in dsp should be 56 bit, it isn't open to our end user. then i try to find a way to implement it, but I am failure.
let me see if I can build a table according to output level, thanks John's suggestion again.
Hi Cadie:
Can you share the filter topology that you are trying to implement? We might be able to provide further assistance if we better understand that type of filter being attempted. Also, have you considered using the state variable filter?
Regards
Miguel
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.