Skip to content
Snippets Groups Projects
Commit 42c18b34 authored by Daniel Meißner's avatar Daniel Meißner Committed by Daniel Meißner
Browse files

live transmission: added comments

parent 72634d2e
No related branches found
No related tags found
No related merge requests found
...@@ -136,11 +136,15 @@ def main(top_block_cls=top_block, options=None): ...@@ -136,11 +136,15 @@ def main(top_block_cls=top_block, options=None):
output['tag'] = sys.argv[1] output['tag'] = sys.argv[1]
while True: while True:
# read data from msg queue and convert it to a numpy array
# counting ones in np array is faster then counting them in a sting
msg = tb.msgq_out.delete_head() msg = tb.msgq_out.delete_head()
samples = np.fromstring(msg.to_string(), dtype='float32') samples = np.fromstring(msg.to_string(), dtype='float32')
samples_len = len(samples) samples_len = len(samples)
# skip samples with only zeros
if np.count_nonzero(samples) != 0: if np.count_nonzero(samples) != 0:
# convert array to string
string = "" string = ""
for i in samples: for i in samples:
string += str(int(i)) string += str(int(i))
...@@ -151,13 +155,17 @@ def main(top_block_cls=top_block, options=None): ...@@ -151,13 +155,17 @@ def main(top_block_cls=top_block, options=None):
messages.append(string) messages.append(string)
time_added = time.time() time_added = time.time()
# output transmission block after 500ms
if time_added != 0 and (time.time()-time_added) > 0.5 : if time_added != 0 and (time.time()-time_added) > 0.5 :
# join message blocks
msg = "".join(messages) msg = "".join(messages)
# do some calculations
transmission_time = round(1/tb.samp_rate*(int(msg.count("1"))*1000), 2) transmission_time = round(1/tb.samp_rate*(int(msg.count("1"))*1000), 2)
first_one = msg.index("1") first_one = msg.index("1")
last_one = msg.rfind("1") last_one = msg.rfind("1")
real_transmission_time = round(1/tb.samp_rate*(int(last_one-first_one)*1000), 2) real_transmission_time = round(1/tb.samp_rate*(int(last_one-first_one)*1000), 2)
transmission_counter += 1 transmission_counter += 1
# magic value 700 ones in a row
if msg.find("1"*700) == -1: if msg.find("1"*700) == -1:
modulation = "ASK" modulation = "ASK"
else: else:
...@@ -184,7 +192,6 @@ def main(top_block_cls=top_block, options=None): ...@@ -184,7 +192,6 @@ def main(top_block_cls=top_block, options=None):
transmission['transmission_time'] = transmission_time transmission['transmission_time'] = transmission_time
transmission['real_transmission_time'] = real_transmission_time transmission['real_transmission_time'] = real_transmission_time
signal_blocks.append(transmission) signal_blocks.append(transmission)
output['signal_blocks'] = signal_blocks output['signal_blocks'] = signal_blocks
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment