communication – How do you find Image Rejection Ratio from doing FFT on ADC samples?

I’m trying to understand a particular code written by a former employee for measuring performance of an RX chain in a transceiver. I have to measure IRR(Image Rejection Ratio).

Certain input RF frequency is down converted to a baseband frequency of 76.8MHz. The output is sampled using ADC. I have 512 samples and sampling rate is 983.04 MHz.

My previous employee code roughly says

int Signal_Index= fft.maxPowerIndex();`  //**I understand this line**--

it is to bin #40 which makes sense because 40*Fs/512=76.8MHz

int Image_Index=fft.size()-Signal_Index;` // **I don't understand this.**

After that he proceeds to calculate difference between power levels at both index and hence IRR

But I don’t understand why image is at a different bin when in fact both image and signal are both down converted to same frequency.

Please note

  1. LO freq and input RF freq are both greater than 30GHz
  2. I understand what an Image is- that both signal and image are equal distance from LO freq. The relation being ω_im = ω_in + 2ω_IF

Have I read the code wrongly?

Read more here: Source link