コード例 #1
0
ファイル: Signal.py プロジェクト: ehagerty/urh
    def __init__(self,
                 filename: str,
                 name="Signal",
                 modulation: str = None,
                 sample_rate: float = 1e6,
                 parent=None):
        super().__init__(parent)
        self.__name = name
        self.__tolerance = 5
        self.__samples_per_symbol = 100
        self.__pause_threshold = 8
        self.__message_length_divisor = 1
        self.__costas_loop_bandwidth = 0.1
        self._qad = None
        self.__center = 0
        self._noise_threshold = 0
        self.__sample_rate = sample_rate
        self.noise_min_plot = 0
        self.noise_max_plot = 0
        self.block_protocol_update = False

        self.iq_array = IQArray(None, np.int8, 1)

        self.wav_mode = filename.endswith(".wav")
        self.__changed = False
        if modulation is None:
            modulation = "FSK"
        self.__modulation_type = modulation
        self.__bits_per_symbol = 1
        self.__center_spacing = 1  # required for higher order modulations

        self.__parameter_cache = {
            mod: {
                "center": None,
                "samples_per_symbol": None
            }
            for mod in self.MODULATION_TYPES
        }

        self.__already_demodulated = False

        if len(filename) > 0:
            if self.wav_mode:
                self.__load_wav_file(filename)
            elif filename.endswith(".coco"):
                self.__load_compressed_complex(filename)
            else:
                self.__load_complex_file(filename)

            self.filename = filename
            self.noise_threshold = AutoInterpretation.detect_noise_level(
                self.iq_array.magnitudes)
        else:
            self.filename = ""
コード例 #2
0
    def __init__(self,
                 filename: str,
                 name="Signal",
                 modulation: str = None,
                 sample_rate: float = 1e6,
                 parent=None):
        super().__init__(parent)
        self.__name = name
        self.__tolerance = 5
        self.__bit_len = 100
        self.__pause_threshold = 8
        self.__message_length_divisor = 1
        self._qad = None
        self.__qad_center = 0
        self._noise_threshold = 0
        self.__sample_rate = sample_rate
        self.noise_min_plot = 0
        self.noise_max_plot = 0
        self.block_protocol_update = False

        self.wav_mode = filename.endswith(".wav")
        self.__changed = False
        if modulation is None:
            modulation = "FSK"
        self.__modulation_type = self.MODULATION_TYPES.index(modulation)
        self.__modulation_order = 2

        self.__parameter_cache = {
            mod: {
                "qad_center": None,
                "bit_len": None
            }
            for mod in self.MODULATION_TYPES
        }

        if len(filename) > 0:
            if self.wav_mode:
                self.__load_wav_file(filename)
            elif filename.endswith(".coco"):
                self.__load_compressed_complex(filename)
            else:
                self.__load_complex_file(filename)

            self.filename = filename
            self.noise_threshold = AutoInterpretation.detect_noise_level(
                self.iq_array.magnitudes)
        else:
            self.filename = ""
コード例 #3
0
ファイル: Signal.py プロジェクト: jopohl/urh
    def __init__(self, filename: str, name: str, modulation: str = None, sample_rate: float = 1e6, parent=None):
        super().__init__(parent)
        self.__name = name
        self.__tolerance = 5
        self.__bit_len = 100
        self.__pause_threshold = 8
        self.__message_length_divisor = 1
        self._qad = None
        self.__qad_center = 0
        self._noise_threshold = 0
        self.__sample_rate = sample_rate
        self.noise_min_plot = 0
        self.noise_max_plot = 0
        self.block_protocol_update = False

        self.wav_mode = filename.endswith(".wav")
        self.__changed = False
        if modulation is None:
            modulation = "FSK"
        self.__modulation_type = self.MODULATION_TYPES.index(modulation)
        self.__modulation_order = 2

        self.__parameter_cache = {mod: {"qad_center": None, "bit_len": None} for mod in self.MODULATION_TYPES}

        if len(filename) > 0:
            if self.wav_mode:
                self.__load_wav_file(filename)
            elif filename.endswith(".coco"):
                self.__load_compressed_complex(filename)
            else:
                self.__load_complex_file(filename)

            self.filename = filename
            self.noise_threshold = AutoInterpretation.detect_noise_level(np.abs(self.data))
        else:
            self.filename = ""