Commit Graph

292 Commits

Author SHA1 Message Date
Jared Boone
ab28639a3d Use std::move to move samples in buffer.
Yes, std::rotate works, but it's fancy and does unnecessary work.
2015-11-06 09:40:02 -08:00
Jared Boone
4141d6fe0f Untemplate MatchedFilter, a different way. 2015-11-06 09:40:02 -08:00
Jared Boone
fe94cfa45a De-std::vector MatchedFilter, was chewing up far too much memory. 2015-11-06 09:40:02 -08:00
Jared Boone
3e9f0971e1 Assert that FSKConfiguration size is the same between application and baseband binaries. 2015-11-06 09:40:02 -08:00
Jared Boone
64ed539554 Change LinearResampler.advance to external use only. 2015-11-06 09:40:02 -08:00
Jared Boone
4ed385d15e Prioritize PacketBuilder found_end_flag() over packet_truncated(). 2015-11-06 09:40:02 -08:00
Jared Boone
c2e7f9a6f4 Shorten AIS training sequence match length. 2015-11-06 09:40:02 -08:00
Jared Boone
d92c962c0c Set MatchedFilter taps with separate method. 2015-11-06 09:40:02 -08:00
Jared Boone
8198db768d Move some MatchedFilter code to .cpp file. 2015-11-06 09:40:02 -08:00
Jared Boone
aff7865c61 Move (some) AIS bits to a separate file. 2015-11-06 09:40:02 -08:00
Jared Boone
7a5100baf1 Enlarge packet payload size 256 -> 1024 bits. 2015-11-06 09:40:01 -08:00
Jared Boone
68250b4d30 Expose weight() of FixedErrorFilter. 2015-11-06 09:40:01 -08:00
Jared Boone
474eaa8541 Template ClockRecovery for ErrorFilter type. 2015-11-06 09:40:01 -08:00
Jared Boone
9879af37d5 FixedErrorFilter constructor. 2015-11-06 09:40:01 -08:00
Jared Boone
727d4c8a1f Const the FixedErrorFilter operator(). 2015-11-06 09:40:01 -08:00
Jared Boone
93b9b9d9ef LinearErrorFilter constructor. 2015-11-06 09:40:01 -08:00
Jared Boone
57db6a6367 Ignore more initial bits of AIS training sequence. 2015-11-06 09:40:01 -08:00
Jared Boone
37b1d7cf2f Remove payload_length from PacketBuilder, etc. 2015-11-06 09:40:01 -08:00
Jared Boone
142617ad94 Silence Clang warning. 2015-11-06 09:40:01 -08:00
Jared Boone
cf3bff3b03 Decouple PacketBuilder PayloadHandler function from method type. 2015-11-06 09:40:01 -08:00
Jared Boone
1bdad62496 Simplify PacketBuilder pattern matching and symbol accumulation. 2015-11-06 09:40:00 -08:00
Jared Boone
36689f5c45 Refactor bit pattern matching.
Remove AccessCodeCorrelator, Unstuff classes.
2015-11-06 09:40:00 -08:00
Jared Boone
f918a774b7 Address implicit cast compiler warnings. 2015-11-06 09:40:00 -08:00
Jared Boone
0bc8f551de Use matched filter for AIS GMSK demodulation demo.
Less than optimal for plain FSK, but flexible enough to also support GFSK/GMSK. Not at all optimized for SIMD instructions, so may not perform adequately at Bluetooth/GSM rates.
2015-11-06 09:40:00 -08:00
Jared Boone
a9c190b6bb Matched filter implementation.
Essentially a complex FIR filter that's more flexible than the ones already in the code base. Refactor?!
2015-11-06 09:40:00 -08:00
Jared Boone
6499de39bf Shorten AIS packet to expected data + FCS length. 2015-11-06 09:40:00 -08:00
Jared Boone
bd76f0e13b Note to try different -mcpu= for LPC43xx Cortex-M0. 2015-11-06 09:40:00 -08:00
Jared Boone
e9f28f9ef3 Provide configuration of symbol unstuffing. 2015-11-06 09:40:00 -08:00
Jared Boone
a00fcbaa8f Unstuffing pattern length of zero should never match. 2015-11-06 09:40:00 -08:00
Jared Boone
05badaddda Put symbol coding into PacketBuilder.
Removes stuffing symbols before placing them into packet buffer.
2015-11-06 09:40:00 -08:00
Jared Boone
c936e09702 Add bit unstuffing algorithm.
For use in AIS. Probably useful elsewhere, too...
2015-11-06 09:39:59 -08:00
Jared Boone
31ff13f1c0 Un-const Message in message handler interfaces.
I want to modify in place the messages that are received. Naughty, but oh well.
2015-11-06 09:39:59 -08:00
Jared Boone
5469a3a31d Get ui::Console to a working state. 2015-11-06 09:39:59 -08:00
Jared Boone
5c31e803c8 Change interface to AccessCodeCorrelator, inline in header. 2015-11-06 09:39:59 -08:00
Jared Boone
a3cce5632e Complete rewrite of clock recovery, lots of refactoring. 2015-11-06 09:39:59 -08:00
Jared Boone
8b2e75a299 Add LinearResampler implementation for clock recovery. 2015-11-06 09:39:59 -08:00
Jared Boone
f13e2d32c0 Add symbol coding namespace, NRZI decoder. 2015-11-06 09:39:59 -08:00
Jared Boone
934936d3f6 Enhancements to clock recovery
Linearly interpolate input and delayed samples, based on phase of internal symbol clock.
2015-11-06 09:39:59 -08:00
Jared Boone
144b121b0e Windows 8.1 firmware tool images. 2015-10-22 11:37:28 -07:00
Jared Boone
b41ff962f4 Replace std::sin() with interpolated LUT. 2015-10-14 11:10:24 -07:00
Jared Boone
291de8f869 Change channel_spectrum type to std::complex<float>.
Move FFT bit-reversal to complex<int16_t> -> complex<float> copy.
Change window so that adjacent bins have constant(-ish) gain.
Change window to float.
Change time domain samples to accumulate at even intervals over the FFT interval.
2015-10-14 11:10:24 -07:00
Jared Boone
882fbbef31 Add more fft_swap bit reversal functions. 2015-10-14 11:10:24 -07:00
Jared Boone
8f7e26b5c1 Break out BasebandStatsView, add main, RSSI threads. 2015-10-14 10:59:32 -07:00
Jared Boone
7f46f0d071 Add tick tracking for all baseband threads. 2015-10-14 10:44:20 -07:00
Jared Boone
aa733b1b61 Remove FSK from receiver menu. It doesn't do anything (yet). 2015-09-02 18:55:00 -07:00
Jared Boone
f91f17b9fb Increase touch sensitivity a bit. 2015-09-02 18:48:51 -07:00
Jared Boone
9a3454d695 Touch code cleanup, stop scanning when no touch.
No need to change voltages on touch panel when no touch is detected. This should reduce noise a bit.
2015-09-02 18:48:38 -07:00
Jared Boone
f1ca3fe5bb Switch RFFC5072, MAX2837 back to 40MHz reference.
Turns out the MAX2837 can't tune the necessary range when given a 50MHz reference. Oops.
2015-09-02 17:45:19 -07:00
Jared Boone
293337b647 Init radio in RX mode, not TX mode. 2015-09-02 17:30:16 -07:00
Jared Boone
e2bb77d756 Change wideband FFT bin filter, clean up code a bit. 2015-09-02 11:29:38 -07:00