+ Added Center Frequency Offset with xlating_fir_filter functionality to
test scripts
- Removed from_idx in cross correlation since it was always 0 anyway
+ Merged FFT fix
~ Tweaked gradient_index again to exclude borders and prefer first bin
+ Added code to visualize a symbol and its bins in gradient_idx
+ Added whitening sequence rejection
~ Code clean-up for finalisation
- Removed break in sliding_cross_correlate_upchirp due to inaccuracy in
noisy signals
~ Fixed upperbound in max_frequency_gradient_idx
~ Rewrote deinterleave function, now rotates bits to correct position
instead of extensive masking
+ Added comment for every function (needs review)
~ Solved nibble reverse after Hamming decode by switching the order or
ORing of the decoded data in Hamming itself
+ Added DBGR method to save timings to a file, a result for our setup
can be found in examples/lora-timings
+ Added Python script to transmit and receive random data live for
testing
+ Added comment for every function (needs review)
~ Solved nibble reverse after Hamming decode by switching the order or
ORing of the decoded data in Hamming itself
+ Added DBGR method to save timings to a file, a result for our setup
can be found in examples/lora-timings
+ Added Python script to transmit and receive random data live for
testing
- Removed break in sliding_cross_correlate_upchirp due to inaccuracy in
noisy signals
~ Fixed upperbound in max_frequency_gradient_idx
~ Rewrote deinterleave function, now rotates bits to correct position
instead of extensive masking
~ Renamed some variables
+ Added break in
sliding_cross_correlate_upchirp if correlation
percentage drops
+
Added DBGR macros to measure exucution time of functions
+ Re-added sliding cross correlation, but now starts from the
index found by the falling edge detector, which enables
very fast cross correlation and yields much more
accurate results
~ Changed index_correction correlation percentage threshold
from 0.8 to 0.9 for accuracy improvements
+ Added threshold to GRC block ctor
+ Added default values for lora_receiver block
~ Moved whitening sequence selection to ctor
to accomodate for SF6 incompatibility
~ Changed max_freq_gradient_idx with simpler falling edge detection
+ Added generated whitining sequences (but not in actual code: needs
further testing)
- Removed log files, and added results to wiki
+ Added threshold parameter to the lora_receiver block
+ Added failsafe to stop demodulation when noise was reached after data
(packet length in HDR was wrong)
+ Added script lora_receive_all.py as a command line interface
to set-up gnuradio on other platforms and receive LoRa packets
~ Automated whitening sequence generation with createWhiteningValues.py
for various settings
~ Changed _examplify.py to also create XML database with the generated
samples
+ Added same test sets, but for RTL-SDR and USRP (XML database)
+ Added header with debug macros
+ Added warning for SF 6: the samples are actually wrapped around to SF
12
~ Unwrapped some function calls to liquid-dsp::liquid_unwrap_phase
~ Simplified some more code
~ Rewrote sliding_norm_cross_correlate_upchirp: Now we detect a falling
edge
and do a correlation from there to test the sync rate.
Also added code that can perform a perfect overlay shift to the ideal
chirp
(but this leaves the falling edge inside the window)
~ Rewrote find_preamble_start_fast: Now detects the start of the
preamble
by looking for for absolute complex values above a threshold
~ Fixed ids in qa_BasicTest_Data.xml
~ qa_BasicTest.log contains test runs showing the improvements in
passing tests.
+ Added createWhiteningValues.py to generate a sample with zeros and
append
the whitening sequence to a file so it can be averaged (untested).
This uses lora-whitening-sequencer.
~ Added zero padding to whitening sequences in tables.h