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.

AWR6843ISK: AWR6843ISK

Part Number: AWR6843ISK

i have doubt regarding range -azimuth heat map generation using capon beam former.the formula used to generate Range -azimuth is attached in below image.

My questions:

1. does above equation is implemented for each range bin samples using Range FFT output data ?

      Ex:

         range_fft_output_data  =   4x8x16 matrix

          where

               4 -no of chirp

               8- no of antenna

              16 - range bin 

        step 1:

        Rxx,1 is calculated for  first range bin number

       step 2:

        then using Rxx,1 and steering vector, P1a for the first range bin is estimated.

       step 3:

         the same process is repeated for all the 16 range bins and finally  we will have matrix of (16 range bin  X  corresponding P16a values ).this matrix is called Range-azimuth heat map.

        please confirm my understanding is correct or not?

 2. in the above equations (Rxx,n and Pna),where n signifies Number of range bin or any other value?

 

Regards,

Mani

      

      

  • Hi, Mani:

    1) Your understanding is correct, the generated range-angle heatmap is in magnitude square.  

    2) In Rxx, n and Pna, n is the range bin index. 

    Best,

    Zigang

  • hi zignag,

    thanks for your

  • i have follow up questions:

    i have created sample data and written MATLAB code to implement the above formula and attached for your reference:

     the variable resp contain range fft ouput taken for all the virtual antennas for different chirp  and its dimensions are as shown below.

    resp = 512 x 8 x 64 (512 (fft range bins) x 8 (virtual antenna) x 64(no of chirp )

    %%%%%%%%%% MATlab code to implement the formula %%%%%%%%%%%%%%

    %%%%%%%%%% step 1: RXX-1 estimation %%%%%%%%%%%%%%

    capon_beamformer_input_ant_ch_Rng_bin = permute(resp,[2 3 1]); %%% virtual antenna x no of chirp x fft range bins

    T=size(resp,1);
    for k=1:T %%%% repeat for each range bin

    for jj=1:size(resp,3)%%%% repeat for No of chirp times
    Xnc = capon_beamformer_input_ant_ch_Rng_bin(:,jj,k); %%%%%%%%% calculation of
    Rx_temp(:,:,jj) = Xnc * conj(Xnc).';
    end

    Rx(:,:,k) = sum(Rx_temp,3)/size(resp,3);
    Cov_Inv(:,:,k) = inv(Rx(:,:,k)); %Inverse of covariance matrix for each range bin

    end


    % %%%%%%%%%% step 2: steering vector calculation %%%%%%%%%%%%%%

    Nt = 2;
    Nr = 4;

    dr = lambda/2;
    varray = phased.ULA(Nt*Nr,dr);

    AZ_ang = -50:1:50;
    EL_ang = zeros(1,size(AZ_ang,2));%%%%%%%%% for elevation 0 deg
    angle_comb=[AZ_ang; EL_ang];

    beam_scan_angles= angle_comb;
    steeringvector = phased.SteeringVector('SensorArray',varray,'PropagationSpeed',c);
    sv_matlab_func = steeringvector(fc,beam_scan_angles);%%%%% virtual antenna x 101 AZ angle binz from -50 to 50 in steps of 1 deg
    release(steeringvector);

    %%%%%%%%%%% step 3: power spectral estimation%%%%%%%%%%%%%%

    No_of_Range_bin = size(resp,1);
    for m=1:No_of_Range_bin

    PP_temp_1 = sv_matlab_func'*Cov_Inv(:,:,m)*sv_matlab_func;
    P_MVDR_1D_temp(:,m) = 1./PP_temp_2;%%% will give error
    end

    %%%%%%%%%%%%%%%%

    Note: i have not implemented diagonal loading steps in the above step. Directly using RXX-1 with out diagonal loading in step 3 to estimate power spectral.

    my questions:

    1. please confirm ,does RXX-1 estimation code written as step 1 is correct as specified by the formula or not?

    2. in step 3 ,estimate power spectral Pna for each range bin using calculated RXX-1 and steering vector values as mentioned in the formula. Rxx-1 is matrix with dimension of 8 x 8 ,steering vector is matrix with dimension of 8 x 101 and the final result Pna will be 101x 101 matrix ...then how will we get Range -azimuth Heatmap?

    3.can you confirm the INr parameter value to be used in Diagonal loading mentioned in formula?

    regards,

    Mani

  • HI, Mani:

    Sorry, we will not be able to review the coding for our customers. 

    Could you let me know which application you are working on? Are you based on some existing TI demo?  Do you need range-azimuth heatmap or range-azimuth-elevation heatmap?

    Best,

    Zigang

  • hi zigang,

       we have recently procured Awr6843ISk evaluation kit..we are working on in-cabin sensing -occupant detection application.

    currently developing Matlab coding for both range azimuth heat map as well as range -azimuth-elevation heat map.

    if you have any relevant material or matlab codesor links ...kindly share for reference.

    i have simplified my previous question

          Ex:

             range_fft_output_data  =   4x8x16 matrix

              where

                   4 -no of chirp

                   8- no of antenna

                  16 - range bin 

            step 1:

                 1.Rxx,1 is calculated for  first range bin number, which will give (8x8)matrix

                  2. i have selected Azimuth angle range -50:50 deg in the step of 1 deg.

                        generated steering vectors size 8x 101(virtual antenna x no of azimuth angle range)         

                   3.using Rxx,1 and steering vector, P1a for the first range bin is estimated as shown in the formula

                                 p1a = 1/ ( (steeringvector )H * (Rxx1)^-1 * (steeringvector )

                             this calculation  will give give matrix size of 101 x 101  ( ie (8 x101) H * (8x8) * (8* 101).

                        this does not match expected range-azimuth size..please confirm whether i m doing any mistake in understanding the formula?

                           

       

  • Hi, there:

    For your last step, 

     p1a = 1/ ( (steeringvector )H * (Rxx1)^-1 * (steeringvector )

    we are using:

     p1a = 1/ abs(diag( (steeringvector )H * pinv(Rxx1) * (steeringvector ))

    Hope you find it useful.

    Best,

    Zigang

  • Yes,I could find the same logic of talking diagonal values ,since it's hermitian matrix involved.. 

    Thanks zigzag, for confirming the same logic...

  • Can you confirm ,

    1.what is the reason for choosing alpha=0.03 in diagonal loading calculation?

    2.what will be  the effect of incresing or decreasing the alpha value over range-azimuth heat map?

  • HI, Mani:

    It is just experimental.  Smaller alpha can result in better SNR in good case, but worse stability in a bad case (no strong target), and vice visa. 

    Best,

    Zigang

  • thanks for your reply zigang