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.

LAUNCHXL-CC1310: Signal Generator BER test with CC1310

Part Number: LAUNCHXL-CC1310
Other Parts Discussed in Thread: CC1310

Hi, I am trying to do some sensitivity tests with the LaunchXL-CC1310. I notice that SmartRFStudio shows a BER when sending packets, but I wanted to run the test with a Vector Signal Generator so that I can control the exact power levels. Is there a way to setup SmartRFStudio to do a 1010 pattern? or are there any examples/projects for Code Compositor Studio which can either do the BER test or forward a clock and data signal to one of the GPIOs?

Thanks!

  • Hi

    I do not think it is possible for SmartRF Studio transmit continuous preamble, and to put the CC1310 in some kind of transparent mode to monitor the received signal on GPIOs is not a good way to test BER.

    CC1310 is not designed for transparent mode, but are designed to use the modem in normal packet mode, and this is probably the way you plan to use the device as well.

    To find the BER, you should simply do a PER test, and then calculate BER from PER based on the packet length, N in bits:

    PER = 1 - (1 - BER)^N

    Siri

  • I'm not looking to have SmartRF studio transmit a continuous preamble, I am looking for a way to use a vector signal generator to perform a BER test. Because of the complexity of sending an entire packet (and the lack of control of dBm using another CC1310) I wanted to see if there is a project that either measures the BER itself, or forwards a CLK and DATA signal similar to how the ST S2-LP does.

  • You can for some PHYs output the binary data signal that comes from the demodulator when receiving (no clock), but this is signals meant for debug purposes and are not useful for BER measurements.

    Since the radio is not designed to support transparent mode, you will risk that a PHY that has a sensitivity of for example -113 dBm when used in "packet mode", will have very bad duty cycle when you are getting down to the sensitivity limit when looking at the data on a GPIO, and doing BER tests with this signal will indicate that the sensitivity is worse than what it really is.

    I will assume that your testing it to figure out what sensitivity you will have on your HW using a specific PHY, and as long as you are using packet mode in your real application, this is what you need to use when testing sensitivity also.

    Siri

  • Ok, but this still doesn't answer my question, how do I do a controlled test of the sensitivity?

    Programming the CC1310 in packet mode as the transmitter doesn't allow me to accurately control the power like a signal generator. And as far as you've said, there's no way to create a packet with a 1010 pattern.

    Is there an example project for Code Compositor Studio for doing BER tests?

  • We do not do BER tests on our devices, we do PER tests, so we do not have any example code for this.

    When we do a PER test we use the device in "normal" where we receive packets, and then we set up a signal generator to send packets on the format that the device is programmed to receive. We then have full control on the signal strength of the packets, as they are sent from a signal generator.

    Once we know the PER, we can calculate the BER.

  • Follow up question, is there a good article or apps note on how to recreate the packets, especially the CRC?

  • What packet format to use depends on which PHY you are testing and how you set up your receiver.

    It would be helpful to know what PHY/settings you want to test, to be able to help you.

    SmartRF Studio will show you how the packets look like.

    Please notice that if you are using SLR PHYs/data rates below 10 kbps, there are patches that does encoding of the data, so if you want to send  packets of this format you need to encode the data manually and you cannot see what should be set on the air, by looking at the packet in SmartRF Studio.

    If you for example use the standard 50 kbps PHY, the default packet looks like this:

    4 bytes preamble, 4 bytes sync (0x930B51DE), 1 length byte n, n data bytes, 2 bytes CRC calculated over length and data bytes

    How the CRC can be calculated can be found here:

    https://www.ti.com/lit/swra111

    If you for example use the standard 50 kbps settings in the rfPacketRX example as the receiver, you can for example send the following packet from the signal generator:

    Preamble: 0x55555555

    Sync: 0x930B51DE

    Length: 0x03

    Payload Data: 0x55D6A9

    CRC: 0xCFDA

    0x55555555930B51DE0355D6A9CFDA

    Siri