summaryrefslogtreecommitdiff
path: root/gr-radar-mono
diff options
context:
space:
mode:
authorjcorgan2007-09-28 21:44:05 +0000
committerjcorgan2007-09-28 21:44:05 +0000
commit554380de440aed0dd2c20c1c394e15c770802b2d (patch)
treef63caace2024a43d2eebaeaa86fa8dc1548e44b5 /gr-radar-mono
parentea8558daa6d9afa7dea13fe0adf7acbac4e5d352 (diff)
downloadgnuradio-554380de440aed0dd2c20c1c394e15c770802b2d.tar.gz
gnuradio-554380de440aed0dd2c20c1c394e15c770802b2d.tar.bz2
gnuradio-554380de440aed0dd2c20c1c394e15c770802b2d.zip
Merged r6552:6562 from jcorgan/radar into trunk. Updates gr-radar-mono with changes from live field testing.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@6563 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gr-radar-mono')
-rw-r--r--gr-radar-mono/src/fpga/top/usrp_radar_mono.rbfbin123940 -> 122609 bytes
-rw-r--r--gr-radar-mono/src/fpga/top/usrp_radar_mono.v7
-rw-r--r--gr-radar-mono/src/python/radar_mono.py10
-rwxr-xr-xgr-radar-mono/src/python/usrp_radar_mono.py5
-rw-r--r--gr-radar-mono/src/utils/calc_avg.m8
-rw-r--r--gr-radar-mono/src/utils/czpad.m8
-rw-r--r--gr-radar-mono/src/utils/echo_image.m6
-rw-r--r--gr-radar-mono/src/utils/fftcorr.m4
-rw-r--r--gr-radar-mono/src/utils/pulse396
-rw-r--r--gr-radar-mono/src/utils/read_avg.m22
-rw-r--r--gr-radar-mono/src/utils/read_avg_sec.m25
-rw-r--r--gr-radar-mono/src/utils/read_echos.m7
12 files changed, 490 insertions, 8 deletions
diff --git a/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf b/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf
index 229da4962..ee8859b1b 100644
--- a/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf
+++ b/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf
Binary files differ
diff --git a/gr-radar-mono/src/fpga/top/usrp_radar_mono.v b/gr-radar-mono/src/fpga/top/usrp_radar_mono.v
index f1723fa6f..2620a3288 100644
--- a/gr-radar-mono/src/fpga/top/usrp_radar_mono.v
+++ b/gr-radar-mono/src/fpga/top/usrp_radar_mono.v
@@ -153,8 +153,11 @@ module usrp_radar_mono
assign io_tx_b[5] = tx_side ? io_tx_ena : 1'bz;
// Route opposite of TX enable out to RFX receive mixer
- assign io_rx_a[5] = tx_side ? 1'bz : ~io_tx_ena;
- assign io_rx_b[5] = tx_side ? ~io_tx_ena : 1'bz;
+ //assign io_rx_a[5] = tx_side ? 1'bz : ~io_tx_ena;
+ //assign io_rx_b[5] = tx_side ? ~io_tx_ena : 1'bz;
+ assign io_rx_a[5] = 1'b1;
+ assign io_rx_b[5] = 1'b1;
+
// Route TX enable out to RX/TX switch
assign io_tx_a[6] = tx_side ? 1'bz : ~io_tx_ena;
diff --git a/gr-radar-mono/src/python/radar_mono.py b/gr-radar-mono/src/python/radar_mono.py
index 6e2c993e1..1a7b9260a 100644
--- a/gr-radar-mono/src/python/radar_mono.py
+++ b/gr-radar-mono/src/python/radar_mono.py
@@ -26,6 +26,9 @@ from gr import gr_threading as _threading
n2s = eng_notation.num_to_str
+txp_delay = 60 # Pipeline delay to turn on transmit mixer
+rxp_delay = 76 # Pipeline delay to turn off transmit mixer
+
#-----------------------------------------------------------------------
# FPGA Register Definitions
#-----------------------------------------------------------------------
@@ -92,7 +95,7 @@ class radar_tx(object):
self._u._write_fpga_reg(FR_RADAR_TON, self._ton_ticks)
def set_tsw(self, tsw):
- self._tsw_ticks = 2*(int(tsw*64e6)/2)-1 # Even number, then subtract 1
+ self._tsw_ticks = 2*(int(tsw*64e6)/2)-1+rxp_delay # Even number, then subtract 1
if self._verbose:
print "Setting pulse switching time to", tsw, " sec ("+`self._tsw_ticks+1`+" ticks)"
self._u._write_fpga_reg(FR_RADAR_TSW, self._tsw_ticks)
@@ -246,7 +249,8 @@ class radar(object):
self.set_reset(True)
self.set_tx_board(self._trans.subdev_spec())
self.set_debug(self._debug)
-
+ self.set_atrdel()
+
def _write_mode(self):
self._trans._u._write_fpga_reg(FR_RADAR_MODE, self._mode)
@@ -291,7 +295,7 @@ class radar(object):
self._trans.set_freq(center_freq, chirp_width)
self._rcvr.tune(center_freq)
- def set_atrdel(self, tx_delay, rx_delay):
+ def set_atrdel(self, tx_delay=txp_delay, rx_delay=rxp_delay):
if self._verbose:
print "Setting TX delay of", tx_delay, "clocks, RX delay of", rx_delay
self._trans._u._write_fpga_reg(FR_RADAR_ATRDEL, tx_delay << 16 | rx_delay)
diff --git a/gr-radar-mono/src/python/usrp_radar_mono.py b/gr-radar-mono/src/python/usrp_radar_mono.py
index a8ed9b8bf..3f2ad28e2 100755
--- a/gr-radar-mono/src/python/usrp_radar_mono.py
+++ b/gr-radar-mono/src/python/usrp_radar_mono.py
@@ -52,11 +52,11 @@ def main():
help="set waveform amplitude in % full scale, default is %default,")
parser.add_option("", "--ton", type="eng_float", default=5e-6,
help="set pulse on period in seconds, default is %default,")
- parser.add_option("", "--tsw", type="eng_float", default=406.25e-9,
+ parser.add_option("", "--tsw", type="eng_float", default=0.0,
help="set transmitter switching period in seconds, default is %default,")
parser.add_option("", "--tlook", type="eng_float", default=5e-6,
help="set receiver look time in seconds, default is %default,")
- parser.add_option("", "--prf", type="eng_float", default=10e3,
+ parser.add_option("", "--prf", type="eng_float", default=100,
help="set pulse repetition frequency in Hz, default is %default,")
parser.add_option("-v", "--verbose", action="store_true", default=False,
help="enable verbose output, default is disabled")
@@ -84,7 +84,6 @@ def main():
r.set_prf(options.prf)
r.set_amplitude(options.amplitude)
r.set_freq(options.frequency, options.chirp_width)
- r.set_atrdel(64, 70) # TODO: parameterize
r.start()
raw_input("Press ENTER to stop.")
diff --git a/gr-radar-mono/src/utils/calc_avg.m b/gr-radar-mono/src/utils/calc_avg.m
new file mode 100644
index 000000000..b240d245e
--- /dev/null
+++ b/gr-radar-mono/src/utils/calc_avg.m
@@ -0,0 +1,8 @@
+function avg = calc_avg(rlen, mintime)
+ avg = read_avg('echos.dat', rlen);
+ x = 1:rlen;
+ x = (x/64e6+mintime)*3e8/2;
+ plot(x, abs(avg), "^;Amplitude;");
+ xlabel("Range (meters)");
+ axis([max(x) 0])
+endfunction
diff --git a/gr-radar-mono/src/utils/czpad.m b/gr-radar-mono/src/utils/czpad.m
new file mode 100644
index 000000000..e2131030d
--- /dev/null
+++ b/gr-radar-mono/src/utils/czpad.m
@@ -0,0 +1,8 @@
+# Center and zero pad v to length n
+function pad = czpad(v, n)
+ c = n/2;
+ l = length(v);
+ pad(c-l/2+1:c+l/2) = v;
+ pad(c+l/2+1:n) = 0;
+endfunction
+ \ No newline at end of file
diff --git a/gr-radar-mono/src/utils/echo_image.m b/gr-radar-mono/src/utils/echo_image.m
new file mode 100644
index 000000000..2e066aef5
--- /dev/null
+++ b/gr-radar-mono/src/utils/echo_image.m
@@ -0,0 +1,6 @@
+function echo_image(filename, data)
+ d = abs(data);
+ d = d-min(min(d));
+ d = d/(max(max(d)))*255;
+ pngwrite(filename, d, d, d, ones(size(d)));
+endfunction \ No newline at end of file
diff --git a/gr-radar-mono/src/utils/fftcorr.m b/gr-radar-mono/src/utils/fftcorr.m
new file mode 100644
index 000000000..548988973
--- /dev/null
+++ b/gr-radar-mono/src/utils/fftcorr.m
@@ -0,0 +1,4 @@
+# Perform circular correlation via FFT
+function corr = fftcorr(v,ref)
+ corr = ifft(conj(fft(ref)).*fft(v));
+endfunction
diff --git a/gr-radar-mono/src/utils/pulse b/gr-radar-mono/src/utils/pulse
new file mode 100644
index 000000000..887558d1e
--- /dev/null
+++ b/gr-radar-mono/src/utils/pulse
@@ -0,0 +1,396 @@
+# Created by Octave 2.1.73, Tue Sep 25 14:17:22 2007 EDT <jcorgan@mobile>
+# name: __nargin__
+# type: scalar
+0
+# name: pulse321
+# type: complex matrix
+# rows: 64
+# columns: 1
+ (-0.0003662109375,0.9998779296875)
+ (-0.0003662109375,0.9998779296875)
+ (0,-0.9996337890625)
+ (0,-0.9996337890625)
+ (-0.0010986328125,-0.961181640625)
+ (-0.0010986328125,-0.961181640625)
+ (0.0072021484375,0.882568359375)
+ (0.0072021484375,0.882568359375)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.0765380859375,0.616943359375)
+ (0.0765380859375,0.616943359375)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.1688232421875,-0.4447021484375)
+ (0.3212890625,0.26611328125)
+ (0.3212890625,0.26611328125)
+ (-0.54638671875,-0.1092529296875)
+ (-0.54638671875,-0.1092529296875)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (0.8046875,-0.019775390625)
+ (0.8046875,-0.019775390625)
+ (-0.444580078125,0.1688232421875)
+ (-0.444580078125,0.1688232421875)
+ (0.147705078125,-0.477294921875)
+ (0.147705078125,-0.477294921875)
+ (-0.0032958984375,0.921142578125)
+ (-0.0032958984375,0.921142578125)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.4447021484375,-0.1688232421875)
+ (-0.4447021484375,-0.1688232421875)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (0.4127197265625,-0.19140625)
+ (0.4127197265625,-0.19140625)
+ (-0.0379638671875,0.728759765625)
+ (-0.0379638671875,0.728759765625)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.617919921875,-0.0762939453125)
+ (-0.617919921875,-0.0762939453125)
+ (-0.6170654296875,0.0765380859375)
+ (-0.6170654296875,0.0765380859375)
+ (0.0621337890625,-0.654296875)
+ (0.0621337890625,-0.654296875)
+ (-0.127685546875,-0.511962890625)
+ (-0.127685546875,-0.511962890625)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (0.29296875,-0.293212890625)
+ (0.29296875,-0.293212890625)
+ (-0.01953125,-0.8046875)
+ (-0.01953125,-0.8046875)
+ (0.654296875,0.0618896484375)
+ (0.654296875,0.0618896484375)
+ (0.3505859375,-0.239990234375)
+ (0.3505859375,-0.239990234375)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.805419921875,0.01953125)
+ (0.805419921875,0.01953125)
+ (0.1688232421875,-0.444580078125)
+ (0.1688232421875,-0.444580078125)
+# name: pulse325
+# type: complex matrix
+# rows: 320
+# columns: 1
+ (-0.0003662109375,0.9998779296875)
+ (-0.0003662109375,0.9998779296875)
+ (0,-0.9996337890625)
+ (0,-0.9996337890625)
+ (-0.0010986328125,-0.961181640625)
+ (-0.0010986328125,-0.961181640625)
+ (0.0072021484375,0.882568359375)
+ (0.0072021484375,0.882568359375)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.0765380859375,0.616943359375)
+ (0.0765380859375,0.616943359375)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.1688232421875,-0.4447021484375)
+ (0.3212890625,0.26611328125)
+ (0.3212890625,0.26611328125)
+ (-0.54638671875,-0.1092529296875)
+ (-0.54638671875,-0.1092529296875)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (0.8046875,-0.019775390625)
+ (0.8046875,-0.019775390625)
+ (-0.444580078125,0.1688232421875)
+ (-0.444580078125,0.1688232421875)
+ (0.147705078125,-0.477294921875)
+ (0.147705078125,-0.477294921875)
+ (-0.0032958984375,0.921142578125)
+ (-0.0032958984375,0.921142578125)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.4447021484375,-0.1688232421875)
+ (-0.4447021484375,-0.1688232421875)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (0.4127197265625,-0.19140625)
+ (0.4127197265625,-0.19140625)
+ (-0.0379638671875,0.728759765625)
+ (-0.0379638671875,0.728759765625)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.617919921875,-0.0762939453125)
+ (-0.617919921875,-0.0762939453125)
+ (-0.6170654296875,0.0765380859375)
+ (-0.6170654296875,0.0765380859375)
+ (0.0621337890625,-0.654296875)
+ (0.0621337890625,-0.654296875)
+ (-0.127685546875,-0.511962890625)
+ (-0.127685546875,-0.511962890625)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (0.29296875,-0.293212890625)
+ (0.29296875,-0.293212890625)
+ (-0.01953125,-0.8046875)
+ (-0.01953125,-0.8046875)
+ (0.654296875,0.0618896484375)
+ (0.654296875,0.0618896484375)
+ (0.3505859375,-0.239990234375)
+ (0.3505859375,-0.239990234375)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.805419921875,0.01953125)
+ (0.805419921875,0.01953125)
+ (0.1688232421875,-0.444580078125)
+ (0.1688232421875,-0.444580078125)
+ (-0.1910400390625,-0.4127197265625)
+ (-0.1910400390625,-0.4127197265625)
+ (-0.6912841796875,0.049072265625)
+ (-0.6912841796875,0.049072265625)
+ (0.0009765625,0.9613037109375)
+ (0.0009765625,0.9613037109375)
+ (-0.8055419921875,-0.0194091796875)
+ (-0.8055419921875,-0.0194091796875)
+ (-0.076171875,0.6177978515625)
+ (-0.076171875,0.6177978515625)
+ (0.4771728515625,0.14794921875)
+ (0.4771728515625,0.14794921875)
+ (0.2144775390625,-0.3812255859375)
+ (0.2144775390625,-0.3812255859375)
+ (-0.3214111328125,-0.2659912109375)
+ (-0.3214111328125,-0.2659912109375)
+ (-0.29296875,0.293212890625)
+ (-0.29296875,0.293212890625)
+ (0.293212890625,0.29296875)
+ (0.293212890625,0.29296875)
+ (0.265869140625,-0.3212890625)
+ (0.265869140625,-0.3212890625)
+ (-0.3814697265625,-0.2144775390625)
+ (-0.3814697265625,-0.2144775390625)
+ (-0.1480712890625,0.4774169921875)
+ (-0.1480712890625,0.4774169921875)
+ (0.617919921875,0.0760498046875)
+ (0.617919921875,0.0760498046875)
+ (0.019287109375,-0.805419921875)
+ (0.019287109375,-0.805419921875)
+ (0.961181640625,-0.0009765625)
+ (0.961181640625,-0.0009765625)
+ (-0.049072265625,-0.6915283203125)
+ (-0.049072265625,-0.6915283203125)
+ (-0.412353515625,0.19091796875)
+ (-0.412353515625,0.19091796875)
+ (0.4444580078125,0.1689453125)
+ (0.4444580078125,0.1689453125)
+ (0.019287109375,-0.805419921875)
+ (0.019287109375,-0.805419921875)
+ (0.7664794921875,-0.02783203125)
+ (0.7664794921875,-0.02783203125)
+ (-0.2401123046875,-0.3507080078125)
+ (-0.2401123046875,-0.3507080078125)
+ (-0.06201171875,0.6541748046875)
+ (-0.06201171875,0.6541748046875)
+ (-0.804443359375,0.0194091796875)
+ (-0.804443359375,0.0194091796875)
+ (0.293212890625,0.29296875)
+ (0.293212890625,0.29296875)
+ (0.012451171875,-0.843994140625)
+ (0.012451171875,-0.843994140625)
+ (0.5118408203125,-0.127685546875)
+ (0.5118408203125,-0.127685546875)
+ (-0.6541748046875,-0.062255859375)
+ (-0.6541748046875,-0.062255859375)
+ (-0.07666015625,-0.6170654296875)
+ (-0.07666015625,-0.6170654296875)
+ (-0.076171875,0.6177978515625)
+ (-0.076171875,0.6177978515625)
+ (-0.581298828125,0.0921630859375)
+ (-0.581298828125,0.0921630859375)
+ (0.7286376953125,0.037841796875)
+ (0.7286376953125,0.037841796875)
+ (0.1912841796875,0.412353515625)
+ (0.1912841796875,0.412353515625)
+ (0,-0.9996337890625)
+ (0,-0.9996337890625)
+ (0.1688232421875,-0.444580078125)
+ (0.1688232421875,-0.444580078125)
+ (0.581298828125,-0.0924072265625)
+ (0.581298828125,-0.0924072265625)
+ (-0.9212646484375,-0.003662109375)
+ (-0.9212646484375,-0.003662109375)
+ (-0.4775390625,-0.1478271484375)
+ (-0.4775390625,-0.1478271484375)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.01953125,-0.8046875)
+ (-0.01953125,-0.8046875)
+ (-0.012451171875,0.8438720703125)
+ (-0.012451171875,0.8438720703125)
+ (-0.109375,0.5462646484375)
+ (-0.109375,0.5462646484375)
+ (-0.26611328125,0.321533203125)
+ (-0.26611328125,0.321533203125)
+ (-0.444580078125,0.1688232421875)
+ (-0.444580078125,0.1688232421875)
+ (-0.6170654296875,0.0765380859375)
+ (-0.6170654296875,0.0765380859375)
+ (-0.7666015625,0.02783203125)
+ (-0.7666015625,0.02783203125)
+ (-0.882568359375,0.00732421875)
+ (-0.882568359375,0.00732421875)
+ (-0.9613037109375,0.0010986328125)
+ (-0.9613037109375,0.0010986328125)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (-0.9613037109375,0.0010986328125)
+ (-0.9613037109375,0.0010986328125)
+ (-0.882568359375,0.00732421875)
+ (-0.882568359375,0.00732421875)
+ (-0.7666015625,0.02783203125)
+ (-0.7666015625,0.02783203125)
+ (-0.6170654296875,0.0765380859375)
+ (-0.6170654296875,0.0765380859375)
+ (-0.444580078125,0.1688232421875)
+ (-0.444580078125,0.1688232421875)
+ (-0.26611328125,0.321533203125)
+ (-0.26611328125,0.321533203125)
+ (-0.109375,0.5462646484375)
+ (-0.109375,0.5462646484375)
+ (-0.012451171875,0.8438720703125)
+ (-0.012451171875,0.8438720703125)
+ (-0.01953125,-0.8046875)
+ (-0.01953125,-0.8046875)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.4775390625,-0.1478271484375)
+ (-0.4775390625,-0.1478271484375)
+ (-0.9212646484375,-0.003662109375)
+ (-0.9212646484375,-0.003662109375)
+ (0.581298828125,-0.0924072265625)
+ (0.581298828125,-0.0924072265625)
+ (0.1688232421875,-0.444580078125)
+ (0.1688232421875,-0.444580078125)
+ (0,-0.9996337890625)
+ (0,-0.9996337890625)
+ (0.1912841796875,0.412353515625)
+ (0.1912841796875,0.412353515625)
+ (0.7286376953125,0.037841796875)
+ (0.7286376953125,0.037841796875)
+ (-0.581298828125,0.0921630859375)
+ (-0.581298828125,0.0921630859375)
+ (-0.076171875,0.6177978515625)
+ (-0.076171875,0.6177978515625)
+ (-0.07666015625,-0.6170654296875)
+ (-0.07666015625,-0.6170654296875)
+ (-0.6541748046875,-0.062255859375)
+ (-0.6541748046875,-0.062255859375)
+ (0.5118408203125,-0.127685546875)
+ (0.5118408203125,-0.127685546875)
+ (0.012451171875,-0.843994140625)
+ (0.012451171875,-0.843994140625)
+ (0.293212890625,0.29296875)
+ (0.293212890625,0.29296875)
+ (-0.804443359375,0.0194091796875)
+ (-0.804443359375,0.0194091796875)
+ (-0.06201171875,0.6541748046875)
+ (-0.06201171875,0.6541748046875)
+ (-0.2401123046875,-0.3507080078125)
+ (-0.2401123046875,-0.3507080078125)
+ (0.7664794921875,-0.02783203125)
+ (0.7664794921875,-0.02783203125)
+ (0.019287109375,-0.805419921875)
+ (0.019287109375,-0.805419921875)
+ (0.4444580078125,0.1689453125)
+ (0.4444580078125,0.1689453125)
+ (-0.412353515625,0.19091796875)
+ (-0.412353515625,0.19091796875)
+ (-0.049072265625,-0.6915283203125)
+ (-0.049072265625,-0.6915283203125)
+ (0.961181640625,-0.0009765625)
+ (0.961181640625,-0.0009765625)
+ (0.019287109375,-0.805419921875)
+ (0.019287109375,-0.805419921875)
+ (0.617919921875,0.0760498046875)
+ (0.617919921875,0.0760498046875)
+ (-0.1480712890625,0.4774169921875)
+ (-0.1480712890625,0.4774169921875)
+ (-0.3814697265625,-0.2144775390625)
+ (-0.3814697265625,-0.2144775390625)
+ (0.265869140625,-0.3212890625)
+ (0.265869140625,-0.3212890625)
+ (0.293212890625,0.29296875)
+ (0.293212890625,0.29296875)
+ (-0.29296875,0.293212890625)
+ (-0.29296875,0.293212890625)
+ (-0.3214111328125,-0.2659912109375)
+ (-0.3214111328125,-0.2659912109375)
+ (0.2144775390625,-0.3812255859375)
+ (0.2144775390625,-0.3812255859375)
+ (0.4771728515625,0.14794921875)
+ (0.4771728515625,0.14794921875)
+ (-0.076171875,0.6177978515625)
+ (-0.076171875,0.6177978515625)
+ (-0.8055419921875,-0.0194091796875)
+ (-0.8055419921875,-0.0194091796875)
+ (0.0009765625,0.9613037109375)
+ (0.0009765625,0.9613037109375)
+ (-0.6912841796875,0.049072265625)
+ (-0.6912841796875,0.049072265625)
+ (-0.1910400390625,-0.4127197265625)
+ (-0.1910400390625,-0.4127197265625)
+ (0.1688232421875,-0.444580078125)
+ (0.1688232421875,-0.444580078125)
+ (0.805419921875,0.01953125)
+ (0.805419921875,0.01953125)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.3505859375,-0.239990234375)
+ (0.3505859375,-0.239990234375)
+ (0.654296875,0.0618896484375)
+ (0.654296875,0.0618896484375)
+ (-0.01953125,-0.8046875)
+ (-0.01953125,-0.8046875)
+ (0.29296875,-0.293212890625)
+ (0.29296875,-0.293212890625)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (-0.127685546875,-0.511962890625)
+ (-0.127685546875,-0.511962890625)
+ (0.0621337890625,-0.654296875)
+ (0.0621337890625,-0.654296875)
+ (-0.6170654296875,0.0765380859375)
+ (-0.6170654296875,0.0765380859375)
+ (-0.617919921875,-0.0762939453125)
+ (-0.617919921875,-0.0762939453125)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.0379638671875,0.728759765625)
+ (-0.0379638671875,0.728759765625)
+ (0.4127197265625,-0.19140625)
+ (0.4127197265625,-0.19140625)
+ (0.9996337890625,0.000244140625)
+ (0.9996337890625,0.000244140625)
+ (-0.4447021484375,-0.1688232421875)
+ (-0.4447021484375,-0.1688232421875)
+ (0.09228515625,0.5811767578125)
+ (0.09228515625,0.5811767578125)
+ (-0.0032958984375,0.921142578125)
+ (-0.0032958984375,0.921142578125)
+ (0.147705078125,-0.477294921875)
+ (0.147705078125,-0.477294921875)
+ (-0.444580078125,0.1688232421875)
+ (-0.444580078125,0.1688232421875)
+ (0.8046875,-0.019775390625)
+ (0.8046875,-0.019775390625)
+ (0.843994140625,0.012451171875)
+ (0.843994140625,0.012451171875)
+ (-0.54638671875,-0.1092529296875)
+ (-0.54638671875,-0.1092529296875)
+ (0.3212890625,0.26611328125)
+ (0.3212890625,0.26611328125)
+ (-0.1688232421875,-0.4447021484375)
+ (-0.1688232421875,-0.4447021484375)
+ (0.0765380859375,0.616943359375)
+ (0.0765380859375,0.616943359375)
+ (-0.0279541015625,-0.7666015625)
+ (-0.0279541015625,-0.7666015625)
+ (0.0072021484375,0.882568359375)
+ (0.0072021484375,0.882568359375)
+ (-0.0010986328125,-0.961181640625)
+ (-0.0010986328125,-0.961181640625)
diff --git a/gr-radar-mono/src/utils/read_avg.m b/gr-radar-mono/src/utils/read_avg.m
new file mode 100644
index 000000000..7df3d4cdd
--- /dev/null
+++ b/gr-radar-mono/src/utils/read_avg.m
@@ -0,0 +1,22 @@
+function avg = read_avg(name, vlen)
+
+ f = fopen(name, "rb");
+ s = zeros(1, vlen);
+ n = 0;
+
+ while (!feof(f))
+ t = fread(f, [2, vlen], "float");
+ if (size(t) == [2, vlen])
+ n = n+1;
+ c = t(1,:)+t(2,:)*j;
+ if (n > 10)
+ s = s+c;
+ endif
+ endif
+ endwhile
+
+ avg = s/(n-1);
+
+ fclose(f);
+
+endfunction
diff --git a/gr-radar-mono/src/utils/read_avg_sec.m b/gr-radar-mono/src/utils/read_avg_sec.m
new file mode 100644
index 000000000..7aa77675d
--- /dev/null
+++ b/gr-radar-mono/src/utils/read_avg_sec.m
@@ -0,0 +1,25 @@
+function avg = read_avg_sec(name, vlen)
+
+ f = fopen(name, "rb");
+ s = zeros(1, vlen);
+ n = 0;
+ m = 0;
+
+ while (!feof(f))
+ t = fread(f, [2, vlen], "float");
+ if (size(t) == [2, vlen])
+ n = n+1;
+ c = t(1,:)+t(2,:)*j;
+ s = s+c;
+ m = m+1;
+ if (m == 1000)
+ avg(n/1000,:) = s/1000;
+ s = zeros(1, vlen);
+ m = 0;
+ endif
+ endif
+ endwhile
+
+ fclose(f);
+
+endfunction
diff --git a/gr-radar-mono/src/utils/read_echos.m b/gr-radar-mono/src/utils/read_echos.m
new file mode 100644
index 000000000..3fae47b4e
--- /dev/null
+++ b/gr-radar-mono/src/utils/read_echos.m
@@ -0,0 +1,7 @@
+# Read echos from file into array
+function echos = read_echos(filename, len, drop)
+ e = read_complex_binary(filename);
+ n = length(e)/len-drop;
+ start = drop*len+1;
+ echos = reshape(e(start:end), len, n).';
+endfunction