Bluetooth Full Duplex Voice and Data Transmission
This model shows the full duplex communication between two Bluetooth® devices. Both data packets and voice packets can be transmitted between the two devices:
- Supported voice packet types: HV1, HV2, HV3 and SCORT
- Supported data packet types: DM1
A system parameters block configures the packet type, slot pair, and channel type. Stateflow® is used to implement the acknowledgement scheme for the data packets and the SCORT receiver state machine.
Structure of the Example
A Bluetooth core system consists of an RF transceiver, baseband, and protocol stack. The system offers services that enable the connection of devices and the exchange of a variety of classes of data between these devices. This example is focused on the simulation of a piconet consisting of a master, a slave, and a transmission channel.
This model includes CVSD speech coding, HEC, payload CRC for DM1, FEC, framing, GFSK Modulation, frequency hopping, hop sequence generation, an 802.11b interferer, wave file I/O, BER meters, spectrum, timing, and spectrogram plot.
You can set the system parameters by double-clicking the Model Parameters block in the top left. You can toggle instrumentation (spectrum, spectrogram, and timing diagram) by double-clicking the switch. The ARQN display for data transmission can be turned on or off.
The transmitter consists of:
- The controller block (based on BT spec Part B 7.6 ARQ Scheme)
- The payload and FEC block (based on BT spec Part B 7)
- The framing block (based on BT spec Part B 6.1 6.4 and 7.3)
- The radio block (based on BT spec Part A 3.1 Basic Rate)
The receiver consists of:
- The radio block (based on BT spec Part A 4.1 Basic Rate)
- The deframing block (based on BT spec Part B 7)
- The controller block(based on BT spec Part B 7)
The following subsystems are constructed in the Bluetooth Full Duplex library:
- AWGN Channel
- AWGN Channel and 80211b interference
- None (direct connection)
Communication Blocks Used
This model shows the use of the following Communications blocks:
- The CPM Modulator Baseband block is used to implement the GFSK (Gaussian frequency shift keying). The Bluetooth radio module uses GFSK, where a binary one is represented by a positive frequency deviation and a binary zero by a negative frequency deviation.
- The M-FSK Modulator Baseband block is used to implement the frequency hopping in Bluetooth Radio. The Bluetooth radio accomplishes spectrum spreading by using 79 frequency hops, each displaced by 1 MHz, starting at 2.402GHz and finishing at 2.480GHz.
- The Free Space Path Loss block, together with the AWGN block and the 802.11b interference subsystem, shows the construction of a transmission channel.
- The General CRC Generator block is used for transmitted data CRC calculation.
- The use of the M-FSK Demodulator block, the General CRC Syndrome Detector block, and the implementation of rate 1/3 and rate 2/3 payload FEC are also included.
The model also uses Stateflow charts to implement:
- The Transmitter Controller
- The Receiver Controller, which decides on the successful reception of a packet by looking at the status of the access code, HEC and CRC
Signals Between the Two Devices
- Tx_Raw_Bits1: The master device generates information data randomly, does CRC and FEC payload, and packs them according to the Bluetooth defined format (similarly, Tx_Raw_Bits2 is for the slave device).
- Signal_Tx1: The master device takes Tx_Raw_Bits1 and modulates according to the Bluetooth standard. Signal_Tx1 will be transmitted through the channel (similarly, Signal_Tx2 is for the slave device).
- Signal_Rx1: The raw received signal after AWGN and interference. Signal_Rx1 is fed to the master device for demodulation and detection (similarly, Signal_Rx2 is for the slave device).
- Tx_Info_Bits1: The information data generated by the master with CRC payload but no FEC. Tx_Info_Bits1 is used for SCO BER check on the slave side (similarly, Tx_Info_Bits2 is for the master device).
- Diagnostics2: A collection of frame and packet information for the ACL BER check on the master side (similarly, Diagnostics1 is for the slave device).
- master_SCO: SCO BER information from the master device for display (similarly, slave_SCO is for the slave device).
- master_ACL: ACL BER information from the master device for display (similarly, slave_ACL is for the slave device).
- Interference: The interference signal generated from a 802.11b channel.
Results and Displays
The scope display includes:
- The timing diagram of the received signal
- The received signal spectrum and the spectrogram of the channel
The Master/Slave BER meters calculate:
- The data BER
- The data throughput
A succcessful system is decided by:
- The ACL(Asynchronous connection-oriented) BER being zero.
- The SCO (Synchronous connection-oriented) BER (which includes Raw BER, Residual BER, and FER) being within the specifications.
Standards can be found at: http://www.bluetooth.com/