def bits_to_samples(bits,samples_per_bit, npreamble=0, npostamble=0, v0 = 0.0, v1 = 1.0, repeat = 1): """ generate sequence of voltage samples: bits: binary message sequence npreamble: number of leading v0 samples npostamble: number of trailing v0 samples samples_per_bit: number of samples for each message bit v0: voltage to output for 0 bits v1: voltage to output for 1 bits repeat: how many times to repeat whole shebang """ samples = [v0]*npreamble for i in range(len(bits)): vnext = v0 if bits[i] == 0 else v1 samples = samples + [vnext]*samples_per_bit samples = samples + [v0]*npostamble return samples*repeat