def test_eye_diagram_no_channel(receiver, transmitter, SAVED=False):
    plt.figure()
    receiver.plot_eye_diagram_no_channel(transmitter)
    if SAVED:
        myplt.save_current('eye_rx_%s_no_ch_2.png' % receiver.name, 'PLOT')


if __name__ == "__main__":
    T_pulse = 1  # sec
    Fs = 32  # samples/sec per pulse
    alpha = 0.5
    K = 4
    noise_var = 0

    hs_tx = tx.HalfSineTransmitter(T_pulse, Fs)
    hs_rx = rx.MatchedReceiver(hs_tx)

    srrc_tx = tx.SRRCTransmitter(alpha, T_pulse, Fs, K)
    srrc_rx = rx.MatchedReceiver(srrc_tx)

    # channel impulse responses - modeled as an LTI system with finite impulse response
    h_test = np.array([1, 1 / 2, 3 / 4, -2 / 7])
    ch_test = chnl.Channel(h_test, np.ones(1), Fs, T_pulse, 'Test')

    transmitters = [hs_tx, srrc_tx]
    receivers = [hs_rx, srrc_rx]

    random_bits = np.random.randint(2, size=10)  # to test transmission

    for receiver, transmitter in zip(receivers, transmitters):
        print('Working on- Receiver: ', receiver.name, ', Transmitter: ',
Exemplo n.º 2
0
    random_bits = np.random.randint(2, size=10)  # to test transmission
    # channel impulse responses - modeled as an LTI system with finite impulse response
    #h_test = np.array([1, 1/2, 3/4, -2/7])
    #ch_test = chnl.Channel(h_test, np.ones(1), Fs, T_pulse, 'Test')

    #ch_test = chnl.IndoorChannel(Fs, T_pulse)
    ch_test = chnl.OutdoorChannel(Fs, T_pulse)

    eq_zf = eqz.ZFEqualizer(ch_test, Fs, T_pulse)
    eq_mmse = eqz.MMSEEqualizer(ch_test, Fs, T_pulse, noise_var=noise_var)
    equalizers = [eq_zf, eq_mmse]

    # transmitter and receiver -
    #tx_test = tx.HalfSineTransmitter(T_pulse, Fs)
    tx_test = tx.SRRCTransmitter(alpha, T_pulse, Fs, K)
    rx_test = rx.MatchedReceiver(tx_test)

    for equalizer in equalizers:
        print('Working on- Equalizer: ', equalizer.name, ', Channel: ',
              ch_test.name, ' ...')

        #test_equalizer_response(equalizer, noise = noise_var, SAVED = True)
        #test_equalization_only_channel(equalizer, ch_test, , random_bits, Fs)
        #test_equalization_no_noise(equalizer, ch_test, tx_test, rx_test, random_bits)
        test_eye_diagram(equalizer,
                         ch_test,
                         tx_test,
                         rx_test,
                         noise_var=noise_var,
                         SAVED=True)
        #test_sampling(equalizer, ch_test, tx_test, rx_test, random_bits)