This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR2243BOOST: SNR CALCULATION.

Part Number: AWR2243BOOST
Other Parts Discussed in Thread: AWR2243

Tool/software:

Hello,

I am calculating SNR for a corner reflector with rcs 10 m2.

Chirp Config:

c_ms = 299792458; % Speed of light in m/s
sigma_dbsm = 10; % RCS in dBsm
fc = 77e9; % Carrier frequency in Hz
Pt_dBm = 13; % Transmitted power in dBm
Gt_dB = 10.85; % Transmitter gain in dB
Gr_dB = 10.85; % Receiver gain in dB
R_m = 3.2217; % Range in meters
Ramp_End_Time = 88.07e-6; % Ramp end time in seconds
ADC_Start_Time = 6.4e-6; % ADC start time in seconds
Nc = 255; % Number of chirps
NF_dB = 13; % Noise figure in dB
RX_gain_dB = 94; % Receiver gain in dB (Seen in Post processing Data)
So these are the config i used and on right is the output i got.



I am using this formula for calculation.
I have doubt regarding the value of Gr, Gt values. Where to get these values for awr2243?
Also, Tmeas = N*Tc
where Tc is chirp time = idle time + ramp end time (correct me if wrong)
N = no. of chirps

F is noise figure of receiver right?
noise figure for awr2243 is 13db.Should I take this value or is there another formula to get F?
 
what i did is, take value from this graph as 10.85 db for both antenna gain.Please correct me if i am wrong.
Also after post processing the Rx gain that is showing is 94 db.(I have kept it as 30db in chirp config which can be seen in above fig)
How is it even possible when what max Rx gain possible for awr2243 radar is 52db as mentioned in data sheet.


Lastly the values i put in that equation are in units respectively:

c_ms = 299792458; % Speed of light in m/s
sigma_dbsm in  m2
fc = 77e9; % Carrier frequency in Hz
Pt_in  Watt
Gt in linear scale
Gr in linear scale
R_m = 3.2217; % Range in meters
Ramp_End_Time = 88.07e-6; % Ramp end time in seconds
ADC_Start_Time = 6.4e-6; % ADC start time in seconds
Correct me if any unit conversion is to be needed.

