How to measure frequency?
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
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.
Thanks !
How many filters can they be used in a program?
Best regards,
lu bo
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
Thanks a lot !
Best regards,
lu bo
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
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
Thanks Bob!
it was very helpful answer!!
Best Regards,
Kal
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.











