Skip to content
Snippets Groups Projects
Commit ac5cd3f9 authored by Daniel van der Schuur's avatar Daniel van der Schuur
Browse files

-Stripped compare method.

parent 52c33b20
No related branches found
No related tags found
No related merge requests found
......@@ -18,10 +18,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import sys
from common import *
#import matplotlib
#matplotlib.use('TkAgg')
from common_dsp import *
from mem_init_file import list_to_hex
......@@ -307,41 +305,19 @@ correlator_src_out_arr_ref = correlate(correlator_snk_in_arr_int, INTEGRATION_PE
# Read test bench output file written by dp_stream_rec_play.vhd
correlator_src_out_arr = rec_file_to_complex(REC_FILE, complex_width=CORRELATOR_OUTPUT_COMPLEX_WIDTH)
def nozero(input_nr):
"""
Returns a/b when b is non-zero. Otherwise returns almost zero.
"""
if not(input_nr==0):
return input_nr
else:
return 0.00000000000000000000000000000000000001
import sys
def compare_correlator_src_out_arr(vhdl_out, model_out, max_deviation_factor):
def compare_correlator_src_out_arr(vhdl_out, model_out):
"""
Compare the VHDL correlator's output to the Python model output.
. A max_deviation_factor (0..1) is allowed in both the real and the imaginary
values -> 1% max = 0.01
. A too great deviation results in a False being returned.
"""
passed = True
channel_nr = 0
for vhdl_channel,model_channel in zip(vhdl_out, model_out):
vis_nr = 0
for vhdl_visibility,model_visibility in zip(vhdl_channel, model_channel):
diff_re = abs(model_visibility.real-vhdl_visibility.real) / nozero(abs(model_visibility.real))
diff_im = abs(model_visibility.imag-vhdl_visibility.imag) / nozero(abs(model_visibility.imag))
if diff_re>max_deviation_factor or diff_im>max_deviation_factor:
if not(vhdl_visibility==model_visibility):
print 'compare_correlator_src_out_arr: FAILED'
print '. channel', channel_nr, 'visibility', vis_nr
print ' . diff_re', diff_re
print ' . model_visibility.real', model_visibility.real
print ' . vhdl_visibility.real', vhdl_visibility.real
print ' . diff_im', diff_im
print ' . model_visibility.imag', model_visibility.imag
print ' . vhdl_visibility.imag', vhdl_visibility.imag
print ' . model:', model_visibility
print ' . VHDL :', vhdl_visibility
sys.exit()
vis_nr+=1
channel_nr+=1
......@@ -349,7 +325,7 @@ def compare_correlator_src_out_arr(vhdl_out, model_out, max_deviation_factor):
print 'corr out', correlator_src_out_arr[0]
print 'corr ref', correlator_src_out_arr_ref[0]
compare_correlator_src_out_arr(correlator_src_out_arr, correlator_src_out_arr_ref, 0.001)
compare_correlator_src_out_arr(correlator_src_out_arr, correlator_src_out_arr_ref)
def plot_phase_shifts(correlator_output):
"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment