Add initial Makefile and figure print. Change the wifi_loopback to direct output to result/

This commit is contained in:
Diyu
2015-11-04 15:09:09 -08:00
committed by Bastian Bloessl
parent 6148463e61
commit 06c2e09234
5 changed files with 45 additions and 7 deletions
+6
View File
@@ -0,0 +1,6 @@
all:
./wifi_loopback_noGUI.py -n $(n) -c $(c) -s $(s) -o $(o) -e $(e) -i $(i)
tshark -r result/ofdm_n$(n)_s$(s)_e$(e)_i$(i).pcap > result/n$(n)_s$(s)_e$(e)_i$(i).log
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/python
import glob, os, re
import matplotlib.pyplot as plt
x= []
y= []
path = "result/"
for filename in glob.glob(os.path.join(path, "*.log")):
pat = re.search(r"s(\d+.\d+)", filename)
pat2 = re.search(r"n(\d+)", filename)
if pat and pat2:
x.append(float(pat.group(1)))
receive = sum(1 for line in open(filename))
total = pat2.group(1)
y.append(receive/float(total))
plt.ylabel("PDR")
plt.xlabel("SNR")
plt.plot(x, y)
plt.show()
Executable
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
for s in 5.0 10.0 15.0 20.0
do
make n=10 c=1 s=$s o=0 e=0 i=500
done
+1 -1
View File
@@ -128,7 +128,7 @@
</param>
<param>
<key>file</key>
<value>/tmp/ofdm_n" + str(nmessages) + "_s" + str(snr) + "_e" + str(encoding) + "_i" + str(interval) + ".pcap</value>
<value>result/ofdm_n" + str(nmessages) + "_s" + str(snr) + "_e" + str(encoding) + "_i" + str(interval) + ".pcap</value>
</param>
<param>
<key>_coordinate</key>
+6 -6
View File
@@ -3,7 +3,7 @@
##################################################
# GNU Radio Python Flow Graph
# Title: Wifi Loopback Nogui
# Generated: Tue Nov 3 19:25:31 2015
# Generated: Wed Nov 4 13:47:34 2015
##################################################
import os
@@ -66,7 +66,7 @@ class wifi_loopback_noGUI(gr.top_block):
)
self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_gr_complex*1)
self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc(((10**(snr/10.0))**.5, ))
self.blocks_file_sink_0_0 = blocks.file_sink(gr.sizeof_char*1, "/tmp/ofdm_n" + str(nmessages) + "_s" + str(snr) + "_e" + str(encoding) + "_i" + str(interval) + ".pcap", False)
self.blocks_file_sink_0_0 = blocks.file_sink(gr.sizeof_char*1, "result/ofdm_n" + str(nmessages) + "_s" + str(snr) + "_e" + str(encoding) + "_i" + str(interval) + ".pcap", False)
self.blocks_file_sink_0_0.set_unbuffered(True)
##################################################
@@ -95,8 +95,8 @@ class wifi_loopback_noGUI(gr.top_block):
def set_encoding(self, encoding):
self.encoding = encoding
self.blocks_file_sink_0_0.open("/tmp/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
self.wifi_phy_hier_0.set_encoding(self.encoding)
self.blocks_file_sink_0_0.open("result/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
def get_freq_offset(self):
return self.freq_offset
@@ -110,22 +110,22 @@ class wifi_loopback_noGUI(gr.top_block):
def set_interval(self, interval):
self.interval = interval
self.blocks_file_sink_0_0.open("/tmp/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
self.blocks_file_sink_0_0.open("result/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
def get_nmessages(self):
return self.nmessages
def set_nmessages(self, nmessages):
self.nmessages = nmessages
self.blocks_file_sink_0_0.open("/tmp/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
self.blocks_file_sink_0_0.open("result/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
def get_snr(self):
return self.snr
def set_snr(self, snr):
self.snr = snr
self.blocks_file_sink_0_0.open("/tmp/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
self.blocks_multiply_const_vxx_0.set_k(((10**(self.snr/10.0))**.5, ))
self.blocks_file_sink_0_0.open("result/ofdm_n" + str(self.nmessages) + "_s" + str(self.snr) + "_e" + str(self.encoding) + "_i" + str(self.interval) + ".pcap")
def get_out_buf_size(self):
return self.out_buf_size