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
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
Jared Boone
c4de9c4423
Mute audio whenever baseband mode is changed.
2015-09-01 21:05:47 -07:00
Jared Boone
c52de7abe6
Clean up baseband/RSSI streaming control.
...
Address hang-up of baseband and RSSI when switching modulation modes really fast.
2015-09-01 21:05:32 -07:00
Jared Boone
687e627dae
Mechanism to clear waterfall when switching modulations.
2015-09-01 21:04:27 -07:00
Jared Boone
d4c85bd786
Move receiver "back" button to separate row.
2015-09-01 20:38:59 -07:00
Jared Boone
24e398ca62
Add HackRF mode explanation text.
2015-09-01 20:23:11 -07:00