Analog.com Analog Dialogue Wiki 简体中文
EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Support

    Popular Forums

    • RF and Microwave
    • Power Management
    • Video
    • FPGA Reference Designs
    • Precision ADCs
    • Linux Software Drivers
    • SigmaDSP Processors & SigmaStudio Dev. Tool

    Product Forums

    • A2B
    • Amplifiers
    • Analog Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Audio Design Solutions for Augmented and Virtual Reality (AR/VR) Glasses

    Recent Discussions

    • About sdr.tx(). Can I change the transmitter frequency after call this function?
    • About the values of CurV1,2 displayed in the cursors frame of scopy.
    • Purpose of "Load" in Scopy signal generator configuration GUI
    • about the transient response experiment example of RL Circuit using adalm2000
    • Using ADALM1000 AIN and CHA as kelvin connection

    Places

    • ADI Education Home
    • ADI Education China
    • ADI Education India
    • ADI Education Philippines
    • StudentZone (Analog Dialogue)
    • Virtual Classroom

    Latest Webinars

    • Audio Design Solutions for Augmented and Virtual Reality (AR/VR) Glasses
    • Robust Industrial Motor Encoder Signal Chain Solutions
    • Precision Low Power Measurement Solutions for Intelligent Edge
    • Advantages of Integrating Digital Power System Management (DPSM) into your Design
    • Optimizing GaN and GaAs RF Amplifier Performance Using Novel Biasing Techniques
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ230 about a clock and angle puzzle
    View All

    Places

    • Community Help
    • Logic Lounge

    Resources

    • EZ Code of Conduct
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Share Your Insights! How Can We Improve Your Engineering Design Needs?

     

    10BASE-T1L Makes Powering Intelligent Field Instruments Painless

    Latest Blogs

    • Using Python To Control The Pluto Radio And Plot Data
    • Resistance is NOT Futile
    • What is The Continuity of Engineering?
    • Move Over Sensors: Actuators Are Entering The Smart Factory Stage
    • What To Call A Non-Compliant Item
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • Partners

    Electronic Design Services - PartnerZone

    • Boston Engineering
    • Calian, Advanced Technologies
    • Colorado Engineering Inc. (DBA CAES AT&E)
    • Clockworks Signal Processing
    • Epiq Solutions
    • Fidus
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.
    • VadaTech
    • Vanteon
    • X-Microwave
    View All
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Processors and DSP
SigmaDSP Processors & SigmaStudio Dev. Tool
Documents Compressor Table Format - Changing compressors at run-time
  • Forums
  • Members
  • Tags
  • More
  • Cancel
  • Documents
  • +AD193x: FAQ
  • +ADAU1401AEBZ: FAQ
  • +ADAU144x: FAQ
  • +ADAU1452: FAQ
  • +ADAU145x: FAQ
  • +ADAU1701: FAQ
  • +ADAU1701MINIZ- FAQ
  • +ADAU1761: FAQ
  • +ADAU1772: FAQ
  • +ADI: FAQ
  • +AN-951: FAQ
  • +bitwise logic: FAQ
  • -Compressor Table Format: FAQ
    • Compressor Table Format - Changing compressors at run-time
  • +Creating a simple balance crossfade control: FAQ
  • +Creating constant-dB envelope decay using an existing linear decay algorithm: FAQ
  • +Crossover with more than 3 bands: FAQ
  • +E2PROM: FAQ
  • +EEPROM: FAQ
  • +EVAL DAU144XEBZ: FAQ
  • +EVAL-ADAU1781Z: FAQ
  • +Excluding Cells from the Exported System Files: FAQ
  • +GPIO button: FAQ
  • +GPIOs or Aux ADCs: FAQ
  • +How do I execute a software safeload write?: FAQ
  • +IIR coefficient filter: FAQ
  • +IIR filter: FAQ
  • +Peak Full Range Compressor: FAQ
  • +Preserving "Ear-candy": FAQ
  • +Push Button Volume: FAQ
  • +self-boot EEPROM image: FAQ
  • +Sigma300 Family Products: FAQ
  • +SigmaDSP: FAQ
  • +SigmaStudio: FAQ
  • +single precision VS double precision: FAQ
  • +Stimulus-Probe Capability and Limitations: FAQ
  • +Stopwatch to Count Successive Samples: FAQ
  • +Toolbox into the schematic tab: FAQ
  • +USB communications between the PC and SigmaDSP: FAQ
  • +Using Hierarchy Boards to create re-usable code: FAQ

Compressor Table Format - Changing compressors at run-time

There are several compressors available in SigmaStudio. Some of them use peak detection, while others use an approximated RMS detection. In order to make the algorithm memory efficient, the transfer function of the compressor that maps input levels to output gain is stored in memory, and the output gain is calculated by linear interpolation.

A list of available compressors is available here: http://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/dynamicsprocessors

The compressor table has 33 points, which matches the 33 points on the GUI. By changing a big point on the curve, you can change the shape of the overall curve. The big blue points act like "anchors" as they alter the curve of the small blue points behind them.

The calculation is actually done using 34 points stored in RAM. The first point stored in RAM represents the gain reduction value for any input below -90dB.

Here's an example: A compressor with a threshold of -6dB and a ratio of 2:1. For all inputs between -90 dB and -6 dB, the output gain is 1. For points above -6 dB, the output gain decreases by 3 dB for every 6 dB increase in input level.


The resulting table is as follows:

Point dB input Output Gain
1 -90 1
2 -87 1
3 -84 1
4 -81 1
5 -78 1
6 -75 1
7 -72 1
8 -69 1
9 -66 1
10 -63 1
11 -60 1
12 -57 1
13 -54 1
14 -51 1
15 -48 1
16 -45 1
17 -42 1
18 -39 1
19 -36 1
20 -33 1
21 -30 1
22 -27 1
23 -24 1
24 -21 1
25 -18 1
26 -15 1
27 -12 1
28 -9 1
29 -6 1
30 -3 0.85
31 0 0.707
32 3 0.6
33 6 0.50

Note that at an input of -6dB (the threshold), the output = input.

At 0dB, the output is 0.707, or -3dB.

At 6 dB, the output is 0.51, or -6dB.

You can make your own curves and calculate the parameters in manually if you prefer. Typically, in a real world system, this is calculated by the microcontroller.

The GUI in SigmaStudio is intended as an easy way to set the compressor curve while tuning the system. To give an end user control over the curve, the table points should be calculated in the microcontroller.

In the GUI, the maximum ratio achievable is limited. However, you can enter in your own parameter data (or right click on a blue point and choose "Set Point Value" to bypass this limitation.

You are correct, the x values are always in 3 dB spacings.

The new "Standard RMS Compressor" has now been released - Check the toolbox under Dynamics Processors > RMS > Standard Resolution > Lower Range.

This FAQ was generated from the following discussion: Developing Sigma DSP Cluster

  • compressor
  • microcontroller
  • sigmastudio
  • sigmadsp
  • Share
  • History
  • More
  • Cancel
Related
Recommended
Social
Quick Links
  • About ADI
  • ADI Signals+
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Incubators
Languages
  • English
  • 简体中文
  • 日本語
Newsletter

Interested in the latest news and articles about ADI products, design tools, training and events? Subscribe today!

Sign Up
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
EngineerZone Uses cookies to ensure you get the best experience in our community. For more information on cookies, please read our Privacy & Security Statement.