Streaming speech and music using Bluetooth Low Energy

Similar documents
Performance Evaluation of Bluetooth Low Energy Communication

1 / 11. Battery-less sensor nodes for /ZigBee wireless networks. Authors: M. Meli, M. da Silva

Performance of Smartphones while scanning low power Bluetooth Smart Beacons

Wireless Sensor Networks BLUETOOTH LOW ENERGY. Flavia Martelli

A Touch and Pair system for battery-free /ZigBee Home Automation networks

Bluetooth LE 4.0 and 4.1 (BLE)

On the Suitability of Bluetooth 5 for the Internet of Things: Performance and Scalability Analysis

Bluetooth Low Energy (Bluetooth Smart)

USB for Embedded Devices. Mohit Maheshwari Prashant Garg

Master. Slave. Master. Slaves. TCP/IP Traffic with Efficient Bluetooth Technology. Shafqat Hameed 1, Umar F.Khan 2, *Muhammad Saleem 3

The Future of Lighting Is Smart. Martin Mueller Roger Sexton

Impact of Black Hole and Sink Hole Attacks on Routing Protocols for WSN

MULTIPLEXER / DEMULTIPLEXER IMPLEMENTATION USING A CCSDS FORMAT

Terminal I/O Profile Client Implementation Guide

Use of ISP1880 Accelero-Magnetometer, Temperature and Barometer Sensor

Smart Phone Interfacing with ARM

Inside Bluetooth Low Energy

Controlling electrical home appliances, using Bluetooth Smart Technology (October 2015) Pedro José Vieira da Silva

BT 31 Data Sheet. Amp ed RF Technology Inc.

Investigation on OLSR Routing Protocol Efficiency

Developing Accessories for the Apple HomeKit Ecosystem. November 2016

Multihop Data Transfer Service for Bluetooth Low Energy

PM0257. BlueNRG-1, BlueNRG-2 BLE stack v2.x programming guidelines. Programming manual. Introduction

CHAPTER 5 PROPAGATION DELAY

Solutions to Performance Problems in VoIP Over a Wireless LAN

Guide to Wireless Communications, 3 rd Edition. Objectives

Audio over IP devices System description Ed 2.0

nblue TM BR-MUSB-LE4.0-S2A (CC2540)

Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets.

Bluetooth low energy technology Bluegiga Technologies

An Ethernet Based Control and Monitoring System Using ARM Processor

Bluetooth. Bluetooth Radio

Sounding Better Than Ever: High Quality Audio. Simon Forrest Connected Home Marketing

A Low-Cost Energy Management System That Compares Power Consumption of Electronic Home Appliances

Simulation and Analysis of Impact of Buffering of Voice Calls in Integrated Voice and Data Communication System

Implementation of an Adaptive MAC Protocol in WSN using Network Simulator-2

Power Management Techniques for Low- Energy IoT Devices

Using Network Analyzer Tool to Monitor Bluetooth Mesh Traffic

KW41Z IEEE and BLE Coexistence Performance

A Frame Aggregation Scheduler for IEEE n

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

CS263: Wireless Communications and Sensor Networks

Automatic Environmental Monitoring System using Wireless Sensor Network

CIS 700/002 : Special Topics : Bluetooth: With Low Energy comes Low Security

Impact of Voice Payload Size on Behaviour of the Field Network of the Armed Forces of the Czech Republic

Impact of IEEE MAC Packet Size on Performance of Wireless Sensor Networks

Module 6 STILL IMAGE COMPRESSION STANDARDS

Bluetooth: Short-range Wireless Communication

Product Specification

Simulative Investigation of Zigbee Network Coordinator Failure with Different QoS

XMEGA Series Of AVR Processor. Presented by: Manisha Biyani ( ) Shashank Bolia (

Real-time and Reliable Video Transport Protocol (RRVTP) for Visual Wireless Sensor Networks (VSNs)

Title: Using low-power dual-port for inter processor communication in next generation mobile handsets

This page intentionally left blank.

Bluetooth 5 Presenter Tomas O Raghallaigh )

MILCOM October 2002 (Anaheim, California) Subject

Bluetooth Core Specification v5.1

UNIT 5 P.M.Arun Kumar, Assistant Professor, Department of IT, Sri Krishna College of Engineering and Technology, Coimbatore.

Amarjeet Singh. February 7, 2012

Embedded Audio & Robotic Ear

Product Specification

MPEG4 VIDEO OVER PACKET SWITCHED CONNECTION OF THE WCDMA AIR INTERFACE