Regards,
Ajit
  • Hi Ajit,

    Please give me until tomorrow to calculate from my side and get back to you. 

    Regards,

    Aydin

  • Hi Aydin,

    Sure no issues.
    Also can you please share on how we can calculate the SNR from the post processed output from mmwave studio.
    That is which graph to use and how to calculate using graphical method.

    Regards,
    Ajit

  • Hi Ajit, 

    From FFT, SNR is measured from the peak of the fundamental tone to the noise floor. Similarly, in the mmWave postproc, measuring from the peak of the reflected tone to the noise floor level would determine the SNR. It should also be shown under the Detection Results in the studio. I calculated the SNR based on your values and it is ~57dB. Please note, SNR measurement is dependent on the noise floor and the environment where the measurement is being done will have an impact on the value, ideally an anechoic chamber. 

    Regards,

    Aydin

  • Hi Aydin,

    Can you please share the formula you are using and also the doubts I have raised in previous chat regarding the Tmeas and F value, like how to get those?
    And the SNR value of 57db is way off from the post processed value.
    The output value from studio is 39db.
    Can you explain the details for your calculations. It would be really helpful.

    Regards,
    Ajit

  • Hi Ajit, 

    I am using the SNR formula and Tmeas as you have above with NF if 13dB 

    Please keep in mind that the theoretical SNR is ideal and will be much better than the measurement especially if you are measuring in a noisy environment. Measuring in an anechoic chamber would be the ideal case, it is not an apples-to-apples comparison. 

    Regards,

    Aydin

  • Hi Aydin,

    Actually what we are calculating is the ideal case I agree to that, but what about studio,  what formula is it using to get the SNR value as it is also using the raw data for any environment we are experimenting in.

    Like in power received, you added 4 db noise compensation, so is there anything like that we need to put in the SNR formula ?

    If there is can you please add the same here?

    I am using this matlab code for the calculation:

    function SNR_dB = radar_snr_calculation()
    % Constants
    Kb = 1.38e-23; % Boltzmann constant in J/K
    T = 290; % System temperature in K
    sigma_dbsm = 10; % RCS in dBsm
    Pt_dBm = 13; % Transmitted power in dBm
    Gt_dB = 10.85; % Transmitter gain in dB
    Gr_dB = 10.85; % Receiver gain in dB
    R_m = 6.2535; % Range in meters
    Ramp_End_Time = 88.07e-6; % Ramp end time in seconds
    ADC_Start_Time = 6.4e-6; % ADC start time in seconds
    Nc = 1; % Number of chirps
    NF_dB = 13; % Noise figure in dB
    L_dB = 30; % System losses in dB
    % Calculate Time-on-Target (ToT)
    ToT = Nc * (Ramp_End_Time - ADC_Start_Time);
    % Convert dB values to linear scale
    Pt = 10^((Pt_dBm - 30) / 10); % Convert dBm to Watts
    Gt = 10^(Gt_dB / 10);
    Gr = 10^(Gr_dB / 10);
    sigma = 10^(sigma_dbsm / 10);
    NF = 10^(NF_dB / 10);
    L = 10^(L_dB / 10);
    % Wavelength calculation
    c_ms = 3e8; % Speed of light in m/s
    fc = 77e9; % Carrier frequency in Hz
    lambda_m = c_ms / fc; % Wavelength in meters
    % Calculate SNR in linear scale
    SNR = Pt * Gt * Gr * lambda_m^2 * sigma * ToT / ((4 * pi)^3 * Kb * T * NF * L * R_m^4);
    % Convert SNR to dB
    SNR_dB = 10 * log10(SNR);
    % Display results
    fprintf('SNR (linear): %e\n', SNR);
    fprintf('SNR (dB): %f dB\n', SNR_dB);
    end
    % Call the function to calculate and display the SNR
    SNR_dB = radar_snr_calculation();


    Regards,
    Ajit
  • Hi Aydin,

    This is the other code i am using to get the SNR, here i am separately calculating the received power and noise power and then try to get the SNR.Please make changes if anything's wrong. I am using system losses which i got from some other user where they where having some doubt regarding snr calculation so that's why i am using L.Any logic behind this I also dont know.

    One thing I observed was when I increase the L value I am closer to the desired SNR.So, if there is any calculation or formula to get this L(System losses) please provide the same.

    function [Pr_dBFS, SNR_dB] = radar_power_and_snr_calculation()
    % Constants
    Kb = 1.38e-23; % Boltzmann constant in J/K
    T = 290; % System temperature in K
    sigma_dbsm = 10; % RCS in dBsm
    Pt_dBm = 13; % Transmitted power in dBm
    Gt_dB = 10.85; % Transmitter gain in dB
    Gr_dB = 10.85; % Receiver gain in dB
    R_m = 3.4; % Range in meters
    Ramp_End_Time = 88.07e-6; % Ramp end time in seconds
    ADC_Start_Time = 6.4e-6; % ADC start time in seconds
    Nc = 1; % Number of chirps
    NF_dB = 13; % Noise figure in dB
    L_dB = 7; % System losses in dB
    Antenna_LOSS = -4; % Antenna Loss
    Rx = 30; % Receiver Gain in dB
    % Calculate Time-on-Target (ToT)
    ToT = Nc * (Ramp_End_Time - ADC_Start_Time);
    % Convert dB values to linear scale
    Pt = 10^((Pt_dBm - 30) / 10); % Convert dBm to Watts
    Gt = 10^(Gt_dB / 10);
    Gr = 10^(Gr_dB / 10);
    sigma = 10^(sigma_dbsm / 10);
    NF = 10^(NF_dB / 10);
    L = 10^(L_dB / 10);
    % Wavelength calculation
    c_ms = 3e8; % Speed of light in m/s
    fc = 77e9; % Carrier frequency in Hz
    lambda_m = c_ms / fc; % Wavelength in meters
    % Antenna Loss
    AL = 10^(Antenna_LOSS / 10);
    % Calculate received power in linear scale
    Pr = Pt * Gr * Gt * lambda_m^2 * AL * sigma / ((4 * pi)^3 * R_m^4) * 1000;
    % Convert received power to dBm
    Pr_dBm = 10 * log10(Pr);
    % Convert received power to dBFS
    Pr_dBFS = Pr_dBm - 13 + Rx; % Subtracting conversion factor and adding 30dB RX receiver gain
    % Noise power calculation in linear scale
    B = 1 / ToT; % Bandwidth in Hz
    NoisePower = Kb * T * B * NF * L; % Noise power in Watts
    % Convert noise power to dBm
    NoisePower_dBm = 10 * log10(NoisePower * 1000); % Convert Watts to mW and then to dBm
    % Calculate SNR in dB
    SNR_dB = Pr_dBm - NoisePower_dBm;
    % Display results
    fprintf('Received Power (linear): %e W\n', Pr);
    fprintf('Received Power (dBm): %f dBm\n', Pr_dBm);
    fprintf('Received Power (dBFS): %f dBFS\n', Pr_dBFS);
    fprintf('Noise Power (linear): %e W\n', NoisePower);
    fprintf('Noise Power (dBm): %f dBm\n', NoisePower_dBm);
    fprintf('SNR (dB): %f dB\n', SNR_dB);
    end
    % Call the function to calculate and display the received power and SNR
    [Pr_dBFS, SNR_dB] = radar_power_and_snr_calculation();

    Regards, 
    Ajit
  • Hi Ajit,

    Introducing more loss is not the correct approach here. If the loss is higher, your peak would be much lower. However, in your measurement we are able to match the peak, but the noise floor is not flat, and it is obvious that the measurement is being done in a noisy environment with multiple reflections. To be closer to the ideal case, the measurement should be done in an ideal environment with a similar reflector. Please try to repeat the measurement in a less noisy environment and observe the noise floor.

    Regards,

    Aydin

  • Hi Aydin,

    Sure will try that in an anechoic chamber soon. For the time being can you please check my code for SNR here and correct if any parameters are being left out or conversions. That would be really helpful.

    Also how exactly does studio calculate the SNR, from graph or from formula?
    Can you brief me about it?

    Regards,
    Ajit

  • Hi Ajit,

    Sure, please give me a day or two to check this with our firmware team and get back to you and I will take a look at your matlab code in the meantime.

    Regards,

    Aydin

  • Hi Aydin,

    Any update regarding SNR?

    Regards,
    Ajit

  • Hi Ajit, 

    Following up with the team, studio measures the SNR from the plot by taking the peak versus the average noise floor.

    I also went over the calculation one more time with the system team and I want to clarify a couple of points. First point to make sure is the number of chirps in the formula should be only, 1 chirp with Tc of 94uS in this case. In terms of losses, 4dB trace loss plus ~10dB phase noise due to LO should be taken into account. Sorry I'm having trouble from my side with Matlab, couldn't run your code but please check the calculation below including the additional 10dB loss. 

    Regards,

    Aydin

  • Hi Aydin,

    I think this should do it probably, studio output is near to 40 dB, and we are getting 48 dB so shall I take 8 dB loss as environmental and interference loss. Also, we calculate ideal SNR value and real value from studio that's why the difference right?
    How did you get Tc of 94uS it should be 
    ToT = Nc * (Ramp_End_Time - ADC_Start_Time);
    81.67 uS should come for 

    Ramp_End_Time = 88.07e-6; % Ramp end time in seconds
    ADC_Start_Time = 6.4e-6; % ADC start time in seconds




    One final doubt, the formula I am using is it correct. I have attached the same as screenshot.
    Please do correct if any part is missing or incorrect.

    Regards,
    Ajit

  • Hi Ajit, 

    Formulas seem correct. If I take the average noise floor and estimate the SNR from your measurement plot, I read ~43-44 dB so yes, it is very close and clutter from the environment would explain the difference. Tc would be ramp end time plus the idle time which is 7uS you defined in the studio. 

    Regards,

    Aydin