# transmit the samples, and retrieve samples back from the channel try: samples_rx = channel.xmit_and_recv(mod_samples) except ZeroDivisionError: # should only happen for audio channel print "I didn't get any samples; is your microphone or speaker OFF?" sys.exit(1) ################################# # process the received samples # make receiver r = Receiver(fc, opt.samplerate, opt.spb) demod_samples = r.demodulate(samples_rx) one, zero, thresh = r.detect_threshold(demod_samples) barker_start = r.detect_preamble(demod_samples, thresh, one) rcdbits = r.demap_and_check(demod_samples, barker_start) decoded_bits = r.decode(rcdbits) # push into sink sink = Sink() rcd_payload = sink.process(decoded_bits) if len(rcd_payload) > 0: hd, err = common_srcsink.hamming(decoded_bits, databits) print 'Hamming distance for payload at frequency', fc,'Hz:', hd, 'BER:', err else: print 'Could not recover transmission.' if opt.graph: len_mod = len(mod_samples) - opt.spb*opt.silence len_demod = len_mod - opt.spb*(len(src_payload) - len(rcd_payload))
# transmit the samples, and retrieve samples back from the channel try: samples_rx = channel.xmit_and_recv(mod_samples) except ZeroDivisionError: # should only happen for audio channel print "I didn't get any samples; is your microphone or speaker OFF?" sys.exit(1) ################################# # process the received samples # make receiver r = Receiver(fc, opt.samplerate, opt.spb) demod_samples = r.demodulate(samples_rx) one, zero, thresh = r.detect_threshold(demod_samples) barker_start = r.detect_preamble(demod_samples, thresh, one) rcdbits = r.demap_and_check(demod_samples, barker_start) decoded_bits = r.decode(rcdbits) # push into sink sink = Sink() rcd_payload = sink.process(databits)#sink.process(decoded_bits) if len(rcd_payload) > 0: hd, err = common_srcsink.hamming(decoded_bits, databits) print 'Hamming distance for payload at frequency', fc,'Hz:', hd, 'BER:', err else: print 'Could not recover transmission.' if opt.graph: len_mod = len(mod_samples) - opt.spb*opt.silence len_demod = len_mod - opt.spb*(len(src_payload) - len(rcd_payload))