BT121 Bluetooth Smart Ready Module. May 2015

BTH-300. <Product Descriptions> <Specification>

ReDECTed Building an SDR based DECT sniffer. May 27 th, 2015 HITB HAXPO Marc Newlin

Wireless IP for M2M / IoT 101

LabVIEW ON SMALL TARGET

Energy profiler and Network analyzer Training Lab manual for

Chapter 5.5 Audio Programming

Latest Technology for Video-Streaming Gateway of M-stage V Live

BASIC CHARACTERISTICS OF ZIGBEE AND SIMPLICITI MODULES TO USE IN MEASUREMENT SYSTEMS

A Study of the Suitability of IrOBEX for High- Speed Exchange of Large Data Objects

Master Projekt 2. Autor: Heiner Perrey. Performance Analysis of Bluetooth Low Energy with Merkle s Puzzle. Date: May 20, 2012

Wireless Connectivity Options for IoT. By: MIST Makers John Varela and Nicholas Landy

MeshConnect. Voice over

Smart cards and smart objects communication protocols: Looking to the future. ABSTRACT KEYWORDS

LXRS and LXRS+ Wireless Sensor Protocol

Channel Adaptive ACK Mechanism in IEEE Wireless Personal Area Networks

Home Automation System Using Bluetooth Technology

Research Article Simulation of Efficiency in Mobile Ad Hoc Networks using OMNeT++

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

or between microcontrollers)

Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1

Improving QoS of VoIP over Wireless Networks (IQ-VW)

IMS Client Framework for All IP-Based Communication Networks

Implementation of Wireless Sensor Hub to Support Protocols Interoperability

JackTrip A efficient solution for remote audio transmission

Digital Circuits Part 2 - Communication

Local Area Networks NETW 901

Loosely Coupled Actor Systems

LOGITECH MEETUP FAQ WHAT IS MEETUP? Why would I need Logitech MeetUp?

Join the forward thinkers who rely on Toshiba for wireless connectivity ICs.

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments

The Key Technology of Online Service System Based on MQTT. Da-mei CHEN and Ze-hua GAO

Mobility Management for VoIP on Heterogeneous Networks: Evaluation of Adaptive Schemes

WT32i Bluetooth Audio Module + iwrap6 Bluetooth Software

AVC College of Engineering, Mayiladuthurai, India

A Real-Time BLE enabled ECG System for Remote Monitoring

Wireless Communication Using Zigbee Module and Aurdino

Bluetooth modules. Modules and turnkey solutions with embedded Bluetooth firmware and AT command

Transcription:

Zürich University of Applied Sciences;ZHAW-InES Streaming speech and music using Bluetooth Low Energy Marcel Meli, Olivier Rion Zurich University of Applied Sciences Institute of Embedded Systems Winterthur, Switzerland Marcel.Meli@zhaw.ch Abstract The new Bluetooth Low Energy standard has mostly been promoted and used for applications where low data rate is needed. For cases that require more bandwidth, Bluetooth Classic is still the preferred and marketed solution. A typical example is the streaming of music. In view of the popularity of Ble and its physical layer data rate, it is legitimate to investigate its practical throughput limits. To this purpose, we looked at different ways of using Ble transceivers to transmit data as fast as possible. We built a demonstrator that allows us to emulate several frame variations in order to improve the data rate for more demanding systems. The unconventional use of MIC positions for data allows us to be more efficient in transferring data. In this paper we summarize the first results of an on-going work. Keywords Blutooth Classic; wireless systems; Bluetooth Smart; Audio; codec; I. INTRODUCTION The Bluetooth Low Energy (Ble) standard introduced a few years ago has seen a rapid acceptance by the market. There are several applications that allow sensors to be connected with smartphones and other consumer devices. Bluetooth low energy (now marketed as Bluetooth Smart) complements Bluetooth Classic by making available to the user a wireless standard that requires less energy. The reduction in energy needs is made possible by a certain number of compromises, including a smaller frame size. The potential of Ble has already led to its adoption by several IC manufacturers. This will probably result in an improvement of performance and a price war that can only benefit the end user. It is likely that Ble ICs will be used in markets and products they were not foreseen for, thanks to cost and availability. For some applications, it could mean taking Ble to its limits, also as far as data throughput is concerned. It could also mean using the transceivers in proprietary modes, when compatibility is not required. A proprietary mode can allow the reduction of the overhead needed by Ble and thus increase the useful data rate. Although Ble is not foreseen for high data rates, it is legitimate to ask questions about its limitations. How fast can one transfer data between applications that communicate with Ble device? If one remains within the standard If one makes compromises on certain layers Are there other ways to increase the throughput? In December 2014, the BT SIG announced the release of version 4.2 [2].That version allows larger data frames to be sent, which improves the communication efficiency of the system. It is likely that the new version will progressively take over. However, for the coming years, version 4.0 and version 4.1 will still be used in products. In this work we considered only version 4.0 and version 4.1. THROUGHPUT LIMITS How much useful data can be sent using a Ble transceiver? Since there is a bit rate imposed by the physical layer (1 Mb/s) the answer depends on other parameters. The level (layer) at which the data is taken out and used by the application The ability of the embedded system to deal with the amount of data (process and react fast enough to avoid delays leading to loss of bandwidth) The number of retransmissions due to packet errors during the communication. The resource problem is related to the devices that are used and to the efficiency of the Ble stack that is implemented. We will not deal with that and assume that appropriate devices are Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 1/7

