Skip to content

Signal quality seems to be incorrect #11

@dvdesolve

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