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

How to measure frequency?

SigmaDSP & SigmaStudio lubo Jun 18, 2012 00:00 8 replies Original on forum ↗
Thread Summary

Thread Summary

The user is trying to measure and cut off abnormal frequency peaks in an audio signal using the ADAU1701 and SigmaStudio. The ADAU1701 lacks frequency-domain processing, so the suggested workaround involves using multiple bandpass filters to measure power in each band and suppress loud bands. The ADAU1701 can handle about 40 such filter configurations at a 48KHz sample rate. The user also explored using a LevelRTA3 cell for feedback frequency measurement but encountered issues identifying the center frequency data. The final answer suggests that the user's microcontroller must calculate and safeload all five parameters for the RTA each time a frequency change is needed.
AI Generated Content
Subscribe
lubo Question
Jun 18, 2012 00:00

Hi

I'm trying to get rid of roar in audio signal. The idea is that measuring the frequency of the abnormal peak of input signal and using the General (2nd-Order / Lookup) block to cut off it. How to measure the frequency in SigmaStudio?

I'm new to SigmaStudio so all suggestions are greatly appreciated. Currently I'm working with the ADAU1701.

Best regards,

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

ADIApproved Reply
Jun 22, 2012 00:00

Hi,

I'm not sure how to do this since the ADAU1701 is not capable of frequency-domain processing.

One option might be to break the signal into many frequency bands using several parallel bandpass filters, then to measure the power in each band and try to suppress any band that is too loud relative to the other bands.

lubo Reply
Sep 13, 2013 00:00

Thanks !

How many filters can they be used in a program?

Best regards,

lu bo

KJBob Reply
Sep 16, 2013 00:00

Hi lubo,

In addition to the filters themselves, likely you'll need a way to sense the output of each filter. The example below rectifies and smooths each filter output to provide a level measurement at each DSP Readback block. As shown, the project uses 73 instructions, with 23 more for each additional frequency. With about 1000 usable instructions at the usual 48KHz sample rate, the ADAU1701 can accommodate roughly 40 of these.

Best regards,

Bob

712540bfeed47324ad310541c5205acc.jpg
712540bfeed47324ad310541c5205acc.jpg
712540bfeed47324ad310541c5205acc.jpg-450x255.jpg
712540bfeed47324ad310541c5205acc.jpg-450x255.jpg
lubo Reply
Sep 18, 2013 00:00

Thanks a lot !

Best regards,

lu bo

kaeroul Reply
Jun 10, 2014 00:00

hello KJBob, and everybody,

I am using sigmastudio to evaluate evaladau1701. In the sigmastudio, I am using level detector cell to observe the data capture window when I am changing the center frequency parameter. My ultimate goal is somehow to do feedback frequency cancellation. My current goal is to read value at certain frequency for feedback frequency measurement.

So after I am able to detect which data represents the center frequency parameter, I will use that data in Arduino program.

Meanwhile, If in arduino programming, I just use pointer to the level detector cell only in each step of frequency like spectrum analyzer, I am afraid adau1701 is not be able to store mass number of level detector cell. And if somehow adau1701 is able to do that, I think that approach is not practical for my implementation.

A little bit of my work right now is explain next.

In sigmastudio, a cell of level detector (LevelRTA3) as shown in figure below.

Then, table below is a capture window result. The result shown is one of an example when I change the center frequency (or any other parameter) once (5 sets of instruction generated) in the LevelRTA3 cell.

Then, what I did is, changing the bandwidth parameter with other parameters were fixed (especially the center frequency parameter). Unfortunately, I can’t detect which data is representing the center frequency. Because no data give the same value in another 5 consecutive data in 5 sets of instruction generated.

It is also the same (all 5 consecutive data is always varies with the next 5 consecutive data) as I try to change an another parameter in LevelRTA3 cell, with center frequency parameter is always fixed. Could anybody please help me?

Thanks and Regards,

Kal

270df9587222a268049fcce4ecfc12dc.png
270df9587222a268049fcce4ecfc12dc.png
270df9587222a268049fcce4ecfc12dc.png-294x212.png
270df9587222a268049fcce4ecfc12dc.png-294x212.png
2dd4df876e218e09df947dbb89e86308.png
2dd4df876e218e09df947dbb89e86308.png
2dd4df876e218e09df947dbb89e86308.png-329x48.png
2dd4df876e218e09df947dbb89e86308.png-329x48.png
fe5af3ec0cc23477377079cc2e2c0f68.png
fe5af3ec0cc23477377079cc2e2c0f68.png
fe5af3ec0cc23477377079cc2e2c0f68.png-552x97.png
fe5af3ec0cc23477377079cc2e2c0f68.png-552x97.png
KJBob Reply
Jun 11, 2014 00:00

Hello Kal,

When you change a value in the RTA design window, SigmaStudio calculates the five parameters for the filtering within that RTA. We can see how this works by experiment:

The RTA and 2nd order Peaking filter shown at left are both set to 100 Hz and Q = 0.7,

Parameter sets for both appear in the Capture Window below. The similar appearance of these numbers suggests that the parameter calculations are performed in a similar way for both blocks.

The SigmaStudio Toolbox Wiki doesn't provide the formulas to calculate the RTA parameters, but does show these parameter formulas for the General 2nd Order filter at:

General 2nd Order [Analog Devices Wiki]

You'll see that each filter parameter depends on both center frequency and Q. This is why SigmaStudio sends out all five parameters when either f or Q is changed. This also explains why there's no obvious relationship between the center frequency and any one parameter.

The RTA uses calculations that are similar, but not identical, to the 2nd Order Peaking filter. It appears that the difference is because the RTA has two 2nd order filter stages (12 dB per octave bandpass), which is twice the selectivity of the General 2nd Order filter. Your micro will need to calculate all five parameters on the fly and safeload them to the DSP each time you wish the RTA to change frequency.

Various posts on attempts at auto feedback reduction suggest that this task is a bit much for a ADAU1701. Once I removed the cover from a commercial stereo EQ / RTA / anti-feedback unit and found two Sharcs and a Blackfin.

Best regards,

Bob

8f5fb1577d9c3456d2def03e840bafa9.jpg
8f5fb1577d9c3456d2def03e840bafa9.jpg
8f5fb1577d9c3456d2def03e840bafa9.jpg-190x325.jpg
8f5fb1577d9c3456d2def03e840bafa9.jpg-190x325.jpg
37c04bc8e581f939ca5d278c4d1f239d.jpg
37c04bc8e581f939ca5d278c4d1f239d.jpg
37c04bc8e581f939ca5d278c4d1f239d.jpg-620x252.jpg
37c04bc8e581f939ca5d278c4d1f239d.jpg-620x252.jpg
kaeroul Reply
Jun 11, 2014 00:00

Thanks Bob!

it was very helpful answer!!

Best Regards,

Kal

EZAdministrator Reply
Aug 2, 2018 00:00

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