used. Similarly, we will assume that there are no errors during the communication between physical layers. Consequently, we will only look at the effect of the stack layers on the throughput. Fig. 1 shows the different layers and the useful data / overhead at each stage. In references [6,7,8] information can be found about the way throughput is calculated. A. Fully compatible with Ble In a fully Ble-compatible system, data will be transmitted between 2 parties with acknowledge frames. The communication is done in slots with clearly defined timings. The Inter Frame Spacing (IFS) is at least 150s. Assuming that the connection intervals are optimally filled with frames from one of the communication parties, we arrive at the following: 1) Unidirectional communication Source transmits with maximum data size and sink receives. Sink transmits only minimum acknowledge frames (10 bytes). The timing overhead is 300s [4,5,6,7,8]. Using notifications: The maximum useful data size is 20 bytes and the overhead is 17 bytes. This leads to a maximal throughput of 236.7 kb/s (29.6 kb/s) Using read blob: The maximum useful data size is 22 bytes and the overhead is 15 bytes. This leads to a maximal throughput of 260.3 kb/s (32.5 kb/s). This value must however be reduced, because of the necessity of sending extra commands. 2) Bidirectional Both parties transmit using maximal data size. The acknowledgement is included in the data frames. Using notifications: The useful data is 20 bytes for each device. The overhead in frame is 17 bytes for each device. The maximum throughput in each direction is:179.3 kb/s (22.4kB/s) Using read blob: The useful data is 22 bytes for each device. The overhead in frame is 15 bytes for each device. The maximum throughput in each direction is:197.3 kb/s (24.6kB/s). As above, this values must be reduced due to extra commands. B. Partially compatible frames It is possible to use reserved values in some of the Ble stack layers parameters in order to increase the throughput. This can introduce some incompatibilities now or lead to possible incompatibilities in the future. The parameters can be so chosen as to minimize the compatibility problems. There are too many combinations possible. We only show a few possibilities here. Proprietary CID. By defining a proprietary CID, we spare 1 extra byte (opcode) that can be used for data. Use of the MIC bytes. By using the MIC positions for data and assuming that the application will not use (or will refuse) authentication and encryption, we make room for 4 extra bytes. Using those 5 bytes leads to useful packets of up to 27 bytes with an overhead of 14 bytes. This results in 305.1 kb/s (38.1 kb/s) in one direction. Changes related to the compatibility can be done in other layers, leading to an even greater departure from the standard. The patent application filled by Apple Inc [8] makes the difference in the header of the data PDU. With a proprietary header, 27 bytes are available for useful data. In that case, 10 bytes are needed for overhead. This results in an application data rate of 319.5 kb/s (39.9kB/s) in one direction. C. Modifications at LL level With access to the link layer, one could define the size and timing of the frames to further increase the amount of useful information sent. A full frame can be sent with an IFS of 150s. With and overhead of 2 bytes and 37 bytes of useful data, it is possible to achieve 562kb/s (70kB/s). The modifications are however so important that one could as well use a fully proprietary radio to obtain even better results. The new version of Ble (4.2) allows larger frames to be sent. One can therefore expect a better efficiency, leading to better throughput values than those achievable with 4.0 and 4.1 III. A DESIGN FOR VERIFICATION We designed a flexible system which allowed us to make verifications and measurements between parties transferring data using Ble. Fig. 2 shows the system. It includes Ble controllers, host microcontrollers, and an Android smartphone. generated by the Smartphone can be sampled and sent over Ble to another device. As Ble controller, we used the EM9301 [1]. That device communicates with the external host using the SPI/UART interface link. The host we used has the needed resources to generate and process the data that we want to send/receive (A/D, D/A). The host resources also allow an efficient processing of the communication frames. The EM9301 integrates the Physical and Link layers. The use of the HCI layer to communicate with the host gives the needed flexibility to handle the frames. The host uses a low-power Ble stack developed at ZHAW-InES. Our knowledge of the stack Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 2/7

