Quantcast
Channel: EngineerZone: Message List
Viewing all articles
Browse latest Browse all 36216

Re: Huge project to fill up a ADAU1452 and make it do something

$
0
0

    Hello TomC,

 

     Welcome to EngineerZone and SigmaDSPs.  What goes on inside the chips is real DSP, but what you see in SigmaStudio appears wonderfully analog.  Thus, you can draw up and run analog techniques you've used elsewhere or wish to learn, and try them out without heating up your soldering iron.  My noise-reduction project is huge and sloppy, but its logic is straightforward.  The concept originally came from page 369 of Steven W. Smith's book, The Scientist and Engineer's Guide to Digital Signal Processing -- which its author and ADI made available as a download here:

http://www.analog.com/en/content/scientist_engineers_guide/fca.html

 

     The DNR project filters the incoming audio into about 45 bands spaced 1/5 octave apart.  Each band is either allowed through if loud enough, or shut off if not.  The idea is that bands containing useful sound will overcome the gate threshold and come through, while bands containing only noise won't make the threshold and thus get silenced. As notes being played change and instruments come and go, different bands open and close as necessary.

 

     All the frequency channels are contained in five schematic pages called "hierarchy boards." Let's examine just the Left - 120Hz channel, shown below (neatened up and simplified a bit):

DNR-channel-sch_pic.jpg

The general double-precision filter is set as a peaking type (click on its blue square to access the settings).  The filters each have a Q of 4, chosen so that when all channels are open, they sum to a relatively flat frequency response.

     The Peak Envelope Detector "rectifies" the signal.  Its output is a changing positive "DC" representing the audio level.  The ABCD Comparator block compares this level to a threshold set by the user threshold control on the project's main page.  If the threshold (A) is less than the audio level (B), this block selects its (C) input "MAX", which is set to 1.0 with a DC Source (not shown).  Otherwise, the Comparator outputs its (D) input which is zero.  Now we have a logic signal that's high for channel levels above threshold (when hopefully there's music to pass).

     We would like the channel to open quickly in response to sudden sound ("fast attack"), but linger a little as the sound dies down ("slow decay").  The Average Envelope block allows us to select this response.  To get help on most blocks in SigmaStudio, select the block and press F1.

     Finally the conditioned logic signal is ready to gate the channel, by multiplying with the channel's audio.  Multiplying by zero means no audio passes, a non-zero value lets some through, according to the attack and decay characteristics already described.

 

     Looking at the project itself you'll recognize some additional functions not shown above -- a way for a strong sound in a given frequency band to help open up the band directly below it at twice that frequency (the "second harmonic"); also a reverse-logic feature tied to the "TEST" switch on the main page.  As you gain experience with SigmaStudio, likely you'll discover improvements that could be made to this design.

 

 

     Best regards,

 

     Bob


Viewing all articles
Browse latest Browse all 36216

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>