diff options
Diffstat (limited to 'dpd/src/Test_data.py')
-rw-r--r-- | dpd/src/Test_data.py | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/dpd/src/Test_data.py b/dpd/src/Test_data.py deleted file mode 100644 index bbef282..0000000 --- a/dpd/src/Test_data.py +++ /dev/null @@ -1,136 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Modulation Error Rate -# -# http://www.opendigitalradio.org -# Licence: The MIT License, see notice at the end of this file - -import datetime -import os -import logging -import time -try: - logging_path = os.path.dirname(logging.getLoggerClass().root.handlers[0].baseFilename) -except: - logging_path = "/tmp/" - -import src.Const -import src.Dab_Util -import numpy as np -import matplotlib -matplotlib.use('agg') -import matplotlib.pyplot as plt - - -class Test_data: - def __init__(self, sample_rate, type): - """ - Standardized access to complex64 test data files. - - :param sample_rate: - :param type: - - Testing: - TD = src.Test_data.Test_data(8192000, 'file') - tx_orig = TD.get_symbol(0,0) - fig = plt.figure(figsize=(9,6)) - ax = fig.add_subplot(2,1,1) - ax.plot(tx_orig) - ax = fig.add_subplot(2,1,2) - plt.plot(np.angle(np.fft.fftshift(np.fft.fft(tx_orig))), 'p') - """ - - self.c = src.Const.Const(sample_rate,, False - self.du = src.Dab_Util.Dab_Util(sample_rate) - - self.file_paths = { - (2048000, 'file'): - ("./test_data/odr-dabmod_to_file_2048_NoFir_noDPD.iq", - ( - self.c.T_F + # Pipelineing - self.c.T_NULL + # NULL Symbol - self.c.T_S + # Synchronization Symbol - self.c.T_C # Cyclic Prefix - )), - (8192000, 'file'): - ("./test_data/odr-dabmod_to_file_8192_NoFir_noDPD.iq", - ( - self.c.T_F + # Pipelining - self.c.T_U + # Pipelining Resampler TODO(?) - self.c.T_NULL + # NULL Symbol - self.c.T_S + # Synchronization Symbol - self.c.T_C # Cyclic Prefix - )), - (8192000, 'rec_noFir'): - ("./test_data/odr-dabmod_reconding_8192_NoFir_DPD_2104.iq", - ( 64 )), - (8192000, 'rec_fir'): - ("./test_data/odr-dabmod_reconding_8192_Fir_DPD_2104.iq", - ( 232 )), - } - - config = (sample_rate, type) - if not config in self.file_paths.keys(): - raise RuntimeError("Configuration not found, possible are:\n {}". - format(self.file_paths)) - - self.path, self.file_offset = self.file_paths[(sample_rate, type)] - - def _load_from_file(self, offset, length): - print(offset, length, self.file_offset) - return self.du.fromfile( - self.path, - length=length, - offset=offset + self.file_offset) - - def get_symbol_without_prefix(self, - frame_idx=0, - symbol_idx=0, - off=0): - return self._load_from_file( - frame_idx*self.c.T_F + - symbol_idx*self.c.T_S + - off, - self.c.T_U) - - def get_symbol_with_prefix(self, - frame_idx=0, - symbol_idx=0, - n_symbols=1, - off=0): - offset = ( - frame_idx*self.c.T_F + - symbol_idx*self.c.T_S - - self.c.T_C + - off) - return self._load_from_file( offset, self.c.T_S * n_symbols) - - def get_file_length_in_symbols(self): - symbol_size = float( - 64/8 * # complex 64 - self.c.T_S # Symbol Size - ) - return os.path.getsize(self.path) / symbol_size - - -# The MIT License (MIT) -# -# Copyright (c) 2017 Andreas Steger -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. |