Volume Based High pass Filter

Hello, I am new to this and am trying to use a wondom amplifier with adau1701 built in to make a speaker with dsp. Basically I wanted to shift a high pass filters center frequency from 12Hz at the lowest volume up to 55Hz at full volume but I am not sure this is possible. The only examples I can find online are using the DC input/integer values to change the between 2 filter options (i won't lie i do not fully understand this) but I would like it to be a more gradual loss of low frequency information rather than just starting off with the 55hz highpass.

Thank you so much for any help, this looks like a very powerful tool if I can learn it. If there are useful links that could also help me get started to understand things like the look up tables etc please attach those links... I am going to school for mechanical engineering and programming is not my strong suit. :)

Parents
  • +1
    •  Super User 
    on Dec 9, 2019 3:05 AM

         Hello Marcello,

         Welcome to SigmaDSP and the forum!  You're right, you can do rather amazing things with these chips.  Often the first place to find help with the various signal processing blocks available in SigmaStudio is the wiki:

    https://wiki.analog.com/resources/tools-software/sigmastudio

         ADI's Dynamic Bass module can do what you're looking for -- in addition to a sliding bass boost, it includes a sharp highpass filter you can set to the lowest frequency your woofer can handle -- to keep subsonic stuff from shaking it apart.  Besides the wiki, some additional info on how it performs is available here:

    Dynamic Bass Basics

        You can certainly make your own sliding filter by combining a few smaller blocks.  You could, for example, set up an Envelope Follower to measure your audio level, converting it to a DC level suitable to feed a lookup table.  Then the table output would drive an Index Selectable Filter which you can program with a number of curves to achieve your variable response.  The Index Filter's control input requires an integer index (28.0 format in the ADAU1701), while signals generally are in decimal (5.23 format) -- for help with this, please see:

    https://ez.analog.com/dsp/sigmadsp/w/documents/5169/what-are-the-number-formats-for-sigmadsp

         There's a few examples of sliding filters here,  Yet, you'll have more fun figuring it out for yourself.  Go ahead and make the usual beginners' mistakes as others have before you, and enjoy the ride!

         Best regards,

         Bob

  • WOW thank you so much you responded so quickly!

    I will be diving deep into all those links you sent me, the sliding filters seem to be the exact thing I was looking for, those are beautiful schematics you have made for so many people 

    :D

Reply Children
No Data