Main Content

bluetoothRFPHYTestConfig

Bluetooth LE RF-PHY test configuration parameters

Since R2022a

    Description

    Use the bluetoothRFPHYTestConfig object to set Bluetooth® low energy (LE) radio frequency physical layer (RF-PHY) transmitter and receiver test configuration parameters compliant with RF-PHY.TS.p15 [2].

    Creation

    Description

    cfgRFPHYTest = bluetoothRFPHYTestConfig creates a default Bluetooth LE RF-PHY test configuration object.

    cfgRFPHYTest = bluetoothRFPHYTestConfig(Name=Value) sets properties by using one or more optional name-value arguments. For example, Test="Inband emissions" sets the RF-PHY test operation to measure and verify inband emissions.

    example

    Properties

    expand all

    RF-PHY test operation, specified as one of these values.

    Test Value Transmitter or Receiver TestDescription
    "Output Power"TransmitterMeasure and verify the maximum peak and average power emitted from the instrument under test (IUT).
    "Inband emissions"TransmitterMeasure and verify the inband spectral emissions at normal operating conditions.
    "Modulation characteristics"TransmitterMeasure and verify the modulation characteristics of the transmitted signal.
    "Carrier frequency offset and drift"TransmitterMeasure and verify the carrier frequency offset and carrier drift of the transmitted signal.
    "Tx power stability"TransmitterMeasure and verify whether the angle of departure (AoD) transmit signal has settled at the beginning of the reference period and remains stable within the transmit slots.
    "C/I"ReceiverMeasure and verify the receiver performance in the presence of co-channel and adjacent channel interference.
    "Blocking"ReceiverMeasure and verify the receiver performance in the presence of interference sources operating outside the [2400, 2483.5] MHz band.
    "Intermodulation"ReceiverMeasure and verify the intermodulation performance of the receiver.
    "Receiver sensitivity"ReceiverMeasure and verify receiver sensitivity for receiving non-ideal signals at normal operating conditions.
    "Maximum input signal level"ReceiverMeasure and verify the ability of a receiver to demodulate a wanted signal at high signal input levels.
    "PER report integrity"ReceiverMeasure and verify the device under test (DUT) packet error rate (PER) report mechanism for the correct number of packets received at the tester with uncoded data.
    "IQ samples coherency"ReceiverMeasure and verify the relative phase values derived from the in-phase (I) and quadrature (Q) values sampled on an IUT AoD or angle of arrival (AoA) receiver from a constant tone extension (CTE).
    "IQ samples dynamic range"ReceiverMeasure and verify I and Q values sampled on receipt of an AoD/AoA CTE from a peer device when the dynamic range of the CTE varies. This test marks any invalid samples as invalid.

    Data Types: char | string

    PHY transmission mode, specified as one of these values.

    Mode Value Characteristics
    "LE1M"
    • LE uncoded PHY

    • Modulation scheme is Gaussian frequency-shift keying (GFSK)

    • Data rate is 1 Mb/s

    "LE2M"
    • LE uncoded PHY

    • Modulation scheme is GFSK

    • Data rate is 2 Mb/s

    "LE125K"
    • LE Coded PHY

    • Modulation scheme is GFSK

    • Data rate is 125 kb/s

    "LE500K"
    • LE Coded PHY

    • Modulation scheme is GFSK

    • Data rate is 500 kb/s

    This table shows the Mode property values supported by each Test property value.

    Test Value Mode value
    "Output Power""LE1M" and "LE2M"
    "Inband emissions""LE1M" and "LE2M"
    "Modulation characteristics""LE1M", "LE2M", and "LE125K"
    "Carrier frequency offset and drift""LE1M", "LE2M", and "LE125K"
    "Tx power stability""LE1M" and "LE2M"
    "C/I""LE1M", "LE2M", "LE125K", and "LE500K"
    "Blocking""LE1M" and "LE2M"
    "Intermodulation""LE1M" and "LE2M"
    "Receiver sensitivity""LE1M", "LE2M", "LE125K", and "LE500K"
    "Maximum input signal level""LE1M" and "LE2M"
    "PER report integrity""LE1M", "LE2M", "LE125K", and "LE500K"
    "IQ samples coherency""LE1M" and "LE2M"
    "IQ samples dynamic range""LE1M" and "LE2M"

    Data Types: char | string

    Payload length of the Bluetooth LE test packet, in bytes, specified as an integer in the range [31, 255]. This value specifies the number of bytes that the object processes in a packet.

    Dependencies

    To enable this property, set the Test property to "Output Power", "Inband emissions", "Modulation characteristics", "Carrier frequency offset and drift", "C/I", "Blocking", "Intermodulation", "Receiver sensitivity", "Maximum input signal level", or "PER report integrity".

    Data Types: double

    Modulation index, specified as a scalar in the range [0.45, 0.55]. This input specifies the modulation index that this function uses while performing GFSK modulation.

    Data Types: double

    Length of the frequency pulse shape, specified as an integer in the range [1, 4]. Units are in symbol intervals.

    Data Types: double

    Type of Bluetooth LE test packet, specified as "ConnectionCTE" or "Disabled". This table shows the Mode values that each value of this property supports.

    PacketType ValueMode Value

    "ConnectionCTE"

    "LE1M" or "LE2M"

    "Disabled"

    "LE1M", "LE2M", "LE125K", or "LE500K"

    Because the CTE field position is same for an LE test packet and the data packet, this object specifies the "ConnectionCTE" packet type for the CTE-based tests.

    Dependencies

    To enable this property, set the Test property to "Output power", "Carrier frequency offset and drift".

    Data Types: char | string

    Length of CTE, specified as an integer in the range [2, 20]. This value specifies the length of the CTE in 8 microsecond duration.

    Dependencies

    To enable this property, apply these configurations.

    • Set the Test input to "Tx power stability", "IQ samples coherency", or "IQ samples dynamic range".

    • Set the PacketType input to "ConnectionCTE".

    Data Types: double

    Type of CTE, specified as [0;0], [0;1], or [1; 0]. This table shows the valid Test property values for each value of this property.

    CTEType Value CharacteristicsValid Test Values
    [0;0]AoA

    • "Carrier frequency offset and drift"

    • "Output power"

    • "IQ samples coherency"

    • "IQ samples dynamic range"

    [0;1]AoD with 2 µs slot duration

    • "Tx power stability"

    • "IQ samples coherency"

    • "IQ samples dynamic range"

    [1;0]AoD with 1 µs slot duration

    • "Tx power stability"

    • "IQ samples coherency"

    • "IQ samples dynamic range"

    Dependencies

    To enable this property, apply these configurations.

    • Set the Test property to "Tx power stability", "Carrier frequency offset and drift", "IQ samples coherency", or "IQ samples dynamic range".

    • Set the PacketType property to "ConnectionCTE".

    Data Types: double

    Samples per symbol, specified as a positive integer.

    Data Types: double

    Size of antenna array, specified as a positive integer or a two-element row vector of positive integers. Setting this property to a positive integer specifies a uniform linear array (ULA) antenna array design with array elements on the y-axis. Setting this property to a vector specifies a uniform rectangular array (URA) antenna array design. The vector must be of the form [r c], where r and c denote the number of row elements and column elements in the antenna array, respectively. In this case, the row elements and column elements are present along the y-axis and z-axis, respectively. You must specify a value greater than 2 for both ULA and URA antenna design.

    Dependencies

    To enable this property, set the Test property to "Tx power stability", "IQ samples coherency", or "IQ samples dynamic range".

    Data Types: double

    Normalized element spacing with respect to signal wavelength, specified as a positive number less than or equal to 0.5 or a 2-element row vector of positive numbers less than or equal to 0.5. Setting this property to a positive number specifies a ULA antenna array design with array elements on the y-axis. Setting this property to a vector specifies a URA antenna array design. The vector must be of the form [sr sc], where sr and sc denote the spacing between row and column elements of the antenna array, respectively. In this case, the rows and columns are present along the y-axis and z-axis, respectively.

    Dependencies

    To enable this property, set the Test property to "Tx power stability", "IQ samples coherency", or "IQ samples dynamic range".

    Data Types: double

    Frequency of operation, specified as "Low", "Mid", or "High". For more information about this property, see RF-PHY.TS.p15 Section 6 Table 6.1 [2].

    Dependencies

    To enable this property, set the Test property to "Output Power", "Inband emissions", "Modulation characteristics", "Carrier frequency offset and drift", "Tx power stability", "C/I", "Intermodulation", "Receiver sensitivity", "Maximum input signal level", "IQ samples coherency", or "IQ samples dynamic range".

    Data Types: double

    Number of test frequencies, specified as a positive integer. This table shows the Mode values supported by this property.

    NumTestFrequencies ValuesMode Value
    integer in the range [1, 78]"LE1M"
    integer in the range [1, 74]"LE2M"

    This property specifies the number of adjacent channels of the operating center frequency at which the object measures power at the transmitter and receiver end.

    Dependencies

    To enable this property, set the Test property to "Inband emissions".

    Data Types: double

    Resolution bandwidth, specified as a positive scalar in Hz.

    Dependencies

    To enable this property, set the Test property to "Output power", "Inband emissions", or "Tx power stability".

    Data Types: double

    Transmitter output power, specified as a scalar in the range [-20, 20]. Units are in dBm.

    Dependencies

    To enable this property, set the Test property to "Output power", "Inband emissions", or "Tx power stability".

    Data Types: double

    Initial carrier frequency offset, specified as a scalar in the range [-100 × 10³, 100 × 10³]. Units are in Hz.

    Dependencies

    To enable this property, set the Test property to "Modulation characteristics" or "Carrier frequency offset and drift".

    Data Types: double

    Carrier frequency drift, specified as a scalar in the range [-50 × 10³, 50 × 10³]. Units are in Hz.

    Dependencies

    To enable this property, set the Test property to "Modulation characteristics" or "Carrier frequency offset and drift".

    Data Types: double

    Wanted signal input level in dBm, specified as a scalar or a row vector of length 4. This property depends on the Test property values as follows.

    • If you set the Test property to "C/I", "Blocking", "Intermodulation", "IQ samples coherency", "Receiver sensitivity", "Maximum input signal level", or "PER report integrity", specify this property as a scalar.

    • If you set the Test property to "IQ samples dynamic range", specify this property as a row vector of size 4.

    Dependencies

    To enable this property, set the Test property to "C/I", "Blocking", "Intermodulation", "IQ samples coherency", "IQ samples dynamic range", "Receiver sensitivity", "Maximum input signal level", or "PER report integrity".

    Data Types: double

    Interference signal 1 input level in dBm, specified as a scalar or a row vector of length 4. This property depends on the Test property values as follows.

    • If you set the Test property to "Intermodulation", specify this property as a scalar.

    • If you set the Test property to "C/I", specify this property as a row vector of size 4. The vector is based on the frequency offset from the operating CenterFrequency value fRx. Each element in the vector specifies the interference signal level at [fRx fRx + 1 fRx + 2 fRx + >= 3], where the frequency offset to fRx is in MHz. The interference signal is Bluetooth modulated.

    Dependencies

    To enable this property, set the Test property to "Intermodulation" or "C/I".

    Data Types: double

    Interference signal 2 input level in dBm, specified as a scalar. The interference signal is a sinusoidal unmodulated carrier.

    Dependencies

    To enable this property, set the Test property to "Intermodulation".

    Data Types: double

    Blocking signal input level in dBm, specified as a vector of size [1, 4]. This table shows the frequency band corresponding to each index of this vector.

    BlockingSignalLevel property vector indexFrequency band in MHz
    1[30, 2000]
    2[2003, 2399]
    3[2482, 2997]
    4[3000, 12750]

    Dependencies

    To enable this property, set the Test property to "Blocking".

    Data Types: double

    Frequency resolution of the blocking signal in Hz, specified as a positive vector of size [1, 4]. This table shows the frequency band corresponding to each index of this vector.

    BlockingSignalFreqResolution property vector indexFrequency band in MHz
    1[30, 2000]
    2[2003, 2399]
    3[2482, 2997]
    4[3000, 12750]

    Dependencies

    To enable this property, set the Test property to "Blocking".

    Data Types: double

    Number of Bluetooth LE test packets, specified as a positive integer. This value specifies the number of test packets that the object runs.

    Data Types: double

    Upper limit of packet error rate (PER), specified as a positive scalar that is a percentage. For more information about this property, see RF-PHY.TS.p15 Section 6 Table 6.4 [2].

    To add

    Dependencies

    To enable this property, set the Test property to "C/I", "Blocking", "Intermodulation", "Receiver sensitivity", "Maximum input signal level", or "PER report integrity".

    Data Types: double

    This property is read-only.

    RF-PHY test ID, returned as a character vector. This table shows the Test ID values that result from the Test, Mode, and CTEType values that you set.

    TestID ValueTest ValueMode ValueCTEType Value
    'RF-PHY/TRM/BV-15-C'"Output power""LE1M" and "LE2M""ConnectionCTE"
    'RF-PHY/TRM/BV-01-C'"Disabled"
    'RF-PHY/TRM/BV-08-C'"Inband emissions""LE2M""Disabled"
    'RF-PHY/TRM/BV-03-C'"LE1M"
    'RF-PHY/TRM/BV-09-C'"Modulation characteristics""LE1M"
    'RF-PHY/TRM/BV-11-C'"LE2M"
    'RF-PHY/TRM/BV-13-C'"LE125K"
    'RF-PHY/TRM/BV-16-C'"Carrier frequency offset and drift""LE1M""ConnectionCTE"
    'RF-PHY/TRM/BV-06-C'"Disabled"
    'RF-PHY/TRM/BV-17-C'"LE2M""ConnectionCTE"
    'RF-PHY/TRM/BV-12-C'"Disabled"
    'RF-PHY/TRM/BV-14-C'"LE125K""Disabled"
    'RF-PHY/TRM/PS/BV-02-C'"Tx power stability""LE1M" with CTEType value [1;0]"Disabled"
    'RF-PHY/TRM/PS/BV-01-C'"LE1M" with CTEType value [0;1]
    'RF-PHY/TRM/PS/BV-04-C'"LE2M" with CTEType value [1;0]
    'RF-PHY/TRM/PS/BV-03-C'"LE2M" with CTEType value [0;1]
    'RF-PHY/RCV/BV-15-C'"C/I""LE1M"
    'RF-PHY/RCV/BV-21-C'"LE2M"
    'RF-PHY/RCV/BV-34-C'"LE500K"
    'RF-PHY/RCV/BV-35-C'"LE125K"
    'RF-PHY/RCV/BV-16-C'"Blocking""LE1M""Disabled"
    'RF-PHY/RCV/BV-22-C'"LE2M"
    'RF-PHY/RCV/BV-17-C'"Intermodulation""LE1M"
    'RF-PHY/RCV/BV-23-C'"LE2M"
    'RF-PHY/RCV/BV-14-C'"Receiver sensitivity""LE1M"
    'RF-PHY/RCV/BV-20-C'"LE2M"
    'RF-PHY/RCV/BV-32-C'"LE500K"
    'RF-PHY/RCV/BV-33-C'"LE125K"
    'RF-PHY/RCV/BV-18-C'"Maximum input signal level""LE1M""Disabled"
    'RF-PHY/RCV/BV-24-C'"LE2M"
    'RF-PHY/RCV/BV-19-C'"PER report integrity""LE1M"
    'RF-PHY/RCV/BV-25-C'"LE2M"
    'RF-PHY/RCV/BV-36-C'"LE500K"
    'RF-PHY/RCV/BV-37-C'"LE125K"
    'RF-PHY/RCV/IQC/BV-05-C'"IQ samples coherency""LE1M" with CTEType value [0;0]"ConnectionCTE"
    'RF-PHY/RCV/IQC/BV-02-C'"LE1M" with CTEType value [1;0]
    'RF-PHY/RCV/IQC/BV-01-C'"LE1M" with CTEType value [0;1]
    'RF-PHY/RCV/IQDR/BV-06-C'"LE2M" with CTEType value [0;0]
    'RF-PHY/RCV/IQC/BV-04-C'"LE2M" with CTEType value [1;0]
    'RF-PHY/RCV/IQC/BV-03-C'"LE2M" with CTEType value [0;1]
    'RF-PHY/RCV/IQDR/BV-11-C'"IQ samples dynamic range""LE1M" with CTEType value [0;0]"ConnectionCTE"
    'RF-PHY/RCV/IQC/BV-08-C'"LE1M" with CTEType value [1;0]
    'RF-PHY/RCV/IQC/BV-07-C'"LE1M" with CTEType value [0;1]
    'RF-PHY/RCV/IQDR/BV-12-C'"LE2M" with CTEType value [0;0]
    'RF-PHY/RCV/IQC/BV-10-C'"LE2M" with CTEType value [1;0]
    'RF-PHY/RCV/IQC/BV-09-C'"LE2M" with CTEType value [0;1]

    Data Types: char

    This property is read-only.

    Frequency span for test measurement, returned as a scalar. Units are in Hz. If you set a positive value for this property, the ratio of this value to ResolutionBW property must be at least 2.

    Dependencies

    To enable this property, set the Test property to "Output power", "Inband emissions", or "Tx power stability". This table shows the frequency span values that result from the Test value that you set.

    Test Value FrequencySpan Value
    "Output Power" or "Tx power stability"0
    "Inband emissions"1×10⁶

    Data Types: double

    This property is read-only.

    Channel filter frequencies, returned as a scalar. This property specifies the channel filter frequency response that the object uses for test measurement. Units are in Hz.

    Dependencies

    To enable this property, set the Test property to "Modulation characteristics" or "Carrier frequency offset and drift". This table shows the channel filter frequency values that result from the Mode value that you set.

    Mode Value ChannelFilterFrequencies Value
    "LE2M"[1100×10³ 1300×10³ 2×10⁶ 4×10⁶]
    "LE1M" and "LE125K"[550×10³ 650×10³ 1×10⁶ 2×10⁶]

    Data Types: double

    This property is read-only.

    Channel filter amplitudes, returned as a real scalar. This property specifies the channel filter amplitude that the object uses for test measurement. Units are in dB.

    Dependencies

    To enable this property, set the Test property to "Modulation characteristics" or "Carrier frequency offset and drift".

    Data Types: double

    This property is read-only.

    Payload sequence of the Bluetooth LE test packet, returned as a character array or a cell array of two character arrays. This table shows the payload sequence values that result from the Test, Mode, and PacketType values that you set.

    PayloadSequence ValueTest Value Mode ValuePacketType Value
    '11111111'"Modulation characteristics""LE125K""Disabled"
    {'11110000','10101010'}"LE1M" and "LE2M""ConnectionCTE", "ConnectionlessCTE", and "Disabled"
    '11111111'"Carrier frequency offset and drift""LE125K""Disabled"
    '11110000'"LE1M" and "LE2M""ConnectionCTE"
    '10101010' "Disabled"
    'PRBS9'Others"LE1M", "LE2M", "LE125K", and "LE500K""ConnectionCTE" and "Disabled"

    Dependencies

    To enable this property, set the Test property to "Output Power", "Inband emissions", "Modulation characteristics", "Carrier frequency offset and drift", "C/I", "Blocking", "Intermodulation", "Receiver sensitivity", "Maximum input signal level", or "PER report integrity".

    Data Types: char

    This property is read-only.

    Payload sequence of interference signal 1, returned as "PRBS15". This property specifies the payload sequence that the object uses for the Bluetooth modulated interference signal.

    Dependencies

    To enable this property, set the Test property to "Intermodulation" or "C/I".

    Data Types: char

    Examples

    collapse all

    Create a default Bluetooth LE RF-PHY test configuration object.

     cfgRFPHYTest = bluetoothRFPHYTestConfig
    cfgRFPHYTest = 
      bluetoothRFPHYTestConfig with properties:
    
                    Test: 'Output power'
                    Mode: 'LE1M'
           PayloadLength: 37
         ModulationIndex: 0.5000
             PulseLength: 1
              PacketType: 'Disabled'
        SamplesPerSymbol: 8
    
       Measurements:
         CenterFrequency: 'Low'
            ResolutionBW: 3000000
             OutputPower: 0
              NumPackets: 1
    
       Read-only:
                  TestID: 'RF-PHY/TRM/BV-01-C'
           FrequencySpan: 0
         PayloadSequence: 'PRBS9'
    
    

    Create a Bluetooth LE RF-PHY test configuration object, specifying the PHY transmission mode as LE125K. Set the RF-PHY test operation to measure receiver performance in co- and adjacent channel interference conditions. Set the wanted signal level to -75 dBm.

    cfgRFPHYTest = bluetoothRFPHYTestConfig(Test='C/I', ...
        Mode='LE125K', ...
        WantedSignalLevel=-75)                                      % In dBm
    cfgRFPHYTest = 
      bluetoothRFPHYTestConfig with properties:
    
                              Test: 'C/I'
                              Mode: 'LE125K'
                     PayloadLength: 37
                   ModulationIndex: 0.5000
                       PulseLength: 1
                  SamplesPerSymbol: 8
    
       Measurements:
                   CenterFrequency: 'Low'
                 WantedSignalLevel: -75
            Interferer1SignalLevel: [-88 -82 -50 -40]
                        NumPackets: 1
                     PERUpperLimit: 30.8000
    
       Read-only:
                            TestID: 'RF-PHY/RCV/BV-35-C'
                   PayloadSequence: 'PRBS9'
        Interferer1PayloadSequence: 'PRBS15'
    
    

    References

    [1] Bluetooth Technology Website. “Bluetooth Technology Website | The Official Website of Bluetooth Technology.” Accessed November 22, 2023. https://www.bluetooth.com/.

    [2] Bluetooth Special Interest Group (SIG). "Radio Frequency Physical Layer (RF PHY)" RF-PHY.TS.p15. https://www.bluetooth.com/.

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2022a

    expand all