I see I am off on a tangent here. This is obviously a proposal to fix v4l2 when I should instead be addressing DVB. My bad! On Wednesday 12 April 2006 12:01 pm, Mac Michaels wrote: > On Wednesday 12 April 2006 09:57 am, Robert Schlabbach > > wrote: > > From: "Rusty Scott" <rustys@xxxxxxxx> > > > > > 1) That it be encouraged to report SNR in dB > > > whenever possible. > > > > I'm afraid most hardware is incapable of producing such > > measurements. Instead, I'd propose scaling all signal > > measurements to _percentages_. > > SNR (Signal to Noise Ratio) and Signal Strength are > different measurements of the RF signal. > > Signal Strength is difficult to compute for a particular > card. It is the actual level (quantity) of the signal > appearing on the RF input connector of the tuner for a > particular TV Channel. There are both internal (RF > frontend, AGC design, etc.) and external (antenna gain, > booster amplifiers) that may affect this value. In theory > a weak signal with a lot of noise will have the same > strength as a weak signal with little noise. In the first > case the signal may not be useable whereas it may be > acceptable in the second case. > > SNR is probably more useful as it is more indicative of > the quality of the signal received rather than just the > quantity. SNR is a ratio in dB. Increasing positive > values indicate that the signal is stronger than the > noise. Negative values indicate that the noise is > stronger than the signal. SNR is less affected by > internal and external influences because additional > amplification/attenuation usually affect the signal and > the noise equally. > > I am not familiar with DVB chips. They may provide signal > strength directly. The chips supported by the lgdt330x > driver provide SNR directly. The specification gives the > exact formula to compute SNR in dB for any value read > from the chip. > > SNR is not in the "Video for Linux Two API Specification > Draft 0.13". I have no problem reporting SNR in dB or as > a percentage of full scale. Either way the value returned > is useful for aiming an antenna or indicating cable > connection problems. I propose adding some more details > to the "Video for Linux Two API Specification": > > 1) Change the "signal" field in struct v4l2_tuner from > unsigned 32bit int to signed 32bit int. > > 2) Describe each of the different values that may be > returned in the "signal" field in struct v4l2_tuner. > > 3) Define new "capability" flags for struct v4l2_tuner : > V4L2_TUNER_CAP_SS driver returns signal strength as > signal value. > V4L2_TUNER_CAP_SNR driver returns SNR as signal value. > V4L2_TUNER_CAP_SIG_DB driver returns signal value in > dB. V4L2_TUNER_CAP_SIG_PCT driver returns signal value as > a percent of full scale. > V4L2_TUNER_CAP_SIG_X1 driver returns signal value as an > integer. (-xdB to +xdB or 0% to 100%) > V4L2_TUNER_CAP_SIG_X10 driver returns signal value as > tenths of a unit. (-x.xdB to +x.xdB or 0.0% to 100.0%) > V4L2_TUNER_CAP_SIG_X100 driver returns signal value as > hundredths of a unit. (-x.xxdB to +x.xxdB or 0.00% to > 100.00%) > > Where: > > V4L2_TUNER_CAP_SS and V4L2_TUNER_CAP_SNR are mutually > exclusive. > > V4L2_TUNER_CAP_SIG_DB and V4L2_TUNER_CAP_SIG_PCT are > mutually exclusive. > > V4L2_TUNER_CAP_SIG_X1 and V4L2_TUNER_CAP_SIG_X10 and > V4L2_TUNER_CAP_SIG_X100 are mutually exclusive. > > Each driver would set the "capability" according to what > value is returned in "signal" by the driver. > > > Regards, > > -- > > Robert Schlabbach > > e-mail: robert_s@xxxxxxx > > Berlin, Germany > > _______________________________________________ > > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb