Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

Bit shift to increase gain

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bit shift to increase gain

    I've been thinking for a while that when digitising a guitar signal, instead of using an opamp to increase gain it could be done within the processor by bit shifting the samples. Each shift would give 6dB gain. The noise could be excluded by sampling the quiescent signal at startup and using the average value as the noise floor. Anything below this level is then ignored, anything above bit shifted.

    Seems like it could be a better method, but perhaps there's a big downside, as most circuits seem to amplify the guitar signal either externally using opamps, or programmable gain amplifiers.




  • #2
    Maybe 6db is just too much. Usable increments can be difficult with digital stuff. For example, my phone with a headset, goes from too quiet to too loud in one step. My TV at very low volume levels just goes from off to louder than I want.
    Originally posted by Enzo
    I have a sign in my shop that says, "Never think up reasons not to check something."


    Comment


    • #3
      To get the optimal number of bits representing the sample, conventional wisdom says to get the analog signal to the converters within 'a couple' of bits of the fully loaded state (Hex FF FF FF for my 24-bit encoders), referenced to some max limit analog voltage. Do we really need 100+ dB of dynamic range? Probably not, especially with a good noise floor dither implemented. Have you thought about what range you consider optimal for your process? 16-bit and even 14-bit has been used as a standard bit depth for full range program material, I'd think 70dB (about 12 bits) or even less might be sufficient for a signal that's expected to be a little noisy on its own, or mixed with other material.

      Are you thinking about shifting the input level in 6dB steps as a "digital preamp", or fixing the gain at some lower max input signal level (essentially making your device neither a -10dBV nor a +4dBu input stage). A system that shifts 6 or so bits might be interesting as a line/mic toggle. Wonder if that's ever been done?
      If it still won't get loud enough, it's probably broken. - Steve Conner
      If the thing works, stop fixing it. - Enzo
      We need more chaos in music, in art... I'm here to make it. - Justin Thomas
      MANY things in human experience can be easily differentiated, yet *impossible* to express as a measurement. - Juan Fahey

      Comment


      • #4
        I've been using rail to rail opamps to amplify to guitar signal peak level to the maximum that the ADC will accept; 3.3v or 5v, depending on processor. Then set a threshold that's effectively the noise level and set this as the minimum value. The input of the ADC is biased at half supply voltage to give a +/- range.

        The ADCs are 12 bit and this depth is more than enough for my purposes, as I only need to analyze the guitar signal rather than preserve the audio qualities. Looking at the calculation though, it appears that this wouldn't work because the unamplified guitar signal wouldn't have sufficient resolution. I'm thinking a signal of 100mv and 3.3v processor with 12 bit ADC would only have a sample range of 0.1/3.3 *4096 = 124 bits.

        Comment


        • #5
          This is the point, these op-amps are more a buffer/preamp/attenuator to provide the AD converter with an optimal level of input signal for it's operation.
          When the input signal is in the specified level the AD will have it's full range of operation.

          Wich AD this processor is using ?

          Comment


          • #6
            I'm usingthe inbuilt converters in the RP2040 and have just got hold of some ESP32 development boards.

            Comment


            • #7
              There are not a lot of information available on the signal conditionning for these ADC...
              Attached Files

              Comment


              • #8
                Apart from signal conditioning, there's also the fact that Both both types have non-linear behaviour, which is surprising given how well developed the processors are overall. With the RP2040 there are a number of documented spikes at certain points that can be fixed by testing for certain values and mathematical correction.

                The ESP32 is rather more involved in that there's deviation throughout, but this varies between individual examples. A script can be run to generate a table of correction values for the individual processor and then use this when the ADC s read. It's an unwelcome nuisance to have to do this for each processor. Another way is to take multiple readings (100 or more) and then average them. This wastes processor time and reduces the effective ADC rate.

                The Arduino ADC is far better than either, with no real issues with linearity, but the processor speed and memory capacity are quite low.

                I think where bit shifting is useful is where the signal is already acquired at the full ADC range, but then this relies on having enough headroom at the other end otherwise the output will be distorted through digital clipping.

                Comment

                gebze escort kurtköy escort maltepe escort
                pendik escort
                betticket istanbulbahis zbahis
                deneme bonusu veren siteler deneme bonusu veren siteler
                mobile casino no deposit bonus
                deneme bonusu veren siteler bonus veren
                deneme bonusu veren siteler deneme bonusu veren siteler
                bahis siteleri
                deneme bonusu deneme bonusu veren siteler Canlı casino siteleri
                mobilbahis rokubet
                güncel deneme bonusu
                deneme bonusu veren siteler bonus veren siteler
                bonus veren siteler
                deneme bonusu veren siteler
                deneme bonusu
                casino siteleri
                bodrum escort
                bahis siteleri
                casibom< giriş/a> betturkey
                atv-youth.org Deneme Bonusu Veren Siteler Deneme Bonusu Veren Siteler sherlockimmersive.com
                onwin
                alanya escort gaziantep escort gaziantep escort gaziantep escort mersin escort
                deneme bonusu
                deneme bonusu veren siteler
                Working...