Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal quality seems to be incorrect #11

Open
dvdesolve opened this issue Jun 29, 2020 · 1 comment
Open

Signal quality seems to be incorrect #11

dvdesolve opened this issue Jun 29, 2020 · 1 comment

Comments

@dvdesolve
Copy link

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.

@dvdesolve
Copy link
Author

Actually it looks like a factor of 10.0 is erroneous. For Gaussian random noise source we should get about 50% of BER and in this case of 67% signal quality we're getting just 33% of BER.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant