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.

MMWCAS-RF-EVM: Selecting fewer than 12 transmitters

Part Number: MMWCAS-RF-EVM

Hi, 

I have configured the frame as follows:

-- Frame configuration    
local start_chirp_tx            =   2
local end_chirp_tx              =   7
local nchirp_loops              =   128     -- Number of chirps per frame
local nframes_master            =   40    -- Number of Frames for Master
local nframes_slave             =   40   -- Number of Frames for Slaves
local Inter_Frame_Interval      =   500    -- ms
local trigger_delay             =   0      -- us
local trig_list                 =   {1,2,2,2} -- 1: Software trigger, 2: Hardware trigger    

I can confirm that the size of the captures reduced correctly (6 instead of 12 TX, so half the data). However, when post-processing in MATLAB, the following code shows all 12 TX enabled. How do I ensure the transmitters 2 to 7 are processed correctly. How should I set numChirpConfig and numTXPerDev in the parameter_file_gen_json.m script?

Here is an extract from that script:

   numChirpConfig = 12;
    numTXPerDev = 3;
    totTx = numTXPerDev*params_chirp.NumDevices;
    TxEnableTable = zeros(numChirpConfig, totTx);
    for iDev = 1:params_chirp.NumDevices
        for iconfig = 1:numChirpConfig
            TxEnableTable(iconfig,1+(iDev-1)*numTXPerDev) = ...
                params_chirp.DevConfig(iDev).Chirp(iconfig).Tx0Enable;
            TxEnableTable(iconfig, 2+(iDev-1)*numTXPerDev) = ...
                params_chirp.DevConfig(iDev).Chirp(iconfig).Tx1Enable;
            TxEnableTable(iconfig, 3+(iDev-1)*numTXPerDev) = ...
                params_chirp.DevConfig(iDev).Chirp(iconfig).Tx2Enable;
        end
    end
    
    TxChannelEnabled = zeros(1,numChirpConfig);
    for iconfig = 1:numChirpConfig
        [channelID] = find(TxEnableTable(iconfig,:)~=0);
         TxChannelEnabled(iconfig) = channelID;     
    end

  • Line 67 in JsonParser.m appears to load the TxToEnable from the json

    %get the tx channel enable
    TxChannelEn = hex2dec(MmWaveDevicesConfig{Count}.rfConfig.rlChanCfg_t.txChannelEn(3:end));
    for TxChannel = 1:3
       if(bitget(TxChannelEn, TxChannel))
       TxToEnable = [TxToEnable (3*(DevIdMap(Count)-1))+TxChannel];
       end
    end

  • Hi,

    Unfortunately the team that developed these scripts is no longer available for support.

    Please use the provided scripts to understand as much as possible how they work.

    Let's also open the question to the forum community

    Thank you

    Cesar

  • Hi, 

    I found that each chip hardcoded with 12 chirps and then three are active per chip. Deleting the hardcoded lines allowed for programming fewer than twelve. However, the metadata always indicates that 12 transmitters were active. I found that switching from 12 TX to less than 12 resulted in the table in the figure below to still contain 12 chirps. After power cycling, one chirp is correctly represented in the table. Therefore, I am confident that the software is working. The reduced size of the data indicates that the firmware is working, so the metadata must be hardcoded somewhere. Please advise on whether this can be fixed.

  • Hi,

    Unfortunately the team that developed this SW is no longer available for support.

    Thank you

    Cesar