The week’s work involved leaping towards better stream ports from message parsing, some research on generating a good test signal and some observations on performance improvements.
Some commits and changes to the gr-dpd repository on github are discussed as:
- Updated the gain_phase_calibrate block to accept the input samples directly through stream input rather than message ports. This also eliminated the need of stream_to_message block although it may be useful some day.
- Creation of a new branch alekh_gr of the gr-dpd repository, to keep the other updates related to this shifting from message parsing to stream ports, until fully tested and approved.
- Updation of predistorter_training and RLS_postdistorter blocks to replace the message ports by basic stream ports for passing of PA_input in between the blocks. (On branch alekh_gr)
- Updating the example flowgraphs RLS_test_run for accomodating the changes done to the blocks above.
Below are the updated flowgraphs:
Then, there was some research work done towards getting a good idea on how to generate a reasonable signal, probably OFDM or something which involves multiple symbols over different carrier frequencies and sufficently high PAPR (Peak-to-average-power Ratio).
There are already a whole lot of OFDM related blocks available in the GRC which can do the work for signal generation but the major obstacle which is to be overcome now, is to achieve synchronisation without any significant modification to the DPD blocks, which is very specific to OFDM or other signal parameters.
The major improvement in the RLS predistortion performance has been clearly observed after shifting from message parsing to stream ports for basic IQ sample passing in between the blocks. But there is some strange opposite behaviour observed that Relative Gain of Overall signal is decreased when using the message parsing and incresed (at high amplitude) when using stream ports for same GMP_PA_model coefficients.
A comparison is shown below:
Upcoming week tasks are:
- Working towards synchronisation of test signal, most probably, OFDM.
- Working on rectifying the strange behaviour or bugs in the blocks.
- Start implementing a tesbench in form of AM-AM and AM-PM plots.