Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
 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]))
Esempio n. 4
0
 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]))
Esempio n. 5
0
 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]))
Esempio n. 6
0
 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]))
Esempio n. 7
0
            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)
Esempio n. 8
0
            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)