print 'Parameters in experiment:' print '\tSamples per bit:', opt.spb print '\tChannel type:', ('Audio' if not opt.bypass else 'Bypass') if opt.bypass: print '\t Noise:', opt.noise, ' lag:', opt.lag, 'h: [', opt.h, ']' print '\tFrequency:', fc, 'Hz' print '\tHamming code n :', opt.cc_len ######################################################## #instantiate and run the source block src = Source(opt.monotone, opt.fname) src_payload, databits = src.process() # instantiate and run the transmitter block xmitter = Transmitter(fc, opt.samplerate, opt.one, opt.spb, opt.silence, opt.cc_len) coded_bits = xmitter.encode(databits) coded_bits_with_preamble = xmitter.add_preamble(coded_bits) samples = xmitter.bits_to_samples(coded_bits_with_preamble) mod_samples = xmitter.modulate(samples) #################################### # create channel instance if opt.bypass: h = [float(x) for x in opt.h.split(' ')] channel = bch.BypassChannel(opt.noise, opt.lag, h) else: channel = ach.AudioChannel(opt.samplerate, opt.chunksize, opt.prefill) # transmit the samples, and retrieve samples back from the channel try: samples_rx = channel.xmit_and_recv(mod_samples)
print '\tFrequency:', fc, 'Hz' print '\tSource coding:', ('On' if opt.compress else 'Off') print '\tChannel coding:', ('n = %d' % opt.cc_len if opt.cc_len!=0 else 'Off') print '\tEncryption:', ('On' if opt.encrypt else 'Off') ######################################################## #instantiate and run the source block src = Source(opt.monotone, opt.fname, opt.compress, opt.encrypt) src_bits, src_payload, databits, pubkey = src.process() # instantiate and run the transmitter block xmitter = Transmitter(fc, opt.samplerate, opt.one, opt.spb, opt.silence, opt.cc_len) if opt.cc_len!=0: databits = xmitter.encode(databits, opt.cc_len) databits_with_preamble = xmitter.add_preamble(databits) samples = xmitter.bits_to_samples(databits_with_preamble) mod_samples = xmitter.modulate(samples) #################################### # create channel instance if opt.bypass: h = [float(x) for x in opt.h.split(' ')] channel = bch.BypassChannel(opt.noise, opt.lag, h) #channel_2 = ach.AudioChannel(opt.samplerate, opt.chunksize, opt.prefill) else: channel = ach.AudioChannel(opt.samplerate, opt.chunksize, opt.prefill) # transmit the samples, and retrieve samples back from the channel try:
print '\tSource coding:', ('On' if opt.compress else 'Off') print '\tChannel coding:', ('n = %d' % opt.cc_len if opt.cc_len != 0 else 'Off') print '\tEncryption:', ('On' if opt.encrypt else 'Off') ######################################################## #instantiate and run the source block src = Source(opt.monotone, opt.fname, opt.compress, opt.encrypt) src_bits, src_payload, databits, pubkey = src.process() # instantiate and run the transmitter block xmitter = Transmitter(fc, opt.samplerate, opt.one, opt.spb, opt.silence, opt.cc_len) if opt.cc_len != 0: databits = xmitter.encode(databits, opt.cc_len) databits_with_preamble = xmitter.add_preamble(databits) samples = xmitter.bits_to_samples(databits_with_preamble) mod_samples = xmitter.modulate(samples) #################################### # create channel instance if opt.bypass: h = [float(x) for x in opt.h.split(' ')] channel = bch.BypassChannel(opt.noise, opt.lag, h) #channel_2 = ach.AudioChannel(opt.samplerate, opt.chunksize, opt.prefill) else: channel = ach.AudioChannel(opt.samplerate, opt.chunksize, opt.prefill) # transmit the samples, and retrieve samples back from the channel try: