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: ',
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)