# template tile for Lab #7, Task #4 import numpy import waveforms as w import lab7 import lab7_2 reload(lab7_2) # transmission rate bits_per_second = 20000 if __name__ == '__main__': # a random binary message with zeros at both ends to # ensure periodicity message_size = 30 message = numpy.zeros(message_size+2,dtype=numpy.int) message[1:-1] = numpy.random.randint(2,size=message_size) # send it through transmitter, modulate to legal freq near 125 kHz samples_per_bit = lab7.samples_per_bit(lab7.sample_rate, bits_per_second) fc = lab7.quantize_frequency(500e3,lab7.sample_rate, len(message)*samples_per_bit) rf = lab7.am_transmit(message,samples_per_bit,lab7.sample_rate, fc,lab7.channel_bw) ################################################## ## ADDED FOR TASK #4: a transmission delay ################################################## delayed_rf = rf.delay(nsamples=4) received = lab7_2.am_receive(delayed_rf,fc,samples_per_bit, lab7.channel_bw) if not numpy.array_equal(message,received): print "Error when listening to channel" print 'message: ',message print 'received:',received else: print "Message received correctly"