ΣSigmaStudio Ask AI Русский Log in

Does Phase setting can use coefficient calculate then write in DSP?

SigmaDSP & SigmaStudio Davids Aug 11, 2020 00:00 3 replies Original on forum ↗
Subscribe
Davids Question
Aug 11, 2020 00:00

Hi,

As I know, the filter can use calculation to obtain the coefficient and using MCU to set the DSP to make EQ or High/Low pass filter can be adjusted very free.

If I want to use encoder to adjust the Phase, because there is one BLE App control in mine environment, so I need to use encoder to avoid hardware and software sync problem.

The encoder will connect to MCU, so if using encoder to control the Phase, I must use MCU to calculate the Phase degree then download to DSP.

Back to the question, does there any way to calculate the Phase degree then setting in to the DSP?

I have searched the forum, those phase question thread some are too old and missing content or some is using ADC and directly control inside DSP.

Best Regards,

Alvis.

Audio Signal Processors

adau1452

coefficient

Calculate

sigmastudio

SigmaDSP Audio Processors

adau1701

phase

Show More

DaveThib Reply
Aug 12, 2020 00:00

Hello Alvis,

I am not sure I fully understand you question. Which processor are you using?

The easiest way to do this with a rotary encoder is to use an index controlled filter. You can write coefficients for multiple filters with different phase settings. Place these into the coefficients for the coefficient locations for all the possible filters then use the rotary encoder cells for controlling the index controlled filter. Your micro-controller can write and change the setting of the index pointer or the rotary control can do it.

How much precision do you need for the different phase settings? Every 15 or 30 degrees? This will dictate the number of indexes you would need.

with the Sigma300/350 I think there may be some other options.

Dave T

Davids Reply
Aug 12, 2020 00:00

Hello Dave,

My micro-controller is STM32F0 MCU,

I am not sure how precision for the Phase degree( sorry I didn't get detail about the product spec.),

I assume that If Phase I want to control 0 degree to 350 degree, and there will be 70 steps, that means it will change

5 degrees/per step.

I don't understand this part which you explained:

The easiest way to do this with a rotary encoder is to use an index controlled filter. You can write coefficients for multiple filters with different phase settings. Place these into the coefficients for the coefficient locations for all the possible filters then use the rotary encoder cells for controlling the index controlled filter. Your micro-controller can write and change the setting of the index pointer or the rotary control can do it.

any example of this or what kind of the filter is this?

Thank you for answering my question!

Best Regards,

Alvis.

DaveThib Reply
Aug 14, 2020 00:00

Hello Alvis,

For your info...

The Sigma300 is the ADAU1452 family of parts.

The Sigma350 is the ADAU1467 family of parts.

The Sigma200 is the ADAU1761, ADAU1442, ADAU1787

The Sigma100 is the ADAU1701.

For 70 steps means that you would need 70 filters in the index controlled filters. So this will be some work.

What you do is select the IIR coefficient type of filter. Then you will need to calculate the filter coefficients using MatLab or something like that. It will be up to you to design the filters.

Here is where you select this:

The project I attache below, is close to what you will need. The Up/Down counter needs to be changed to the Rotary encoder block. I do not have time right now to put this together for you.

This is using the ADAU1701. It will be similar for the ADAU1452 which you probably will need to use.

ADAU1701 Index Selectable Filter using Up-Down Counter.zip

Dave T