AnsweredAssumed Answered

Fast AGC unlock condition

Question asked by Nahemoth on Aug 18, 2016
Latest reply on Jun 28, 2017 by Nahemoth

Hi,

 

 I am receiving an OFDM signal (see the picture), where the AGC (Fast mode) locks the signal power correctly with the signal preamble. But sometimes, when the OFDM data symbols start transmiting, there are some power peaks, where the AGC unlocks and its result is a performance degradation of the receiver. 

 

Is it possible to disable the unlock condition due to these power peaks? Or increase the threshold?

 

Here is my AGC configuration from AD9361_InitParam structure:

 

/* Gain Control */
RF_GAIN_FASTATTACK_AGC,                          //gc_rx1_mode *** adi,gc-rx1-mode
RF_GAIN_FASTATTACK_AGC,                          //gc_rx2_mode *** adi,gc-rx2-mode
58,                          //gc_adc_large_overload_thresh *** adi,gc-adc-large-overload-thresh
4,                          //gc_adc_ovr_sample_size *** adi,gc-adc-ovr-sample-size
47,                        //gc_adc_small_overload_thresh *** adi,gc-adc-small-overload-thresh
8192,                    //gc_dec_pow_measurement_duration *** adi,gc-dec-pow-measurement-duration
0,                          //gc_dig_gain_enable *** adi,gc-dig-gain-enable
800,                      //gc_lmt_overload_high_thresh *** adi,gc-lmt-overload-high-thresh
704,                       //gc_lmt_overload_low_thresh *** adi,gc-lmt-overload-low-thresh
24,                        //gc_low_power_thresh *** adi,gc-low-power-thresh
15,                          //gc_max_dig_gain *** adi,gc-max-dig-gain
/* Gain MGC Control */
2,                           //mgc_dec_gain_step *** adi,mgc-dec-gain-step
2,                          //mgc_inc_gain_step *** adi,mgc-inc-gain-step
0,                           //mgc_rx1_ctrl_inp_enable *** adi,mgc-rx1-ctrl-inp-enable
0,                          //mgc_rx2_ctrl_inp_enable *** adi,mgc-rx2-ctrl-inp-enable
0,                          //mgc_split_table_ctrl_inp_gain_mode *** adi,mgc-split-table-ctrl-inp-gain-mode
/* Gain AGC Control */
10,                          //agc_adc_large_overload_exceed_counter *** adi,agc-adc-large-overload-exceed-counter
2,                           //agc_adc_large_overload_inc_steps *** adi,agc-adc-large-overload-inc-steps
0,                          //agc_adc_lmt_small_overload_prevent_gain_inc_enable *** adi,agc-adc-lmt-small-overload-prevent-gain-inc-enable
10,                          //agc_adc_small_overload_exceed_counter *** adi,agc-adc-small-overload-exceed-counter
4,                          //agc_dig_gain_step_size *** adi,agc-dig-gain-step-size
3,                          //agc_dig_saturation_exceed_counter *** adi,agc-dig-saturation-exceed-counter
1000,                     // agc_gain_update_interval_us *** adi,agc-gain-update-interval-us
0,                           //agc_immed_gain_change_if_large_adc_overload_enable *** adi,agc-immed-gain-change-if-large-adc-overload-enable
0,                          //agc_immed_gain_change_if_large_lmt_overload_enable *** adi,agc-immed-gain-change-if-large-lmt-overload-enable
10,                           //agc_inner_thresh_high *** adi,agc-inner-thresh-high
1,                          //agc_inner_thresh_high_dec_steps *** adi,agc-inner-thresh-high-dec-steps
12,                          //agc_inner_thresh_low *** adi,agc-inner-thresh-low
1,                          //agc_inner_thresh_low_inc_steps *** adi,agc-inner-thresh-low-inc-steps
10,                          //agc_lmt_overload_large_exceed_counter *** adi,agc-lmt-overload-large-exceed-counter
2,                          //agc_lmt_overload_large_inc_steps *** adi,agc-lmt-overload-large-inc-steps
10,                           //agc_lmt_overload_small_exceed_counter *** adi,agc-lmt-overload-small-exceed-counter
5,                          //agc_outer_thresh_high *** adi,agc-outer-thresh-high
2,                          //agc_outer_thresh_high_dec_steps *** adi,agc-outer-thresh-high-dec-steps
18,                          //agc_outer_thresh_low *** adi,agc-outer-thresh-low
2,                          //agc_outer_thresh_low_inc_steps *** adi,agc-outer-thresh-low-inc-steps
1,                           //agc_attack_delay_extra_margin_us; *** adi,agc-attack-delay-extra-margin-us
0,                          //agc_sync_for_gain_counter_enable *** adi,agc-sync-for-gain-counter-enable
/* Fast AGC */
32,                          //fagc_dec_pow_measuremnt_duration *** adi,fagc-dec-pow-measurement-duration
260,                          //fagc_state_wait_time_ns *** adi,fagc-state-wait-time-ns
/* Fast AGC - Low Power */
0,                           //fagc_allow_agc_gain_increase *** adi,fagc-allow-agc-gain-increase-enable
5,                           //fagc_lp_thresh_increment_time *** adi,fagc-lp-thresh-increment-time
1,                          //fagc_lp_thresh_increment_steps *** adi,fagc-lp-thresh-increment-steps
/* Fast AGC - Lock Level */
10,                          //fagc_lock_level *** adi,fagc-lock-level
1,                           //fagc_lock_level_lmt_gain_increase_en *** adi,fagc-lock-level-lmt-gain-increase-enable
5,                          //fagc_lock_level_gain_increase_upper_limit *** adi,fagc-lock-level-gain-increase-upper-limit
/* Fast AGC - Peak Detectors and Final Settling */
1,                    //fagc_lpf_final_settling_steps *** adi,fagc-lpf-final-settling-steps
1,                    //fagc_lmt_final_settling_steps *** adi,fagc-lmt-final-settling-steps
3,                     //fagc_final_overrange_count *** adi,fagc-final-overrange-count
/* Fast AGC - Final Power Test */
0,                     //fagc_gain_increase_after_gain_lock_en *** adi,fagc-gain-increase-after-gain-lock-enable
/* Fast AGC - Unlocking the Gain */
0,                     //fagc_gain_index_type_after_exit_rx_mode *** adi,fagc-gain-index-type-after-exit-rx-mode
1,                     //fagc_use_last_lock_level_for_set_gain_en *** adi,fagc-use-last-lock-level-for-set-gain-enable
1,                     //fagc_rst_gla_stronger_sig_thresh_exceeded_en *** adi,fagc-rst-gla-stronger-sig-thresh-exceeded-enable
5,                     //fagc_optimized_gain_offset *** adi,fagc-optimized-gain-offset
10,                   //fagc_rst_gla_stronger_sig_thresh_above_ll *** adi,fagc-rst-gla-stronger-sig-thresh-above-ll
1,                    //fagc_rst_gla_engergy_lost_sig_thresh_exceeded_en *** adi,fagc-rst-gla-engergy-lost-sig-thresh-exceeded-enable
1,                   //fagc_rst_gla_engergy_lost_goto_optim_gain_en *** adi,fagc-rst-gla-engergy-lost-goto-optim-gain-enable
10,                 //fagc_rst_gla_engergy_lost_sig_thresh_below_ll *** adi,fagc-rst-gla-engergy-lost-sig-thresh-below-ll
8,                   //fagc_energy_lost_stronger_sig_gain_lock_exit_cnt *** adi,fagc-energy-lost-stronger-sig-gain-lock-exit-cnt
1,                   //fagc_rst_gla_large_adc_overload_en *** adi,fagc-rst-gla-large-adc-overload-enable
1,                   //fagc_rst_gla_large_lmt_overload_en *** adi,fagc-rst-gla-large-lmt-overload-enable
0,                  //fagc_rst_gla_en_agc_pulled_high_en *** adi,fagc-rst-gla-en-agc-pulled-high-enable
0,                   //fagc_rst_gla_if_en_agc_pulled_high_mode *** adi,fagc-rst-gla-if-en-agc-pulled-high-mode
512,                  //fagc_power_measurement_duration_in_state5 *** adi,fagc-power-measurement-duration-in-state5

 

Thanks in advance.

Outcomes