Commit Graph

130 Commits

Author SHA1 Message Date
Nick Foster
3be6e9fd6e Remove altitude-based extra station. I don't now believe there's a way to construct a "fake" station as you don't have the originating time of the transmission as a known quantity. 2012-12-11 09:44:21 -08:00
Nick Foster
c4c63b5b69 Fixed it by using a reasonable initial guess to guarantee monotonicity in the solver, and to avoid converging on the wrong solution.
If all your stations lie in a plane (they do), there is an ambiguity about that plane such that there are two solutions.
This means you need to provide an initial guess on the correct side of the plane (i.e., above ground).
In addition, using a very reasonable solution guarantees that the system is as linear as possible.
I'm using the nearest station as a guess; I would have assumed it would work with any station as a guess but this
doesn't appear to be the case.
The Arne Saknussemm is still broken.
2012-12-11 09:11:35 -08:00
Nick Foster
0384d6bc58 Temp commit. mlat only resolves when the aircraft is sufficiently out of plane of the receivers -- 4000km out of plane, to be exact. What gives? 2012-12-10 18:52:04 -08:00
Nick Foster
017cce7ec4 Temp commit before I rip out the relative stuff 2012-12-07 09:36:16 -08:00
Nick Foster
1f0ef143a0 Fixed your mlat bug -- you'd removed the time error column from H and it happened to work with the extra information gathered by having timestamp[0] equal to the originating time -- i.e., zero time offset.
There's currently a bug in the solver returning near-ground-level reports for aircraft at altitude. Also the Arne Saknussemm station doesn't work.
2012-12-06 19:17:40 -08:00
Nick Foster
c7e216bca0 mlat test now creates a cheesy moving simulated aircraft. mlat is broken though due to incorrect assumptions in the solver. 2012-12-06 13:04:11 -08:00
Nick Foster
fcb06ef25a SBS1 list prune fix 2012-11-04 18:40:45 -08:00
Nick Foster
3cfeb5d705 Merge remote-tracking branch 'jcorgan/pmf2' 2012-10-29 17:56:25 -07:00
Nick Foster
4c986a70a4 Really fix the SBS-1 pruning issue this time. 2012-10-29 09:42:28 -07:00
Johnathan Corgan
7ad09f5b14 Added option for pulse matched filtering
Pulse matched filtering places a boxcar filter upstream of the
averager and preamble detector.  The filter length is equivalent
to the number of samples in one Mode S chip (0.5us).  This
technique enhances operation when using sample rates > 4Msps.

When using --pmf, the threshold may need to be reduced a dB or
two from what would have been optimal without --pmf.

* rx_path.py now takes 'use_pmf', defaults to False

* modes_rx has new CLI option '-p' or '--pmf' to turn on PMF

