UWB Transmit Power on PANS2

In the Firmware API Guide for PANS2, its listed how to modify the UWB TX pulse generation delay and the transmission power. Can anyone guide me on how to understand the document? What are the value that needs to be put in the tx power? What are the units? And what is the impact of changing the pulse generator delay?

Hi @arama
normally you should not touch this as it uses setting from OTP with calibrated values. Changing this value might violate its certification and it might not be legal in your country.

Regarding your questions:

  • pg delay - it affect the bandwidth shape and how wide it is. I wound not recommend to touch this in any case.
  • TX power - directly affect the transmitting power. Actually it is a 4 values (1B one value) and each value represent transmitted power for a packet with relations to gating gain. Different packet length can be transmitted with different TX power - for example longer packets have to be transmitted with lower power and short packets can me transmitter with higher power. This needs some study to understand this well.

Cheers
JK

1 Like

Thanks for your response. Another similar question I want to ask is about preamble length. What changes by modifying the preamble length? Is it make it more easier/harder to detect on low RSSI by other receivers?

Hi @arama
Im not sure if you can change preamble length with PANS. However preamble affect the receiver sensitivity. With longer preamble the sensitivity increases but also the message length increase so you might not be able to use higher transmit power => range decrease. Selection Preamble and other RF settings must be done carefully.

Cheers
JK

In dwm.h, there is a function

/* valid UWB preamble codes */
typedef enum {
    DWM_UWB_PRAMBLE_CODE_9 = 9,
    DWM_UWB_PRAMBLE_CODE_10 = 10,
    DWM_UWB_PRAMBLE_CODE_11 = 11,
    DWM_UWB_PRAMBLE_CODE_12 = 12
} dwm_uwb_preamble_code_t;

/**
 * @brief Sets UWB preamble code
 *
 * @param[in] code One of the preamble codes in dwm_uwb_preamble_code_t
 *
 * @return Error code
 * @retval DWM_OK Success
 *
 * @retval DWM_ERR_INTERNAL DWM internal error
 * @retval DWM_ERR_INVAL_PARAM Invalid preamble code
 */
int dwm_uwb_preamble_code_set(dwm_uwb_preamble_code_t code);

I thought these are preamble length. Can you help me understand what these method are and how it should be used then? Because the Documentation on firmware API does not contain them.

Hi @arama
simply read the DW1000 manual where this is explained. However for PANS don’t change it - it should not be there. More likely you will make the system not functional by changing this values.

Cheers
JK

Understandable, thank you