Week 7: Updated GRC port labels, runtime-updation of the coefficients of MP & GMP model PA’s and some bug fixes

This week’s work lead to some major improvements in the gr-dpd module. This includes updating GRC files: IO port labels for some blocks, adding the feature to update the GMP and MP model coefficients in the GRC block parameters and some bug fixes in the block codes.

Major Commits to the repository include:

  • Updated the GRC files: IO port labels of gain_phase_calibrate (PA Output, Input Sample), predistorter_training (Input vector) and RLS_postdistorter (PA_Input) blocks to improve the understanding of the use of blocks and the clarity about their connections in flowgraphs to the users.
  • Added runtime-updation of coefficients: For MP_model_PA and GMP_model_PA blocks, earlier users can only decide the the general order and depth of GMP and MP model for PA blocks used in flowgraphs and their coefficients were fixed in the block code itself. But now user can himself/ herself decide the coefficents of the model by inputting them as block parameters in GRC itself. They are inputted as a shifts-structured ‘complex_vector’ parameters namely:
    • Coeff. vector I of order (K_a x L_a), present in both MP and GMP model PA’s.
    • Coeff. vector II of order (K_b x M_b x L_b), present in GMP model PA.
MP_model_PA block parameters dialog box
GMP_model_PA block parameters dialog box
  • Updated Example flowgraphs to accomodate the above changes.

After some bug fixes in the the block implementation codes, the RLS algorithm test flowgraph now works as expected for an ideal PA with zero distortion giving identical ouput for both PA with and without DPD:

RLS_test_run_two_tone_setup.grc output with an ideal PA


  • For MP_model_PA, ideal state PA parameters are Order (K_a) = 1, Memory Depth (L_a) = 1 and Mode of Operation is Both Terms.
  • For GMP_model_PA, ideal state PA parameters are K_a = 1, L_a = 1, K_b = 1, M_b = 1, L_b = 1 and Mode of Operation is Odd Terms Only.

Upcoming week tasks are as follows:

  • Merging of the commits of alekh_gr branch broadly related to shifting from message to stream ports in the master, after proper testing and comfirmation.
  • Working on more accurate testing of the RLS algorithm and some characteristics parameters for the performance evaluation.
  • Working on some other DPD algorithms as LMS algorithm.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s