allowed us to tune it and optimize it for different purposes. The communications parties are on one hand a smartphone sourcing data (for example audio data) and on the other hand a receiver that uses the data (for example sending it to a speaker). We chose an android phone with Android Accessory functionality for several reasons. A very important one is that it gives us a better control since the stack runs externally, on the accessory board. This control is required to implement different communication use cases. The Ble controller is a peripheral on the accessory board that is connected to the smartphone using USB. IV. POSSIBLE USES The possible data rate calculated above show that streaming at more than 200kb/s is possible, providing that the communication parties have the needed resources to process the data. There are several applications that can make use of this amount of data. One of them is the streaming of audio. The needed data rate depends on the quality that is expected. By using the appropriate codecs, the amount of data to transfer can be reduced. However, resources must be made available on the host for the signal processing required by the codec. More information about the codecs and their use for low data rate can be found in the references [9,10]. Requirements for speech are not high; they can be met by Ble, with or without codec. For music, the sustained bit rate is higher and depends on the quality that is expected. There are different possibilities. The SBC codec that is used in Bluetooth Classic can work with different bit rates. It will support up to 345kb/s. Some variations with lower data rate will clearly fit the data rate that is possible with Ble transceivers. The same can be said for MP3. V. TESTS AND RESULTS We tested several configurations to verify the data rate. We also configured the system to sample music from the smartphone and sent it to the sink device. The configurations and some of the results can be seen in the figures at the end of this document. Using the setup described earlier, we generated and transmitted data from a source to a sink. We observed that at times, the data rate approached the expected values. But there are also holes where nothing is sent, which reduces the average data rate. The discrepancies that can be observed are often linked to the difficulties in filling up connection events fully. Some other discrepancies could be traced to possible software bugs. A test for the audio was also made. A music sample was read from the smartphone, played and transmitted (28kB/s). Several other applications were successfully implemented using the Android phone. VI. FUTURE WORK ZHAW-InES is currently investigating and testing a special configuration that is fully compatible with Ble (4.1) and that should allow more than 400kb/s of useful data. We are also investigating the tradeoffs between energy needed for compression and energy required for transmission/reception. VII. CONCLUSIONS With some of the current Ble controllers implementing (4.0 or 4.1) it is possible to reach data transfer throughput of more than 200kb/s, providing that the systems have enough computing resources to deal with the data. With some proprietary modifications at higher layers, one can approach 300 kb/s. Using an appropriate sniffer, we were able to verify such data rates on a setup using appropriate microcontrollers. This data rate is enough to allow the transfer of speech or the streaming of music compressed with some variations of codecs such as SBC or MP3. REFERENCES [1] Link to EM9301 datasheet. http://www.emmicroelectronic.com/sites/default/files/public/products/da tasheets/9301_ds_0.pdf [2] Bluetooth specifications https://www.bluetooth.org/ [3] M. Gysin, A. Müller, A. Rüst; Achievable Rates on Simultaneously Connected Bluetooth Low Energy Devices, Proceedings of Wireless Congress 2014, Munich. [4] Deepti Gill ; Neeti Panchal & Leena, Low Energy Bluetooth, International Journal of Research (IJR) Vol-1, Issue-10 November 2014 [5] A. Rüst, M. Gysin, A. Müller, M. Würms, " Simultaneously connecting devices through Bluetooth Smart, Embedded World Conference, February 2014" [6] C. Gomez, I. Demirkol, J. Paradells, Modeling the Maximum Throughput of Bluetooth Low Energy in an Error-Prone Link, IEEE Communications Letters, VOL. 15, NO. 11, NOVEMBER 2011 [7] C. Gomez, J. Oller, J. Paradells, Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology, Sensors 2012, 12, 11734-11753 [8] J. Linde, B. J. Tucker,; Apple Inc Audio transfer using the bluetooth low energy standard. Patent Patent application US20130045684 A1 [9] M. Meli, M. Gysel, Marc Sommerhalder Using IEEE 802.15.4 / ZigBee in audio applications, Embedded World, Nuremberg February 2006 [10] Comparison of different Audio Codecs. http://en.wikipedia.org/wiki/comparison_of_audio_coding_formats Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 3/7

