Commit graph

39 commits

Author SHA1 Message Date
Thomas Kolb a6046b1458 freq_est_lr: fixed undefined output after startup 2019-09-28 00:08:26 +02:00
Thomas Kolb c805bee1fb New preamble and header modulation to assist phase tracking
Also, the new symbols give more power to the sync parts, which should
make the sync more robust.
2019-09-25 23:53:36 +02:00
Thomas Kolb f38ad55b10 Insert new phase tracker block 2019-09-25 23:53:36 +02:00
Thomas Kolb 6bfcd3d142 make.sh: auto-detect number of CPU cores 2019-09-25 23:53:36 +02:00
Thomas Kolb 1a4b6ec075 Added phase tracker and alignment block for QAM 2019-09-25 23:53:25 +02:00
Thomas Kolb 9107ccc7c0 Extended make.sh 2019-09-19 00:20:44 +02:00
Thomas Kolb 718cf6366e Completed test flow graph port to GR 3.8 2019-09-19 00:20:23 +02:00
Thomas Kolb f7575b50fc symbol_interleaver: fixed calculation bug 2019-09-19 00:19:04 +02:00
Thomas Kolb 9cd866b2ba Converted some test flow graphs to GR 3.8
(not working yet)
2019-09-16 23:31:57 +02:00
Thomas Kolb f003431b8c Upgrade OOT module to GNU Radio 3.8 2019-09-16 23:02:01 +02:00
Thomas Kolb da4c9e08d4 Increased robustness of feed-forward freq. correction
- Increased pilot sequence length to 16 symbols
- Calculate phase difference from start for all symbols instead of
  averaging over pilot blocks
2019-09-14 23:36:04 +02:00
Thomas Kolb 1c287466db Added interleaver 2019-09-14 01:23:26 +02:00
Thomas Kolb 85ce667d7b Added more pilot symbols for precision frequency estimation
This adds 4 pilot symbols each after 128 and 256 data symbols. These are
used for precision frequency estimation and feed-forward correction,
resulting in less decoder errors at the end of the packet.

Due to this change, this system can no longer transmit packets shorter
than 64 bytes!
2019-09-13 23:10:23 +02:00
Thomas Kolb 69a497ccf8 Further optimize preamble
Maximum off-center autocorrelation value is now 11 (center peak is 128).
2019-09-13 23:07:48 +02:00
Thomas Kolb 9ef01a3e5f Updated preamble based on walsh-hadamard sequence
This should improve the correlation behaviour.
2019-09-11 21:29:48 +02:00
Thomas Kolb 6f72013aaa Added CMake and G++ to dependencies 2019-09-11 19:02:20 +02:00
Thomas Kolb 950124e218 Added frequency offset to RX 2019-08-10 17:23:18 +02:00
Thomas Kolb bd14eec4e0 Added tun device setup script 2019-08-07 20:18:40 +00:00
Thomas Kolb 58bd3d3c26 Made debug ports optional 2019-08-07 20:00:02 +00:00
Thomas Kolb 164e9d217a Added dependency install script 2019-08-07 19:59:08 +00:00
Thomas Kolb 9e7dcaf678 Added scrambler, improved mod, demod and test flow graphs 2019-08-04 01:44:35 +02:00
Thomas Kolb dfc37ecb8d Added tagged stream and async scrambler blocks 2019-08-04 01:43:43 +02:00
Thomas Kolb 53a06afd69 PID controller: converted to general block; fixed initialization 2019-08-04 01:42:58 +02:00
Thomas Kolb 014fd28f22 First try on IP RX/TX with HackRF 2019-08-01 00:08:04 +02:00
Thomas Kolb 1f04ebdb9a Added channel coding test flowgraph 2019-07-31 21:47:31 +02:00
Thomas Kolb 84afe7515b Moved RX flow graph to separate hier block 2019-07-31 21:46:55 +02:00
Thomas Kolb 4aea636999 Test flowgraphs: completed TX-RX chain
Now the receiver test flowgraph can demodulate the signal generated by
the TX, including synchronization, error correction and CRC checking.
2019-07-30 23:49:54 +02:00
Thomas Kolb be4ad84982 gr-hamnet70: added a block for delaying tags
This block is used to mark the start of the actual data, as needed by
the Header/Payload Demultiplexer, instead of the beginning of the
preamble, as needed by the frequency estimator.
2019-07-30 23:48:22 +02:00
Thomas Kolb 664d8fe0e6 Backup commit for the 16 QAM flowgraph
Now with closed-loop frequency estimation!
2019-07-23 23:20:49 +02:00
Thomas Kolb cd9784efb6 Added frequency estimator blocks
- correct_frequency: Correct frequency by averaging the phase drift on
                     the preamble
- freq_est_lr: Luise & Reggiannini frequency estimator
- pid_controller: a PID controller that takes error values at the input
                  and generates steering values at the output

The combination of freq_est_lr and PID controller can be used together
with an NCO (signal source) to create a closed control loop for
frequency offset compensation.
2019-07-23 23:16:48 +02:00
Thomas Kolb 55cfbd7ab0 Added 16-QAM modulator as GRC hier block + test flowgraph 2019-06-20 17:02:57 +02:00
Thomas Kolb 0bf421c603 Added gr-hamnet70 OOT module
This module will contain custom blocks written for GNU Radio.

Up to now, it contains one block for rotating the phase for the amount
given in a specific tag on the stream.
2019-06-20 16:59:30 +02:00
Thomas Kolb baf0911f14 Ignore some files in git 2019-06-20 16:57:38 +02:00
Thomas Kolb c1dcc8b0c7 Added utility scripts (RRC filtering) 2019-06-20 16:57:12 +02:00
Thomas Kolb 6565de36c0 Use HAM-64 instead of reinventing the wheel 2019-05-09 00:04:16 +02:00
Thomas Kolb ff751c725b doc: Define Flags 2019-01-02 16:18:13 +01:00
Thomas Kolb c5bc744b25 Added some documentation (using mkdocs) 2019-01-01 19:01:32 +01:00
Thomas Kolb fffea05647 Added Hamnet70 controller script
This script manages the interface between the TUN device and GNU Radio.
In the future, it will also do node registration, user scheduling and
other things necessary to run the network.
2018-12-12 21:38:56 +01:00
Thomas Kolb c1dbbe78c4 Start with hierarchical blocks for mod and demod 2018-12-12 21:12:24 +01:00