* modes_gui has new checkbox on Setup tab
2012-10-29 09:37:18 -07:00
Nick Foster
90c8ba5a10 Merge branch 'az_map' 2012-10-29 09:28:30 -07:00
Nick Foster
504f9265b2 Fix for SBS-1 get_aircraft_id list cleanup. 2012-10-29 09:24:31 -07:00
Nick Foster
26f7c779d7 Merge branch 'master' into az_map 2012-10-18 22:00:12 -07:00
Nick Foster
e2be60017a Pull RAC bits correctly in parse_tcas 2012-10-17 23:07:56 -07:00
Nick Foster
b886bd42e9 Fix for TCAS unknown report type. 2012-10-17 23:05:20 -07:00
Nick Foster
3815ee17e1 Fix iterator in TCAS resolution advisories. 2012-10-17 23:03:19 -07:00
Nick Foster
fdaa496b8f Merge branch 'cpr' 2012-10-17 18:29:21 -07:00
Nick Foster
7dba7f4cc3 Add support for type 16 Long Special Surveillance packets. Not tested with real data. 2012-10-17 18:28:39 -07:00
Nick Foster
5f89eba234 Fixed TCAS packet reporting -- the slicer wasn't reporting long pkt type for types 20/21. Hardcoded constant. 2012-10-17 18:01:02 -07:00
Nick Foster
a3f2dec1f9 CPR decoder: Keep a separate list for sfc and air positions to keep them from stepping on each other. 2012-10-17 09:24:15 -07:00
Nick Foster
0b30db353d CPR: surface decoding still exhibits occasional errors when m~=0. Suspect it might actually be a bug in the encoder. 2012-10-17 09:13:10 -07:00
Nick Foster
979a0f4603 Merge branch 'master' into cpr 2012-10-15 12:39:06 -07:00
Johnathan Corgan
62304ff59e Refactor flowgraph into hierarchical block
This commit creates air_modes.rx_path, which is the common portion
of the flowgraph once the sample source and possible resampler are
created.  It takes baseband I/Q and emits Mode-S packets into the
supplied message queue.
2012-10-15 09:27:22 -07:00
Nick Foster
ac9e09893b CPR changes. Fixed a lot of the surface position errors. At least one bug still remains. 2012-10-14 22:57:48 -07:00
Nick Foster
cadbf0eaaa Merge branch 'cpr' into az_map 2012-10-14 18:01:30 -07:00
Nick Foster
3c8c60f57f Removing emitter-centered local decoding from the CPR parser. Using only global decoding. 2012-10-14 18:00:51 -07:00
Nick Foster
77768ebcc6 Small fixes. Need to limit drawPaths() -- it's slow. 2012-10-10 18:44:28 -07:00
Nick Foster
6cb59af3a5 Make better test for az map. 2012-10-10 18:22:35 -07:00
Nick Foster
2b572a2e05 Fix bug in row calculation. There's probably a simpler expression for this. 2012-10-10 18:14:53 -07:00
Nick Foster
07b899ac71 Reinstate random test for az_map.py 2012-10-10 15:49:09 -07:00
Nick Foster
397451bcbd Azimuth map has multiple rings for different altitudes. 2012-10-10 12:51:44 -07:00
Nick Foster
f16ba79573 Merge branch 'master' into az_map 2012-10-10 08:59:37 -07:00
Nick Foster
0f38bfd0d7 Fix SQL for merge-induced breakage. 2012-10-10 08:21:17 -07:00
Nick Foster
05de9c6034 Use more realistic value for max az map range. Should make this configurable. 2012-10-10 08:20:47 -07:00
Nick Foster
cd2cfec730 Azimuth map working. 2012-10-10 08:20:07 -07:00
Nick Foster
dfb48dbe8d Correctly repaint on drawPath (and thus on dataChanged events) 2012-10-10 00:31:00 -07:00
Nick Foster
198d46ac99 Event link between model and azimuth map. 2012-10-10 00:22:13 -07:00
Nick Foster
a9c7e4bcca Add azimuth map widget. Not done, not invoked. 2012-10-09 23:46:02 -07:00
Nick Foster
67b58d7204 Use a common lock for the KMLgen and SQL threads to keep them from stepping on each other when reading the SQLite db 2012-10-09 23:31:02 -07:00
Johnathan Corgan
f18d111e1c Merge branch 'master' into qtapp
Conflicts:
	CMakeLists.txt
	lib/air_modes_preamble.cc
	python/sql.py
2012-10-07 17:54:03 -07:00
Johnathan Corgan
c0d24f12c9 modes_kml: fix case where KML generation thread dies
SQLite does not deal well with concurrency.  Avoid database locked
errors by synchronizing database access using a threading.Lock().
2012-10-06 08:47:49 -07:00
Nick Foster
d88d21f672 Merge branch 'crlf' 2012-10-02 21:39:49 -07:00
Nick Foster
32da8704a9 Fix bug in print on unknown FTC type. 2012-09-17 14:17:16 -07:00
Nick Foster
396ee330c4 Add carriage returns before linefeeds in SBS1 feed. 2012-09-14 09:06:51 -07:00
Nick Foster
d1b69405bf Fix bitrot in modes_print. 2012-09-08 11:02:49 -07:00
Nick Foster
73ca9e373e Merge branch 'master' into qtapp 2012-08-15 20:15:55 -07:00
Al Brown
a6dac30fbf Fix range-ring KML for new Google Earth breakage. 2012-08-15 08:53:05 -07:00
Dennis Real
fa4a8be31b KML generator patch to align the airplane icon w/aircraft heading. 2012-08-06 12:08:01 -07:00
Nick Foster
3d69b7ff80 Use proper scaling for dBfs 2012-07-21 11:26:49 -07:00
Nick Foster
a39b07c372 Merge branch 'parse'
Conflicts:
	python/modes_sql.py
2012-07-21 11:17:23 -07:00