Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] TLC320AD80C audio output clipping



I have noticed some audio clipping with my rev 1.3 DVB-S cards at
maximum volume setting and traced down the problem by scope measurements
with 0dBfs sine wave test files and the TLC320AD80C data sheet:

- Section 2.2.2 on page 2-8 defines 2.8Vpp typical full scale output
  voltage on the EXT OUTL and EXT OUTR pins. A measurement confirmed
  the 2.8Vpp with 0dBfs digital input signals. Typically, these outputs
  would be AC coupled to the volume and balance external inputs, which
  is done on the rev 1.3 DVB-S boards.

- Section 2.2.1 on page 2-7/2-8 defines the typical full scale output
  voltage of the volume/balance block (AUDIO LEFT and AUDIO RIGHT pins)
  also to be 2.8Vpp.

- The volume control of the volume/balance block provides a range of
  -62dB...+6dB (page 2-8), i.e. the signal at AUDIO LEFT and AUDIO RIGHT
  is amplified by 6dB at maximum volume setting. This would require
  5.6Vpp output swing at 0dBfs input, even more than actually possible
  with a 5V supply. This limitation is not mentioned. It is only noted
  that "Alternate connections may include external analog functions
  located before the volume and balance input." A 6dB attenuator would
  be required here to use the full -62...+6dB volume control range.

There is some margin above the specified 2.8Vpp (my cards deliver up to
approx. 4Vpp without distortion) so that a limitation to +3dB works fine
here.

For a +3dB limit I changed the divisor to 989 and the max. value of
volleft and volright to 0x42 in the TI related code. To be fully
compliant to the specs (no further amplification) the values should be
1036 and 0x3F, respectively.

---- original code (dvb.c, av7110.c) ----

        case DVB_ADAC_TI:
                volleft=(volleft*256)/946;
                volright=(volright*256)/946;
                if (volleft > 0x45)
                        volleft=0x45;
                if (volright > 0x45)
                        volright=0x45;

In contrast to TI, the CRYSTAL chip is specified to deliver 3.5Vpp @ 5V
supply. Also, the volume control block does *not* amplify the signal
any further at the maximum volume setting, so there shouldn't be any
level problems (based on the CS4341 data sheet, I don't have a rev
1.5/1.6 card).

BTW, the maximum audio level of most TV stations is well below 0dBfs so
that even a 6dB amplification won't cause clipping. But there are many
stations with higher levels. MTV Central and some French radio stations
have a very high audio level with peaks always at 0dBfs. Moreover, DVDs
generally make use of the full dynamic range.

Thomas





-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index