def cpuTrial(): mark1 = intelpowergadget.mark() packets = 100 outputChunks = [] for i in xrange(packets): input_octets = ord('A') + np.random.random_integers(0,25,length) input_octets[:6] = map(ord, '%06d' % i) output = audioLoopback.processOutput(wifi.encode(input_octets, rate), Fs, Fc, upsample_factor, mask_noise) output *= 1 / np.abs(output).max() outputChunks.append(output) outputChunks.append(np.zeros((Fs/10, outputChunks[0].shape[1]))) outputChunks.append(np.zeros((Fs/2, outputChunks[0].shape[1]))) output = np.vstack(outputChunks) mark2 = intelpowergadget.mark() cycles_elapsed = intelpowergadget.count(mark1, mark2) samples_produced = output.shape[0] encoder_min_cpu_freq = cycles_elapsed * Fs / float(samples_produced) mark1 = intelpowergadget.mark() input = audioLoopback.processInput(output.mean(1), Fs, Fc, upsample_factor) count = len(wifi.decode(input)[0]) mark2 = intelpowergadget.mark() print count cycles_elapsed = intelpowergadget.count(mark1, mark2) decoder_min_cpu_freq = cycles_elapsed * Fs / float(samples_produced) return encoder_min_cpu_freq, decoder_min_cpu_freq
def cpuTrial(): mark1 = intelpowergadget.mark() packets = 100 outputChunks = [] for i in xrange(packets): input_octets = ord('A') + np.random.random_integers(0, 25, length) input_octets[:6] = map(ord, '%06d' % i) output = audioLoopback.processOutput(wifi.encode(input_octets, rate), Fs, Fc, upsample_factor, mask_noise) output *= 1 / np.abs(output).max() outputChunks.append(output) outputChunks.append(np.zeros((Fs / 10, outputChunks[0].shape[1]))) outputChunks.append(np.zeros((Fs / 2, outputChunks[0].shape[1]))) output = np.vstack(outputChunks) mark2 = intelpowergadget.mark() cycles_elapsed = intelpowergadget.count(mark1, mark2) samples_produced = output.shape[0] encoder_min_cpu_freq = cycles_elapsed * Fs / float(samples_produced) mark1 = intelpowergadget.mark() input = audioLoopback.processInput(output.mean(1), Fs, Fc, upsample_factor) count = len(wifi.decode(input)[0]) mark2 = intelpowergadget.mark() print count cycles_elapsed = intelpowergadget.count(mark1, mark2) decoder_min_cpu_freq = cycles_elapsed * Fs / float(samples_produced) return encoder_min_cpu_freq, decoder_min_cpu_freq
def thread_produce(self): packet = self.packetSource() if packet is not None: buf, rate = packet output = wifi.encode(np.fromstring(buf, dtype=np.uint8), rate) output = audioLoopback.processOutput(output, self.channel.Fs, self.channel.Fc, self.channel.upsample_factor, None) else: output = np.zeros((self.channel.Fs * .001,2)) return np.hstack((self.hp[0](output[:,0])[:,np.newaxis], self.hp[1](output[:,1])[:,np.newaxis]))
def thread_produce(self): input_octets = ord("A") + np.random.random_integers(0, 25, length) input_octets[:6] = map(ord, "%06d" % self.i) self.i += 1 output = wifi.encode(input_octets, rate) output = audioLoopback.processOutput(output, Fs, Fc, upsample_factor, None) if False: return output else: return np.hstack((self.hp[0](output[:, 0])[:, np.newaxis], self.hp[1](output[:, 1])[:, np.newaxis]))
def thread_produce(self): input_octets = ord('A') + np.random.random_integers(0, 25, length) input_octets[:6] = map(ord, '%06d' % self.i) self.i += 1 output = wifi.encode(input_octets, rate) output = audioLoopback.processOutput(output, Fs, Fc, upsample_factor, None, 100) if False: return output else: return np.hstack((self.hp[0](output[:, 0])[:, np.newaxis], self.hp[1](output[:, 1])[:, np.newaxis]))
def thread_produce(self): packet = self.packetSource() if packet is not None: buf, rate = packet output = wifi.encode(np.fromstring(buf, dtype=np.uint8), rate) output = audioLoopback.processOutput(output, self.channel.Fs, self.channel.Fc, self.channel.upsample_factor, None) else: output = np.zeros((self.channel.Fs * .001, 2)) return np.hstack((self.hp[0](output[:, 0])[:, np.newaxis], self.hp[1](output[:, 1])[:, np.newaxis]))
if doDiagnostics: decoderDiagnostics() elif args[0] == '--tx': startTransmitting() elif args[0] == '--wav-in' and len(args) > 1: input, Fs_file = util.readwave(args[1]) input = util.upsample(input, Fs / float(Fs_file)) input = audioLoopback.processInput(input, Fs, Fc, upsample_factor) for payload,_,_,lsnr_estimate in wifi.decode(input)[0]: print(repr(''.join(map(chr, payload))) + (' @ %.1f dB' % lsnr_estimate)) elif args[0] == '--wav-out' and len(args) > 1: fn = args[1] args = args[2:] packets = 1 while len(args): if args[0] == '--packets': packets = int(args[1]) args = args[2:] outputChunks = [] for i in xrange(packets): input_octets = ord('A') + np.random.random_integers(0,25,length) input_octets[:6] = map(ord, '%06d' % i) output = audioLoopback.processOutput(wifi.encode(input_octets, rate), Fs, Fc, upsample_factor, mask_noise) output *= 1 / np.abs(output).max() outputChunks.append(output) outputChunks.append(np.zeros((Fs/10, outputChunks[0].shape[1]))) outputChunks.append(np.zeros((Fs/2, outputChunks[0].shape[1]))) output = np.vstack(outputChunks) bytesPerSample = 3 util.writewave(fn, output, Fs, bytesPerSample)
input = util.upsample(input, Fs / float(Fs_file)) input = audioLoopback.processInput(input, Fs, Fc, upsample_factor) for payload, _, _, lsnr_estimate in wifi.decode(input)[0]: print( repr(''.join(map(chr, payload))) + (' @ %.1f dB' % lsnr_estimate)) elif args[0] == '--wav-out' and len(args) > 1: fn = args[1] args = args[2:] packets = 1 while len(args): if args[0] == '--packets': packets = int(args[1]) args = args[2:] outputChunks = [] for i in xrange(packets): input_octets = ord('A') + np.random.random_integers( 0, 25, length) input_octets[:6] = map(ord, '%06d' % i) output = audioLoopback.processOutput( wifi.encode(input_octets, rate), Fs, Fc, upsample_factor, mask_noise) output *= 1 / np.abs(output).max() outputChunks.append(output) outputChunks.append( np.zeros((Fs / 10, outputChunks[0].shape[1]))) outputChunks.append(np.zeros((Fs / 2, outputChunks[0].shape[1]))) output = np.vstack(outputChunks) bytesPerSample = 3 util.writewave(fn, output, Fs, bytesPerSample)