From 554380de440aed0dd2c20c1c394e15c770802b2d Mon Sep 17 00:00:00 2001 From: jcorgan Date: Fri, 28 Sep 2007 21:44:05 +0000 Subject: 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 --- gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf | Bin 123940 -> 122609 bytes gr-radar-mono/src/fpga/top/usrp_radar_mono.v | 7 +- gr-radar-mono/src/python/radar_mono.py | 10 +- gr-radar-mono/src/python/usrp_radar_mono.py | 5 +- gr-radar-mono/src/utils/calc_avg.m | 8 + gr-radar-mono/src/utils/czpad.m | 8 + gr-radar-mono/src/utils/echo_image.m | 6 + gr-radar-mono/src/utils/fftcorr.m | 4 + gr-radar-mono/src/utils/pulse | 396 +++++++++++++++++++++++++ gr-radar-mono/src/utils/read_avg.m | 22 ++ gr-radar-mono/src/utils/read_avg_sec.m | 25 ++ gr-radar-mono/src/utils/read_echos.m | 7 + 12 files changed, 490 insertions(+), 8 deletions(-) create mode 100644 gr-radar-mono/src/utils/calc_avg.m create mode 100644 gr-radar-mono/src/utils/czpad.m create mode 100644 gr-radar-mono/src/utils/echo_image.m create mode 100644 gr-radar-mono/src/utils/fftcorr.m create mode 100644 gr-radar-mono/src/utils/pulse create mode 100644 gr-radar-mono/src/utils/read_avg.m create mode 100644 gr-radar-mono/src/utils/read_avg_sec.m create mode 100644 gr-radar-mono/src/utils/read_echos.m (limited to 'gr-radar-mono') 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 Binary files a/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf and b/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf 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 +# 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 -- cgit