A Costas Loop is a non-data-aided PLL-based method for carrier frequency offset compensation. The primary application of Costas loops is in wireless receivers. By using this, the frequency offset between the Tx and Rx is compensated without the help of pilot tones or symbols. The Costas Loop is implemented for the BPSK and QPSK modulations with a change in the error calculation block. Employing a Costas Loop for the phase or frequency sync might result in phase ambiguity, which must be corrected through techniques such as differential encoding.