Пример #1
0
    def convert(self, input_signal: Signal) -> Signal:
        output_signal = input_signal.copy()
        self.gain.multiply_signal(output_signal)
        output_signal.samples = self._quantize(output_signal.samples)
        self.gain.divide_signal(output_signal)

        return output_signal
    def equalize_channel(
        self,
        signal: Signal,
        csi: ChannelStateInformation,
        snr: float = float('inf')) -> Signal:

        signal = signal.copy()
        signal.samples /= (csi.state[0, 0, :signal.num_samples, 0] + 1 / snr)

        return signal