How to increase carrier bandwidth?

Hi friend,

I use SDK16.0, and the version of softdevice is S140 V7.0.1. We have a project using the nrf52840, which is sometimes used by carriers. I ported radio_test to my project and disabled the BLE stack when only the carrier is needed. We need to increase the RF transmit power to 19dbm. So we added a Skyworks RFX2411 amplifier to boost the RF power. Now the FCC requires that if the RX transmission power reaches 19dbm, the carrier bandwidth must be greater than 500KHz. Currently I use radio_unmodulated_tx_carrier(RADIO_TXPOWER_TXPOWER_Pos8dBm, RADIO_MODE_MODE_Nrf_1Mbit, 40) to generate the carrier and use the timer interrupt to generate 1Kbps OOK data I want to send. How to increase bandwidth? 

Best wishes

Ted Wu

  • Hello Ted,
    you have to use the modulated carrier option on radio test to create a carrier with wider bandwidth. 
    Best regards
    Asbjørn
  • Hi Asbjørn,

    Thank you for your reply. When I change the function from radio_unmodulated_tx_carrier to radio_modulated_tx_carrier the system locks up at the rnd8 function. Please see the picture below. I want to use 2.4GHz RF OOK 500 bps Manchester encoding. How to set transmit_pattern_t? Is g_pattern set to TRANSMIT_PATTERN_RANDOM, TRANSMIT_PATTERN_11001100, TRANSMIT_PATTERN_11110000 or something else?

    Best wishes

    Ted Wu

  • Hello Ted,
    I'm not sure I understand your case, you want to have Manchester encoding on the carrier, but you also want to have RANDOM payload? Do you have a data stream you want to modulate onto the carrier or are you looking for something that evenly toggles between 0 and 1? If the second is the case, you can use TRANSMIT_PATTERN_11001100, or TRANSMIT_PATTERN_11110000? 
    If you want to use Manchester I believe you have to create a data package based on the data stream you have in mind.
    The question why the code hangs on the RNG, I can't really think why that specific line would hang the code. Is this from the default radio_test code? The RNG peripheral doesn't require any other resources, it just generates numbers, unless there's something else of a priority interrupt taking control. Is the process counter stuck at this line too? If you compile the default radio_test code and run that with the RNG, does it stop then as well?
    Best regards
    Asbjørn
Related