- Add Channelizer class for wideband capture processing (2 MHz → 125 kHz)
- FIR low-pass filter with scipy.firwin (or fallback windowed-sinc)
- Proper decimation for anti-aliasing
- Fix FrameSync preamble detection to accept any CFO
- Real captures have significant carrier frequency offset
- Preamble bins appear at arbitrary values, not just near 0
- Now accepts any strong signal as first preamble, validates consistency
- Add decode_capture.py example script for processing raw BladeRF captures
- PHYDecode verified to match existing lora_phy decoder output