# About IQ dc offset calibration

**URL:** <https://www.ruby-forum.com/t/about-iq-dc-offset-calibration/241554>\
**Category:** GNU Radio\
**Created:** [April 14, 2015, 4:27pm UTC](https://www.ruby-forum.com/t/about-iq-dc-offset-calibration/241554 "2015-04-14T16:27:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [April 14, 2015, 4:27pm UTC](https://www.ruby-forum.com/t/about-iq-dc-offset-calibration/241554/1 "2015-04-14T16:27:05Z")

</div>

hello! everyone!  
what’s the algorithm of the IQ dc offset ,IQ phase and amplitude  
calibration?I find the part in usrp fpga code,but I don’t understand  
how it works?Is there any documentions ?

---

<div class="post-metadata">

**Author:** ![SS\_SSSSS\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@SS\_SSSSS\_S](https://www.ruby-forum.com/u/SS_SSSSS_S)\
**Post date:** [April 14, 2015, 4:37pm UTC](https://www.ruby-forum.com/t/about-iq-dc-offset-calibration/241554/2 "2015-04-14T16:37:57Z")

</div>

This might be a more appropriate discussion for usrp-users.

Be that as it may:

DC-offset correction in the FPGA simply looks at the running average of  
the +ve and -ve samples, and makes adjustments to have them converge  
towards zero.

For I/Q amplitude/phase balance, the host-side code has a set of  
utilities for making measurements, and then there are simple corrections  
that can be applied in the FPGA, but the FPGA isn’t responsible for  
making the measurements.

Look at the UHD\_CAL\_RX\_IQ\_BALANCE and related utilities.

The host-side sends tones, and measures the received values to determine  
any phase/amplitude corrections that need to be applied.

On 2015-04-14 10:24, 弓长张 wrote:

> hello! everyone!  
> what’s the algorithm of the IQ dc offset ,IQ phase and amplitude calibration?I  
> find the part in usrp fpga code,but I don’t understand how it works?Is there any  
> documentions ?
> 
> * * *
> 
> Discuss-gnuradio mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio) [1]

Links:
