summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Adrian Iain Lam [Thu, 8 Nov 2018 22:00:57 +0000 (22:00 +0000)]
Added images related to previous commit
Adrian Iain Lam [Thu, 8 Nov 2018 21:59:47 +0000 (21:59 +0000)]
Merge branch 'master' into images
Adrian Iain Lam [Thu, 8 Nov 2018 21:49:44 +0000 (21:49 +0000)]
Added adaptive CMA equalizer, "fixed" CD and phase noise
Implemented CMA equalizer. It can be seen that it works well
in equalizing the received signal when CD is small (i.e. when
the CD compensation does not work well). Convergence is to be
discussed.
Previous version of CD fails miserably when CD is small but
compensation is not used. This is due to the constellation being
rotated by the CD simulation. Code was added to rotate it back.
Previous version of phase noise has a lot of errors due to
cycle slips when attempting to recover the phase using the
Viterbi-Viterbi algorithm. Experimenting with different block
sizes did not help much. A differential PSK was attempted which
seems to work well, agreeing with supervisor's predictions on
asymptotic behaviour, though incurring a penalty at lower SNRs.
Adrian Iain Lam [Fri, 2 Nov 2018 01:23:18 +0000 (01:23 +0000)]
Adding images to separate branch
For ease of backup and keeping history, but may not need them
in the future so avoid polluting the master branch with so
much binary data.
Adrian Iain Lam [Fri, 2 Nov 2018 01:15:42 +0000 (01:15 +0000)]
Chromatic dispersion and line width phase noise
Implemented CD and phase noise simulations and their corrections;
files written to (1) inspect waveform behaviour with time, and
(2) plot BER/SNR graphs. For CD, an extra file was written to
demonstrate (check) the pulse-broadening behaviour of the power
of the signal.
Code cleanup: move some code out to separate files for reuse;
renamed some variables for consistency; removed 3F4 PSK upper
bounds in graphs (bound too loose, not useful); removed isOctave
due to the current heavy dependence on functions not supported
by Octave.
TODO: put CD and phase noise together
Adrian Iain Lam [Fri, 26 Oct 2018 13:41:50 +0000 (14:41 +0100)]
Fixed passband, should now be correct
Adrian Iain Lam [Fri, 26 Oct 2018 05:17:11 +0000 (06:17 +0100)]
Added baseband and passband simulations. Passband is buggy.
Adrian Iain Lam [Wed, 24 Oct 2018 00:16:06 +0000 (01:16 +0100)]
Added root raised cosine pulse shaping.
Not very sure about the SNR calculation.
Adrian Iain Lam [Sun, 21 Oct 2018 23:09:34 +0000 (00:09 +0100)]
Use more library functions; generalized to 2^k-PSK
The previous "initial" version was reinventing the wheel with
PSK modulation/demod, AWGN etc. This version used the library
functions, renamed some variables for consistency; generalized
code to work for M-PSK (M=2^k), and included theoretical upper
bounds and approximations for M > 4.
Adrian Iain Lam [Sun, 21 Oct 2018 16:02:20 +0000 (17:02 +0100)]
BER/SNR plots for discrete BPSK over AWGN