Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] TLC320AD80C audio output clipping
- To: linux-dvb@linuxtv.org
- Subject: [linux-dvb] TLC320AD80C audio output clipping
- From: Thomas Breuer <tb@tb-electronic.de>
- Date: Wed, 19 Mar 2003 12:01:35 +0100
- Content-transfer-encoding: 7bit
- Content-type: text/plain; charset=us-ascii
- Organization: tb electronic GmbH
- Sender: linux-dvb-bounce@linuxtv.org
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130
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