About: Statistics Generation

The statistics used to create the charts and reports come from several sources. The flow of the MPTS through the monitoring system and key processing blocks involved in statistics generation are diagrammed below.

Many of the statistics utilized in the tuner/demodulator charts are generated within the HDHomerun itself and acquired from the tuner/demodulator. These statistics, for example signal strength and quality, are snapshots of the value at the time the statistics were polled.

Some of the statistics, however, are generated on the monitoring host via HDHomerun’s software driver (libhdhomerun). The statistics generated at this level are subject to data loss or errors which may occur in the network connection between the HDHomerun and the monitoring host or due to buffer overflows within the host.

In addition, it should be noted that the transport error statistic counts the number of packets with the transport error indicator set. This bit may have been set by the demodulator in the HDHomerun, or may have been set prior to transmission. While knowing the number of packets with errors is interesting, from a receiver standpoint a more useful metric is the number of errors that were corrected and not corrected by Reed-Solomon coding. The number of corrected/uncorrected errors provides a good measure of how well the demodulator is able to interpret the digital signal. While most demodulators make the Reed-Solomon information available, the HDHomerun devices presently do not expose these values.

The MPTS report is generated by the MPTS capture software as it receives the MPTS from the HDHomerun driver. It operates solely on the MPTS and does not utilize other information provided by the HDHomerun device or its driver.

PSI/PSIP processing and MPTS recording occur after the MPTS has been stored in a capture buffer. PSI/PSIP processing is at this level as a legacy of DVR program recording and has the following limitations:

  • While most tables are processed continually, the monitor uses one PMT processing element which rotates among all programs in a PAT. This is done to bound processing requirements, since in theory a very large number of programs can exist in an MPTS (consider, for example, music or audio-only channels).