|
LTE Primopredajnik
|
Test suite za ViterbiDecoder (hard-decision). Ciljevi testiranja: - provjera ispravnosti (happy path) - robusnost na neidealne ulaze (unhappy path) - ponašanje na rubnim slučajevima - determinističnost i konzistentnost izlaza Testovi: - ispituju isključivo ponašanje sistema
| tests.test_viterbi_decoder.make_encoder_decoder | ( | rate = 1/3 | ) |
Kreira standardni konvolucijski encoder i Viterbi dekoder.
Parametri
----------
rate : float
Kodna stopa (informativna za dekoder).
Povrat
------
enc : ConvolutionalEncoder
dec : ViterbiDecoder
| tests.test_viterbi_decoder.test_viterbi_empty_input | ( | ) |
EDGE CASE: Prazan ulaz → prazan izlaz.
| tests.test_viterbi_decoder.test_viterbi_happy_path_exact_recovery | ( | length | ) |
HAPPY PATH: Bez šuma i sa ispravnim generatorima, dekoder mora TAČNO vratiti originalne bitove.
| tests.test_viterbi_decoder.test_viterbi_ignores_wrong_rate | ( | wrong_rate | ) |
UNHAPPY PATH: Pogrešno specificiran rate NE SMIJE slomiti dekoder.
| tests.test_viterbi_decoder.test_viterbi_input_shorter_than_one_symbol | ( | ) |
EDGE CASE: Manje bitova nego n_out → nema dekodiranja.
| tests.test_viterbi_decoder.test_viterbi_is_deterministic | ( | ) |
DETERMINISTIČNOST: Isti ulaz → isti izlaz.
| tests.test_viterbi_decoder.test_viterbi_output_is_binary | ( | ) |
Izlaz dekodera mora sadržavati isključivo 0 i 1.
| tests.test_viterbi_decoder.test_viterbi_rate_does_not_affect_result | ( | ) |
REGRESIONI TEST: Različit rate ne smije promijeniti rezultat ako su generatori isti.
| tests.test_viterbi_decoder.test_viterbi_single_bit_input | ( | ) |
HAPPY PATH (minimalni slučaj): Dekodiranje jednog bita.
| tests.test_viterbi_decoder.test_viterbi_truncates_extra_bits | ( | ) |
UNHAPPY PATH: Višak bitova na ulazu se ignoriše, ali ako formira novi puni simbol, dekoder ga dekodira.
| tests.test_viterbi_decoder.test_viterbi_with_heavy_noise | ( | ) |
EXTREME UNHAPPY PATH: Jak šum → dekoder NE SMIJE pucati.
| tests.test_viterbi_decoder.test_viterbi_with_small_noise | ( | ) |
UNHAPPY PATH: Mali broj grešaka (bit flip) → dekoder i dalje radi.