summaryrefslogtreecommitdiffstats
path: root/dpd/src/Test_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'dpd/src/Test_data.py')
-rw-r--r--dpd/src/Test_data.py136
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.