Skip to contentSkip to conversation

Why Parameter 'INVERSION' is really needed?

linux-dvb [email protected] 2 participants 4 messages Sep 16, 2008 – Sep 17, 2008 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi,

By looking at the actual proposals for DVB API and trying to understand what happens there some questions arised to me. May be someone can give some answer on this items.

What is the *real need* for giving applications the possibility of I-Q-Inversion? Why this strange one is included in next API's?

If i understand this parameter correctly it swaps I and Q inputs of an qam capable receiver. But otherwise that means that somewhere in the reception chain some real mistake was made, either on hardware or driver side.

And if some inversion is needed it should be corrected inside the dvb frontend, since for such piece of hardware *always* this inversion is needed. Correcting this later on application level is terrible, since somebody may use hardware with different inversion settings inside the same application with the very same channel definition.

By looking on EN300468 nowhere 'inversion' is stated, channel definition is made by:

DVB-T
* centre_frequency
* bandwidth
* priority
* Time_Slicing_indicator
* MPE-FEC_indicator
* constellation
* hierarchy_information
* code_rate-HP_stream
* code_rate-LP_stream
* guard_interval
* transmission_mode

DVB-C uses
* frequency
* FEC_outer
* modulation
* symbol_rate
* FEC_inner

DVB-S/S2
* frequency
* orbital_position
* west_east_flag
* polarization
* modulation_system
* roll off
* modulation_type
* symbol_rate

Therefore my question: Is it possible to skip Inversion property in future API's at all? Or are other standards out there where this channel property explicitely stated?

Are these following parameters missing or only named misleading? If so, what are there names?
* MPE-FEC_indicator (DVB-T)
* FEC_OUTER (DVB-C)

Why was DVB-T Hierachy split into two different parameters, Alpha and Hierarchy? One Parameter seems to be enough? EN300468 says

000 non-hierarchical, native interleaver
001 α = 1, native interleaver
010 α = 2, native interleaver
011 α = 4, native interleaver
100 non-hierarchical, in-depth interleaver
101 α = 1, in-depth interleaver
110 α = 2, in-depth interleaver
111 α = 4, in-depth interleaver

Sorry for this huge bunch of questions,
Winfried

Signature · 7 lines
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#1 lore raw
Quoted 5 lines · [email protected] wrote:

What is the *real need* for giving applications the possibility of I-Q-Inversion? Why this strange one is included in next API's?

If i understand this parameter correctly it swaps I and Q inputs of an qam capable receiver. But otherwise that means that somewhere in the reception chain some real mistake was made, either on hardware or driver side.

And if some inversion is needed it should be corrected inside the dvb frontend, since for such piece of hardware *always* this inversion is needed. Correcting this later on application level is terrible, since somebody may use hardware with different inversion settings inside the same application with the very same channel definition.

If you find two devices which need different inversion settings in the same network, then it's a driver bug, which can easily be corrected.

Spectral inversion depends on the transmitter, too. It can change anytime a broadcaster decides to change it. It happens, although not very often.

Specifying the inversion parameter can speed up the tuning process, especially for devices which don't support automatic swapping in hardware. But I would not recommend to store this parameter in a service list.

If we decide to keep the parameter, we should probably use four options:
INVERSION_OFF, INVERSION_ON, INVERSION_AUTO_OFF_FIRST,
INVERSION_AUTO_ON_FIRST, which matches the capabilities of most demodulators. A typical application would then probably use only the last two options, while the first two options would rather be used for diagnostics and to read back the detected inversion.

Regards,
Andreas

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

author
#2 lore raw
Quoted 4 lines · Andreas Oberritter
Quoted 2 lines · [email protected] wrote:

What is the *real need* for giving applications the possibility of I-Q-Inversion? Why this strange one is included in next API's?

Quoted 9 lines
Quoted 4 lines

If i understand this parameter correctly it swaps I and Q inputs of an qam capable receiver. But otherwise that means that somewhere in the reception chain some real mistake was made, either on hardware or driver side.

And if some inversion is needed it should be corrected inside the dvb frontend, since for such piece of hardware *always* this inversion is needed. Correcting this later on application level is terrible, since somebody may use hardware with different inversion settings inside the same application with the very same channel definition.

If you find two devices which need different inversion settings in the same network, then it's a driver bug, which can easily be corrected.

How can this be a drivers bug, if in the dvb api documentation no *default value* for inversion was ever defined?
Seems to be a bug inside API (linux-dvb-api-1.0.0.pdf, see
http://www.linuxtv.org/docs.php).

Quoted 9 lines

Spectral inversion depends on the transmitter, too. It can change anytime a broadcaster decides to change it. It happens, although not very often.

Specifying the inversion parameter can speed up the tuning process, especially for devices which don't support automatic swapping in hardware. But I would not recommend to store this parameter in a service list.

Quoted 9 lines

If we decide to keep the parameter, we should probably use four options:
INVERSION_OFF, INVERSION_ON, INVERSION_AUTO_OFF_FIRST,
INVERSION_AUTO_ON_FIRST, which matches the capabilities of most demodulators. A typical application would then probably use only the last two options, while the first two options would rather be used for diagnostics and to read back the detected inversion.

May be. But since the application cannot get any information about transmitters inversion only AUTO makes sense here, neither ON or OFF. No information field is reserved for inversion inside terrestrial delivery system descriptor and cable delivery system descriptor, so applications are not able to figure out useful settings from NIT. Please try to see this from the application side, not from hardware point of view.

Regards,
Winfried

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#3 lore raw
Quoted 9 lines · wk
Quoted 4 lines · Andreas Oberritter

If you find two devices which need different inversion settings in the same network, then it's a driver bug, which can easily be corrected.

How can this be a drivers bug, if in the dvb api documentation no *default value* for inversion was ever defined?
Seems to be a bug inside API (linux-dvb-api-1.0.0.pdf, see
http://www.linuxtv.org/docs.php).

Common sense says that the default value is not inverted.

Quoted 18 lines
Quoted 9 lines

Spectral inversion depends on the transmitter, too. It can change anytime a broadcaster decides to change it. It happens, although not very often.

Specifying the inversion parameter can speed up the tuning process, especially for devices which don't support automatic swapping in hardware. But I would not recommend to store this parameter in a service list.

Quoted 9 lines

If we decide to keep the parameter, we should probably use four options:
INVERSION_OFF, INVERSION_ON, INVERSION_AUTO_OFF_FIRST,
INVERSION_AUTO_ON_FIRST, which matches the capabilities of most demodulators. A typical application would then probably use only the last two options, while the first two options would rather be used for diagnostics and to read back the detected inversion.

Quoted 7 lines

May be. But since the application cannot get any information about transmitters inversion only AUTO makes sense here, neither ON or OFF. No information field is reserved for inversion inside terrestrial delivery system descriptor and cable delivery system descriptor, so applications are not able to figure out useful settings from NIT. Please try to see this from the application side, not from hardware point of view.

Well, that's essentially what I wrote: Use AUTO in a typical application. All frontend devices support it, either in software or in hardware.

Regards,
Andreas

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb