simulations: adapt makefile
This commit is contained in:
@@ -1,57 +1,29 @@
|
|||||||
ifdef DIR
|
SHELL=/bin/bash
|
||||||
result_dir = $(DIR)
|
|
||||||
else
|
|
||||||
DIR := $(shell date '+%m_%d__%H_%M_%S')
|
|
||||||
result_dir := result_$(DIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
trials := 10
|
MESSAGES=100
|
||||||
packets := 50
|
|
||||||
min_snr := -2
|
|
||||||
max_snr := 25
|
|
||||||
snr_steps := 1
|
|
||||||
interval := 100
|
|
||||||
|
|
||||||
# logfile name: loop_(trials)_(npackets)_(snr)_(encoding)_interval
|
PCAPFILES=$(shell python -c 'import itertools; import numpy as np; print(" ".join(["results/sim_%d_%d_%.1f_.pcap" % x for x in itertools.product(range(20), range(8), np.arange(0, 30,.5))]))')
|
||||||
LOGFILES=$(shell /bin/bash -c "echo $(result_dir)/loop_{1..$(trials)}_$(packets)_{$(min_snr)..$(max_snr)..$(snr_steps)}.0_{0..7}_$(interval).log")
|
|
||||||
PCAPFILES=$(shell /bin/bash -c "echo $(result_dir)/ofdm_{1..$(trials)}_$(packets)_{$(min_snr)..$(max_snr)..$(snr_steps)}.0_{0..7}_$(interval).pcap")
|
|
||||||
|
|
||||||
all: $(result_dir)/plot.png
|
all: pdr.pdf
|
||||||
|
|
||||||
# Will parse logfiles and create a plot
|
pdr.pdf: plot.py results/all.csv
|
||||||
$(result_dir)/plot.png: $(LOGFILES)
|
python -c 'execfile("./plot.py")'
|
||||||
./parse.py $(result_dir) $(trials)
|
|
||||||
|
|
||||||
%.pcap:
|
sim.py: sim.grc
|
||||||
|
grcc -d . sim.grc
|
||||||
|
|
||||||
|
results/all.csv: $(PCAPFILES)
|
||||||
|
./parse.sh
|
||||||
|
|
||||||
|
%.pcap: sim.py
|
||||||
@echo $@
|
@echo $@
|
||||||
$(eval PARAMS=$(shell python -c "print \"$@\".split(\"/\")[1]"))
|
mkdir -p results
|
||||||
@echo PARAMS=$(PARAMS)
|
$(eval REPETITION=$(shell python -c "print \"$@\".split(\"_\")[1]"))
|
||||||
$(eval TRIAL=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[1]"))
|
$(eval ENCODING=$(shell python -c "print \"$@\".split(\"_\")[2]"))
|
||||||
$(eval NPKTS=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[2]"))
|
$(eval SNR=$(shell python -c "print \"$@\".split(\"_\")[3]"))
|
||||||
$(eval SNR=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[3]"))
|
@echo REPETITION=$(REPETITION)
|
||||||
$(eval ENC=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[4]"))
|
@echo ENCODING=$(ENCODING)
|
||||||
$(eval INTVL=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[5][:-5]"))
|
|
||||||
@echo TRIAL=$(TRIAL)
|
|
||||||
@echo NPKTS=$(NPKTS)
|
|
||||||
@echo SNR=$(SNR)
|
@echo SNR=$(SNR)
|
||||||
@echo ENC=$(ENC)
|
./sim.py --messages=$(MESSAGES) --encoding=$(ENCODING) --snr=$(SNR) --repetition=$(REPETITION)
|
||||||
@echo INTVL=$(INTVL)
|
|
||||||
$(shell mkdir -p $(result_dir))
|
|
||||||
./wifi_loopback_noGUI.py -t $(TRIAL) -n $(NPKTS) -c 1 -s $(SNR) -o 0 -e $(ENC) -i $(INTVL) -r $(result_dir)
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
%.log: $(PCAPFILES)
|
|
||||||
@echo $@
|
|
||||||
$(eval PARAMS=$(shell python -c "print \"$@\".split(\"/\")[1]"))
|
|
||||||
@echo PARAMS=$(PARAMS)
|
|
||||||
$(eval TRIAL=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[1]"))
|
|
||||||
$(eval NPKTS=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[2]"))
|
|
||||||
$(eval SNR=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[3]"))
|
|
||||||
$(eval ENC=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[4]"))
|
|
||||||
$(eval INTVL=$(shell python -c "print \"$(PARAMS)\".split(\"_\")[5][:-4]"))
|
|
||||||
@echo TRIAL=$(TRIAL)
|
|
||||||
@echo NPKTS=$(NPKTS)
|
|
||||||
@echo SNR=$(SNR)
|
|
||||||
@echo ENC=$(ENC)
|
|
||||||
@echo INTVL=$(INTVL)
|
|
||||||
tshark -r $(result_dir)/ofdm_$(TRIAL)_$(NPKTS)_$(SNR)_$(ENC)_$(INTVL).pcap > $@
|
|
||||||
|
|||||||
Reference in New Issue
Block a user