Skip to content

Signal quality seems to be incorrect #11

Description

@dvdesolve

I've observed that signal quality doesn't belong to range [0..100] as it should be. For example when signal is very weak I see -215 and even smaller values. However for good signals all looks fine (near 100).

Signal quality is calculated in met_to_data.pas with the following statement:

m.sig_q:=round(100-(vit_get_percent_BER(m.v)*10));

Internally vit_get_percent_BER() do the following:

result:=(100*v.BER)/frame_bits;

while Viterbi decoder calculates BER with:

v.BER:=0;
for i:=0 to frame_bits*2-1 do v.BER:=v.BER+hard_correlate(input[i],$FF xor corrected[i]);

So something is definitely wrong because our final signal quality is not in the range [0..100] - seems like vit_get_percent_BER() gives us wrong output.

I've tried to eliminate factor 10 and got value approx 67 for very weak signal. Also I've tried to divide by frame_bits*2 and not frame_bits and still got negative values for weak signals.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions