# template tile for Lab #7, Task #5 import numpy import waveforms as w # parameters that control the encoding sample_rate = 1e6 bits_per_second = 30000 samples_per_bit = int(sample_rate/bits_per_second) # convert message bits into samples, then use samples # to modulate the amplitude of sinusoidal carrier def am_transmit(bits,samples_per_bit,fc): pass # your code here # receive amplitude-modulated transmission: def am_receive(samples,fc,samples_per_bit): pass # your code here if __name__ == '__main__': message_size = 32 # a random binary message message = numpy.random.randint(2,size=message_size) # run transmitter fc = 125e3 # carrier frequency xmit_out = am_transmit(message,samples_per_bit,fc) ################################################## ## ADDED FOR TASK #5: try different transmission delays ################################################## for delay in xrange(8): print "%d-sample delay:" % delay delayed_xmit_out = xmit_out.delay(nsamples=delay) # run receiver received = am_receive(delayed_xmit_out,fc,samples_per_bit) # report results print ' message: ',message print ' received:',received if not numpy.array_equal(message,received): print ' => differences' else: print ' => message received okay'