From 7ebd609b4f4139f4dac8627ac00678de89ef4575 Mon Sep 17 00:00:00 2001 From: Andreas Bogk Date: Thu, 15 Jan 2009 17:17:29 +0100 Subject: Viterbi generator by Piotr Krysik. --- viterbi_generator/tests/test_check.m | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 viterbi_generator/tests/test_check.m (limited to 'viterbi_generator/tests/test_check.m') diff --git a/viterbi_generator/tests/test_check.m b/viterbi_generator/tests/test_check.m new file mode 100755 index 0000000..a08c801 --- /dev/null +++ b/viterbi_generator/tests/test_check.m @@ -0,0 +1,56 @@ +#!/usr/bin/octave --silent +addpath("./tests/utils"); +addpath("./utils"); +addpath("./utils/lower_utils"); +addpath("./utils/lower_utils/lower_utils"); + +arg_list=argv(); +Lh=sscanf(arg_list{1}, "%d", "C"); +PATHS_NUM=2**(Lh); +load tests/data/rhh.dat; +load tests/data/normal_burst.dat; +load test_result; + +[r BURST_SIZE] = size(normal_burst); + +[ SYMBOLS , PREVIOUS , NEXT , START , STOPS ] = viterbi_init(Lh); + +path_metrics_test_result = path_metrics_test_result.'; +[rx_burst METRIC] = viterbi_detector(SYMBOLS,NEXT,PREVIOUS,START,STOPS,normal_burst,Rhh); +[r,burst_size] = size(METRIC); +sum_check=0; %number of errors + +%find branch metrics computation errors number (errors bigger than 1000) +for i=1:2:burst_size, + check_matrix = (abs(METRIC(1:2:r,i)-path_metrics_test_result(:,i))); + suma=sum( check_matrix > ones(PATHS_NUM,1)*1000); + sum_check = sum_check + suma; + + check_matrix = (abs(METRIC(2:2:r,i+1)-path_metrics_test_result(:,i+1))); + suma=sum( check_matrix > ones(PATHS_NUM,1)*1000); + sum_check = sum_check + suma; +end + +%compute expected number of errors (errors from the beginning) +q=2; +expected_result=0; +while(q