a) General format of frames at different stack layers Whitened Protected by CRC Preamble Access CRC 1B 4B 2-39 (Bytes) 3B PDU Header 2B 0-27 (Bytes) 0/4 Header1 Header2 2B 2B 0/4 Op MIC code 1-3(B) 0-22 (Bytes) 0/4B b) Format of empty response. Size is 10 bytes Preamble Access PDU No MIC CRC Header 1B 4B 2B 0B 0B 3B c) Format of notification without MIC information. Max size is 17 + 20 = 37 bytes Preamble Access PDU ATT Opcode MIC CRC Header Header1 Header2 1B 4B 2B 2B 2B 3B 20B 0B 3B d) Format of read blob without MIC information. Max size is 15 + 22 = 37 bytes Preamble Access PDU Op MIC CRC Header Header1 Header2 code 1B 4B 2B 2B 2B 1B 22B 0B 3B e) Format of CID without MIC information. Max size is 14 + 23 = 37 bytes Preamble Access PDU MIC CRC Header Header1 Header2 1B 4B 2B 2B 2B 23B 0B 3B f) Proprietary CID. MIC used for data. Max size is 14 + 27 = 41 bytes Preamble Access PDU CRC Header Header1 Header2 1B 4B 2B 2B 2B 27B 3B g) Proprietary. Apple Inc patent? Preamble Access PDU MIC CRC Header 1B 4B 2B 33B 0/4B 3B h) Proprietary value in header of ADV. Max size is 10 + 37 = 47 bytes Preamble Access Header CRC 1B 4B 2B 37B 3B Fig. 1 Frame structure in different configurations Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 4/7

The demonstrator uses the Ble connected mode to transmit audio with speech quality. The useful data rate is 28kB/s The ADC samples at 14 ksample/s, using 10 bits packed in 2 bytes. A music file is read from the smartphone, played, sampled and transmitted. A user interface on the smartphone allows the setup. A 12-bit DAC is used on the receiving side. The received data is converted to an analog signal that is sent to a speaker. Fig. 2 The setup can be used for different tests. Streaming of audio, multi-channel operations, chat, etc. source PIC24 board equipped with EM9301 Ble controller sink ST32F051 board equipped with EM9301 Ble controller Ble sniffer Fig.3 Setup to stream data and measure throughput rate Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 5/7

Fig.4a) Bidirectional communication. Equal data size from each party. An average of 56.2 kb/s for both directions is reached (here over 30 seconds). One can clearly see that there are holes in the transmission; they represent times when the connection intervals are not fully filled with data. This happens for different reasons. Such holes reduce the maximum possible throughput. The form of the frame in each direction is as follows: Preamble Access PDU Header Header1 Header2 MIC CRC There is no encryption. 1 MIC position is used for data effectively giving 24B for application data. 1B 4B 2B 2B 2B 23B 1B 3B Important. The sniffer calculation is based on 28B (PDU data). On the section below it is [18 00 FF FF..5E 5F] Considering the 28B of the PDU data. If all the holes are filled, the max throughput for the application will be (28B data, 10B overhead, 150s for 1 IFS). That is 493.3kb/s (61.7 kb/s) There are 4 additional bytes (in each direction) that cannot be used as application data. The effective application data will be 24B. In the figure below it means [48 49 4A.. 5E 5F] If all the holes are filled, the max throughput for the application will be (24B useful data, 14B overhead, 150s for 1 IFS) 422.9kb/s for both directions. That is 52.8kB/s. The information from the sniffer can be corrected for 24B of effective data. It gives 48.1kB/s for both directions. Therefore: max possible = 52.8kB/s Measured here = 48.1 kb/s Fig.4b) Bidirectional communication with equal data size. Zoom on a smaller part Blue and green represent the transmitted frames of the different devices. Fig. 5 Streaming audio. analog data is sampled and sent over Ble Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 6/7

Unidirectional transfer using custom CID (DD DD) and MIC bytes for data. 27 bytes can be sent as application data. Fig. 6a) The transfer was made here on a long time period. (average of 34.4kB/s over 40 seconds). Fig 6b) a zoom on one slot shows holes that could be filled with additional packets to increase throughput Fig. 6c) An example of PDU data seen by the sniffer Preamble 1B Access 4B PDU Header 2B Header1 2B Header2 2B 23B MIC 4B CRC 3B There is no encryption. All 4 MIC positions are used for data effectively giving 27B for application data. Marcel Meli, Olivier Rion. Streaming speech and music using Bluetooth Low Energy. Embedded World 2015, Nuremberg. 7/7