Передача по блютузу

Bluetooth – обмен данными на небольших расстояниях

Передача по блютузу

Еще не так давно, для того, чтобы загрузить в телефон новую мелодию, картинку или игру, необходимо было воспользоваться кабелем. В некоторых случаях это был  весьма специфичный кабель, который не подходил к другой модели от этой же фирмы. Конечно, можно было воспользоваться услугами инфракрасного порта, но это было медленно и неудобно.

Все изменилось с появлением протокола Bluetooth, предназначенным для обмена данными на небольших расстояниях – обмен информацией с ним стал и проще и быстрей.

Работы по созданию протокола еще в 1994 году начала компания Ericsson, как альтернативу проводам. Спецификация Bluetooth была разработана основанной в 1998 году группой Bluetooth Special Interest Group (Bluetooth SIG), в которую вошли компании Ericsson, IBM, Intel, Toshiba и Nokia.

Протокол Bluetooth  основан на использовании радиоволн в диапазоне, не требующем получения разрешений (применяется в различных бытовых приборах и беспроводных сетях).

В нем применяется метод расширения спектра со скачкообразной перестройкой частоты (Frequency Hopping Spread Spectrum, FHSS), который прост в реализации и обеспечивает устойчивость к помехам – несущая частота сигнала меняется 1600 раз в секунду, а последовательность переключения между частотами для каждого соединения является случайной и известна только передатчику и приёмнику. Каждые 625 микросекунд приемник и передатчик одновременно перестраиваются с одной несущей частоты на другую, так что, если рядом работает другая пара приёмник-передатчик, они не мешают друг другу.

В характеристиках разнообразных мобильных телефонов мы часто встречаем пункт с указанием версии Bluetooth и, хотя большинство из нас знает что это такое и «с чем его едят», немногие знают, чем эти протоколы различаются на практике.

Bluetooth 1.0

Первая версия протокола, как уже упоминалось выше, появилась еще в 1998 году. Чуть позже вышла версия 1.0B, но они имели плохую совместимость между продуктами различных производителей. В 1.0 и 1.

0B на этапе установления связи была обязательной передача адреса устройства, что делало невозможной реализацию анонимности соединения на протокольном уровне и было основным недостатком данной спецификации.

В настоящее время она считается устаревшей и ни одно из выпускаемых устройств эту версию не использует.

Bluetooth 1.1

Версия Bluetooth 1.1 стала работой над ошибками обнаруженными в 1.0B. Помимо этого была добавлена поддержка для нешифрованных каналов и индикация уровня мощности принимаемого сигнала.

Bluetooth 1.2

Данная версия протокола используется в устройствах до сих пор. В версии 1.2 разработчики добавили поддержку технологии подстраиваемой  перестройки рабочей частоты, что улучшило сопротивляемость к помехам, увеличилась скорость передачи. Так же добавилась технология улучшения качества передачи голоса с помощью повторения повреждённых пакетов (eSCO).

Особенностью Bluetooth 1.2 является увеличенная скорость передачи данных, включая речь, файлы и сервисную информацию, возможность быстрого спаривания и анонимность устройств в сети

Главные улучшения включают следующее:

  • Быстрое подключение и обнаружение.
  • Адаптивная перестройка частоты с расширенным спектром (AFH),
  • Более высокие скорости передачи данных (до 721 кбит/с)
  • Расширенные Синхронные Подключения (eSCO), которые улучшают качество передачи голоса в аудиопотоке
  • В Host Controller Interface (HCI) добавлена поддержка трёхпроводного интерфейса UART.
  • Утверждён как стандарт IEEE Standard 802.15.1-2005.
  • Режимы управления потоком данных (Flow Control) и повторной передачи (Retransmission Modes) для L2CAP.

Bluetooth 2.0 + EDR

10 ноября 2004 г. вышел Bluetooth версии 2.0. Протокол имеет обратную совместимость с предыдущими версиями 1.x. Основное нововведение в этой версии – еще большее ускорение передачи данных благодаря технологии EDR (Enhanced Data Rate).

Теоретическая скорость EDR около 3 Мбит/с, но на практике ее применение позволило повысить скорость передачи данных только до 2,1 Мбит/с.

Bluetooth SIG опубликовала спецификацию как «Технология Bluetooth 2.0 + EDR», подразумевая, что EDR является дополнительной функцией, которую производители могут использовать по своему усмотрению – известно, что в коммуникаторе HTC TyTN Pocket PC версия Bluetooth 2.0 была без EDR.

Согласно 2.0 + EDR спецификации, EDR обеспечивала:

  • Увеличение скорости передачи до 3 раз (2,1 Мбит/с).
  • Уменьшала сложности нескольких одновременных подключений из-за дополнительной полосы пропускания.
  • Обеспечивала более низкое потребление энергии за счет уменьшения нагрузки.

Bluetooth 2.1 + EDR

Версия 2.1+EDR была представлена в августе 2008 года и до сих пор остается самой распространенной версией стандарта. С данным стандартом совместимы практически все устройства, включая навигаторы, беспроводные мыши, гарнитуры и другую периферию.

Такой успех стал возможен за счет того, что в протоколе удалось добиться значительного снижения энергопотребления – в пять раз. Кроме того, версия Bluetooth 2.

1 повышает уровень защиты данных и облегчает распознавание и соединение Bluetooth-устройств благодаря уменьшению количества шагов за которые оно выполняется, вплоть до того, поддерживает спаривание при помощи простого нажатия кнопки без ввода пароля.

Bluetooth 3.0 + HS

Спецификация 3.0+HS была принята Bluetooth SIG 21 апреля 2009 года и стала настоящим скоростным прорывом – теоретически она поддерживает скорость передачи данных до 24 Мбит/с.

Для достижения подобных скоростей было получено за счет применения двух модулей: обычного Bluetooth 2.0 и дополнительного модуля, работающего по протоколу 802.11 со скоростью до 24 Мбит/с (аналогично Wi-Fi).

Выбор модуля для передачи данных зависит от размера передаваемого файла – небольшие файлы передаются по медленному каналу, а большие — по высокоскоростному.

Недостатками протокола является то, что У Bluetooth 3.0 + HS  нет совместимости с Wi-Fi, так как используется общий стандарт 802.11 (без суффикса), несовместимый со спецификациями Wi-Fi 802.11b/g или 802.11n, а так же, повышенное энергопотребление при передаче больших файлов.

Bluetooth 4.0

Спецификация Bluetooth 4.0 была утверждена 30 июня 2010г и предназначалась для устранения главного недостатка технологии HS – относительно высокого энергопотребления.

Bluetooth 4.0 обеспечивает скорость передачи данных 1 Мбит/с при размере пакета данных 8—27 байт, совместимые устройства смогут устанавливать соединение менее чем за 5 миллисекунд и поддерживать его на расстоянии до 100 м, а необходимый уровень безопасности обеспечивает 128-битное AES-шифрование.

Bluetooth 4.0 включает в себя следующие протоколы:

  • Классический Bluetooth (состоит из протоколов предыдущих спецификаций Bluetooth)
  • Высокоскоростной Bluetooth (основан на Wi-Fi)
  • Bluetooth с низким энергопотреблением – достигается за счёт использования специального алгоритма работы. Алгоритм написан так, что передатчик включается только на время отправки данных. Таким образом обеспечивается возможность работы в течение нескольких лет от одной батарейки типа CR2032.

Прежде всего, Bluetooth 4.0  предназначен для миниатюрных электронных датчиков, использующихся в тренажёрах, медицинских сенсорах, сенсорах температуры, давления, влажности, скорости передвижения и т.д., но помимо этого, может использоваться в мобильных телефонах, смартфонах, ПК и т.п.

Первый чип с поддержкой Bluetooth 3.0 и Bluetooth 4.0 был выпущен компанией ST-Ericsson в конце 2009 года.

Подведем итоги

Профиль Bluetooth – это набор функций, основанных на протоколах Bluetooth. Каждое конкретное устройство может использовать свой набор профилей – то есть, если мобильный телефон поддерживает только профиль устройства handsfree, а гарнитура – только профиль гарнитуры, их взаимодействие невозможно.

В Bluetooth существует множество профилей. Вот лишь основные из них:

  • последовательного порта (Serial Port Profile – SPP)
  • коммутируемого доступа (dial-up networking)
  • гарнитуры
  • устройства hands-free
  • подключения к ЛВС
  • факса
  • передачи файла
  • синхронизации

Уделять внимание версии Bluetooth нужно только тогда, когда устройство способно реализовать все свои функции исключительно с данным протоколом. Если приобретаемый гаджет требует поддержки Bluetooth 4.0, он либо не сможет реализовать всю полноту своего функционала с предыдущими версиями, либо не «заведется вовсе».

Источник: 4pda.ru

Источник: https://4pda.ru/2013/04/13/92688/

Как передать приложение через Bluetooth программой: разные варианты

Передача по блютузу

Отправка через Bluetooth может понадобиться, но стоит заметить, что этот способ медленнее, чем передача через USB или Wi-Fi. Некоторые программы для отправки приложений таким способом должны быть установлены как на девайсе отправителя, так и получателя. Инструменты отличаются главным образом дополнительным функционалом и платформами, для которых они предназначены.

Особенности отправки приложений на разные устройства

Рассмотрим разные операционные системы.

На гаджеты под ОС Андроид

Если установка программы будет запрещена, необходимо разрешить это из сторонних источников. Путь: «Приложения» — «Настройки» — программа, из которой вы откроете файл установки, например, проводник — «Неизвестные источники» — «Разрешить установку приложений из неизвестных источников».

Для более старых версий Android: «Настройки» — «Безопасность» — поставить галочку напротив «Неизвестные источники» — подтверждаете выбор. После установки нужного приложения можно вернуть прежние настройки.

На компьютер

Чтобы иметь возможность перекидывать приложения по Блютузуна ПК, нужен рабочий Bluetooth адаптер. Если есть возможность раздать с компьютера Wi-Fi, подойдет ShareMe, поскольку там соединение происходит через протокол Wi-Fi (интернет для этого не нужен). В ноутбуках Блютуз обычно встроен, за исключением старых моделей.

Как передавать любые файлы по Bluetooth с ноутбука, рассказывается в следующем видео:

На устройства под iOS

Без эмулятора не удастся запустить софт для Android, возможно, удобнее будет найти аналог.

Без сторонних программ

Если есть установочный apk-файл приложения, которое вы собираетесь передать по Блютузу, просто найдите его через проводник (название чаще всего как у программы и не содержит пробелов).

Удерживайте элемент несколько секунд, нажмите «» и выберите Bluetooth. Отправка произойдет, как и при любом другом обмене таким способом.

Подходит также для отправки на Windows и Linux.

Нужно и возможно установить только на смартфон с Android, отправлять можно на Windows, Linux, Android, iOS. Если отправитель — пользователь Xiaomi с версией MIUI 7 и выше, эта утилита уже встроена в его смартфон. Если же ей поделиться, отправиться не apk-файл, а ссылка на ShareMe в Play Market. Оттуда скачать его при наличии подключения к интернету.

Можно скинуть системные программы, реклама отсутствует. Минус, что при отправке на компьютер нельзя будет на нём воспользоваться поиском файлов. Придется перейти в нужную директорию вручную. Так же для передачи на ПК понадобится Wi-Fi сеть.

Как пользоваться:

  • Открыть;
  • Разрешить доступ к файлам;
  • Нажать на большую кнопку «Отправить»;
  • Выбрать приложение и нажать «Отправить»;
  • Разрешить доступ к геолокации (обязательно);
  • Нажать «Получить» на другом устройстве;
  • Дождаться соединения и пересылки.

Для отправки на компьютер:

  • Включите точку доступа на компьютере;
  • Подключитесь к ней с телефона;
  • В правом верхнем углу нажмите на аватарку профиля (по умолчанию это зайчик);
  • «Подключение к компьютеру»;
  • Нажмите «Запустить»;
  • Выбираем место, где находятся нужные нам файлы (карта памяти или внутренний накопитель);
  • Вводим символы, указанные на смартфоне в адресную строку браузера на компьютере (например, ftp://94.74.234.232);
  • Если адрес введен верно, увидите находящиеся на телефоне папки;
  • Находите нужный пункт, нажимаете на него;
  • Сохраните, как любой другой файл с интернета.

ES Проводник

Можно отправлять файлы на ПК. Чтобы перекачать файлы, не нужно устанавливать проводник получателю. Поддерживает отправку системных программ, которые отделены от загруженных.

Вид отображения перечней есть в трех вариантах: простой список, список с датой создания или скачивания, плитка.

Есть встроенный музыкальный проигрыватель, программа просмотра изображений, клинер и текстовый редактор. Проводник использует корзину, если не отключить это в настройках. Можно включить или отключить просмотр системных папок.

Как здесь передать приложение через Блютуз:

  • Выделяете нужную программу (например, «Ватсап»);
  • «» — «Bluetooth»;
  • Принять с другого устройства;
  • Дождаться окончания загрузки.

Популярный выбор. Лучше всего подходит, если нужно отправлять приложения по Блютузу на платформы Android, Windows Phone, iOS, MacOS, Windows. Для компьютеров требует создание Wi-Fi сети.

К недостаткам можно отнести большее количество различных вкладок и то, что требуется больше разрешений, чем в аналогах. Много рекламы в самом приложении, так же может появляться в уведомлениях на «шторке».

Как передать приложение через Блютуз (для компьютеров подойдет только установка с ushareit.com):

  • Пригласить (сверху иконка с человеком и плюсом);
  • Выбираете Bluetooth-устройство из списка;
  • Когда apk-файл отправится, запустите его.

Теперь переходим к отправке нужной программы:

  • «Отправить» (для компьютера — нажать на значок в правом верхнем углу, состоящий из 4 квадратов, — «Подключить к ПК»);
  • Выбираете нужный софт из списка;
  • Нажимаете «Отправить»;
  • Включаете GPS и WLAN;
  • «Далее»;
  • На другом устройстве нажимаете «Получить».

Приложение появится у получателя. Его можно быстро найти и установить даже после удаления, если останется apk-файл.

Весит примерно 2 МБ. Главным образом дизайн выглядит как простой список ваших приложений. Системные и установленные программы разделены, если это указано в настройках. Ничего лишнего, мало рекламы.

Чтобы передать приложение по Блютуз программой Apk Extractor, нужно её установить только на смартфон отправителя.

Как работает:

  • Находим нужный элемент в списке;
  • Нажимаем на три точки напротив его иконки;
  • «Отправить» — «Bluetooth»;
  • Выбираем пользователя со списка и после подтверждения с его стороны ждем окончания загрузки.

Bluetooth File Transfer

Для передачи достаточно программы на одном устройстве. Весит около 2 МБ. Есть встроенный файловый менеджер без программ для просмотра файлов.

Руководство пользователя:

  • Три точки в правом верхнем углу;
  • «Отправить приложения»;
  • Выбираем нужные;
  • Нажимаем «Отправить» в левом нижнем углу;
  • Если необходимо, нажмите три точки в правом верхнем углу и выберите «Поиск устройств»;
  • В найденных устройствах должно появится нужное, нажимаем на него;
  • Подтверждаем с другого устройства. Ждем окончания загрузки.

Несмотря на название, шарить можно не только приложения. Так же поддерживает простое резервное копирование на карту памяти, но не копирует папки целиком. Файлы поданы в виде плитки, отсортированы по типам.

Как пользоваться:

  • «Приложения» (значок с Андроидом на зеленом фоне);
  • Выделяем программу;
  • «Отправить»;
  • «Bluetooth»;
  • Выбираем устройство, принимаем, ждем окончания процесса.

Теперь вы знаете, какможноскинуть приложения по Блютузу.Надеемся, статья была для вас полезной.

Источник: https://WiFiGid.ru/bluetooth/kak-cherez-bluetooth-peredat-prilozhenie

Как передать файлы с компьютера на телефон через Bluetooth?

Передача по блютузу

Увидел на сайте о решении одной небольшой проблемы, которая возникает при обмене файлами между ноутбуком на Windows 10 и смартфоном на Android, и решил написать на эту тему отдельную статью. Есть много вариантов передачи файлов с компьютера на телефон и с телефона на компьютер.

Можно использовать тот же USB-кабель, облако, или даже Wi-Fi (рассказывал об этом в статье обмен файлами через Wi-Fi роутер между Android телефоном и компьютером). Но почему-то многие забывают о Bluetooth. На Android смартфонах с передачей файлов проблем вообще нет.

На iPhone и iPad этот способ, конечно, работать не будет.

По сравнению с USB-кабелем и Wi-Fi (FTP, локальная сеть) у Bluetooth есть один большой минус. Это скорость передачи данных. Передача большого количества музыки видео и т. д. займет очень много времени.

Но если нужно быстро передать с телефона на компьютер какие-то фото, документы, или другие небольшие файлы, то можно сделать это и через Bluetooth.

Причем этот способ можно использовать не только на телефонах и планшетах с Android, но и на кнопочных телефонах.

Я проверял в Windows 10 и Windows 7 – все идеально работает. Все что нам необходимо, это телефон с Bluetooth (а он есть практически в каждом телефоне) и ноутбук, или компьютер с Bluetooth. Если в ноутбуке он уже встроенный, то для компьютера скорее всего придется докупить USB Bluetooth адаптер. Я уже рассказывал как выбрать Bluetooth адаптер для компьютера.

Необходимо, чтобы был установлен драйвер и он работал. Обычно в трее отображается синяя иконка Bluetooth. Если она у вас есть – все  хорошо. Если нет, то возможно, что Bluetooth на вашем компьютере не настроен. В таком случае вам могу пригодится следующие статьи:

После настройки можно переходить к передаче файлов.

Передача файлов с ноутбука или ПК на телефон в Windows 10

Если вы планируете частот обмениваться файлами между своим компьютером и телефоном, то я рекомендую выполнить сопряжение устройств. Для этого на телефоне включите Bluetooth и сделайте его доступным для других устройств.

На компьютере зайдите в “Пуск” – “Параметры” – “Устройства” – вкладка “Bluetooth и другие устройства”. Нажимаем на “Добавление Bluetooth или другого устройства” – “Bluetooth”. В списке появится наш телефон. Выбираем его и подтверждаем подключение на телефоне и компьютере.

После этого возле тефлона появится статус “Сопряжено”.

Но это не обязательно делать, можно сразу переходить к передаче файлов.

Убедитесь, что Bluetooth на смартфоне включен и доступен для поиска. В Windows 10 выделите файл, или несколько файлов и нажмите на них правой кнопкой мыши. Выберите “Отправить” – “Устройство Bluetooth”.

Выделяем свой телефон в списке доступных устройств и нажимаем “Далее”. Обратите внимание на пункт “Использовать проверку подлинности”. Если вы уже выполнили сопряжение устройств как я показывал выше, то он будет установлен и отключить его нельзя (да и не нужно).

Если смартфон с компьютером не сопряжены, то галочку возле “Использовать проверку подлинности” можно снять. Если вы уверены, что точно выбрали свой телефон. Чтобы не отправить файлы на чужое устройство.

Если оставить проверку подлинности, то сначала нужно подтвердить соединение на Android, и только тогда прием файлов.

Начнется отправка файлов.

На телефоне нужно подтвердить получение файлов.

После завершения передачи на компьютере появится отчет.

На телефоне файлы сохраняются в папку “Bluetooth”. Возможно на вашем Android-устройстве это будет другая папка.

Как по Bluetooth передать файл с телефона на компьютер?

Не сложнее чем с ПК на телефон. Перед этим так же желательно выполнить сопряжение устройств, как я показывал выше. В Windows 10 нажмите на иконку в трее и выберите “Принять файл”.

На телефоне откройте любой проводки (если нет нормального стандартного, то рекомендую “ES Проводник”). Выберите любой файл, или выделите несколько файлов, которые нужно закинуть на компьютер и выберите “Поделится” (Передать) – “Bluetooth”. И выбираем в списке устройств наш компьютер.

После чего на компьютере начнется прием файлов.

Когда файлы будут получены, то появится список файлов и возможность выбрать папку, в которую они будут сохранены.

Вот так это все работает. Ничего сложно. Если бы еще скорость передачи была выше, было бы вообще отлично. Но если вам нужно перекинуть несколько фотографий, то даже нет смысла искать кабель, все это подключать и т. д. Проще выполнить передачу по Блютуз.

Обмен файлами по Bluetooth в Windows 7

Изначально я планировал делать инструкцию отдельно для Windows 10 и Windows 7. Уже даже все проверил и сделал скриншоты. Но в Windows 7 процесс передачи и приема файлов практически ничем не отличается от Windows 10. Поэтому, нет смысла еще раз писать о том, о чем я писал выше. Все действия одинаковые. Окна и элементы такие же.

В Windows 7 только немного отличается процесс сопряжения устройств. Во время передачи файлов на телефон, если вы оставите галочку возле “Использовать проверку подлинности”, то на телефоне нужно подтвердить сопряжение, а в Windows 7 снизу появится всплывающее сообщение, на которое нужно нажать и так же подтвердить соединение с телефоном по Bluetooth.

Так же это нужно сделать при приеме файлов отправленных с телефона на компьютер. Но мне кажется, что проще один раз выполнить соединение и в дальнейшем можно будет просто отправлять и принимать файлы между устройствами. Для этого нажмите на иконку Bluetooth в трее Windows 7, выберите “Добавить устройство” и следуйте инструкциям на экране.

Источник: https://help-wifi.com/bluetooth/kak-peredat-fajly-s-kompyutera-na-telefon-cherez-bluetooth/

через Bluetooth: максимально подробно о профилях, кодеках и устройствах

Передача по блютузу

This article is also available in English

Из-за массового выпуска смартфонов без аудиоразъема 3.5 мм беспроводные Bluetooth-наушники для многих стали основным способом прослушивания музыки и общения в режиме гарнитуры. Производители беспроводных устройств не всегда пишут подробные характеристики товара, а статьи о Bluetooth-аудио в интернете противоречивы, местами некорректны, не рассказывают о всех особенностях, и часто копируют одну и ту же не соответствующую действительности информацию. Попробуем разобраться с протоколом, возможностями Bluetooth-стеков ОС, наушников и колонок, Bluetooth-кодеков для музыки и речи, выясним, что влияет на качество передаваемого звука и задержку, научимся собирать и декодировать информацию о поддерживаемых кодеках и других возможностях устройств.

TL;DR:

  • SBC — нормальный кодек
  • У наушников есть свой эквалайзер и пост-процессинг на каждый кодек отдельно
  • aptX не настолько хорош, как о нём говорят рекламные анонсы
  • LDAC — маркетинговое фуфло
  • Качество звука в режиме разговора всё ещё низкое
  • В браузер можно встроить аудиоэнкодеры на C, скомпилировав в WebAssembly через emscripten, и они не будут особо тормозить.

Музыка через Bluetooth

Функциональная составляющая Bluetooth задается профилями — спецификациями конкретных функций. Передача музыки в Bluetooth осуществляется с использованием профиля передачи высококачественного однонаправленного аудио A2DP. Стандарт A2DP был принят в 2003 году, и с тех пор кардинально не менялся.

В рамках профиля стандартизирован 1 обязательный кодек низкой вычислительной сложности SBC, созданный специально для Bluetooth, и 3 дополнительных. Также допускается использование недокументированных кодеков собственной реализации.

По состоянию на июнь 2019 года мы находимся в комиксе xkcd с 14 A2DP-кодеками:

  • SBC ← стандартизирован в A2DP, поддерживается всеми устройствами
  • MPEG-1/2 Layer 1/2/3 ← стандартизированы в A2DP: всем известный MP3, используемый в цифровом ТВ MP2, и неизвестный MP1
  • MPEG-2/4 AAC ← стандартизирован в A2DP
  • ATRAC ← старый кодек от Sony, стандартизирован в A2DP
  • LDAC ← новый кодек от Sony
  • aptX ← кодек из 1988 года
  • aptX HD ← то же самое, что aptX, только с другими параметрами кодирования
  • aptX Low Latency ← совсем другой кодек, нет софтовой реализации aptX с уменьшенным буфером
  • aptX Adaptive ← еще один кодек от Qualcomm
  • FastStream ← псевдокодек, двунаправленная модификация SBC
  • HWA LHDC ← новый кодек от Huawei
  • Samsung HD ← поддерживается 2 устройствами
  • Samsung Scalable ← поддерживается 2 устройствами
  • Samsung UHQ-BT ← поддерживается 3 устройствами

Зачем вообще нужны кодеки, спросите вы, когда в Bluetooth есть EDR, что позволяет передавать данные на скорости 2 и 3 мбит/с, а для несжатого двухканального 16-битного PCM достаточно 1.4 мбит/с?

Передача данных через Bluetooth

В Bluetooth существует два типа передачи данных: Asynchronous Connection Less (ACL) для асинхронной передачи без установки соединения, и Synchronous Connection Oriented (SCO), для синхронной передачи с предварительным согласованием соединения.

Передача осуществляется с использованием схемы разделения времени и выбора канала передачи на каждый пакет отдельно (Frequency-Hop/Time-Division-Duplex, FH/TDD), для чего время делится на 625-микросекундные интервалы, называемые слотами (slot). Одно из устройств ведет передачу в чётных номерах слотов, другое — в нечётных.

Передаваемый пакет может занимать 1, 3 или 5 слотов, в зависимости от размера данных и установленного типа передачи, в этом случае передача одним устройством ведётся в чётных и нечетных слотах до конца передачи. Всего в секунду можно принять и отправить до 1600 пакетов, если каждый из них занимает 1 слот, и оба устройства без остановки что-то передают и принимают.

2 и 3 мбит/с для EDR, которые можно встретить в анонсах и на сайте Bluetooth, являются максимальной канальной скоростью передачи всех данных суммарно (включая технические заголовки всех протоколов, в которые нужно инкапсулировать данные), в двух направлениях одновременно. Фактическая скорость передачи данных будет сильно отличаться.

Для передачи музыки используется асинхронный способ, почти всегда с помощью пакетов типа 2-DH5 и 3-DH5, которые несут максимальное количество данных в режиме EDR 2 мбит/с и 3 мбит/с соответственно, и занимают 5 слотов временного разделения эфира.

Схематичное представление передачи с использованием 5 слотов одним устройством и 1 слота другим (DH5/DH1): Из-за принципа разделения эфира по времени мы вынуждены ждать 625-микросекундный тайм-слот после передачи пакета, если второе устройство нам ничего не будет передавать или передает маленький пакет, и большее количество времени, если второе устройство ведёт передачу большими пакетами. Если к телефону подключено больше одного устройства (например, наушники, часы и фитнес-браслет), то время передачи разделяется между ними всеми. Необходимость инкапсуляции аудио в специальные транспортные протоколы L2CAP и AVDTP забирает 16 байт от возможного максимального количества передаваемой полезной аудионагрузки.1414 и 1429 кбит/с точно недостаточно для передачи несжатого звука в реальных условиях, с зашумленным диапазоном 2.4 ГГц и необходимостью передачи служебных данных. EDR 3 мбит/с требователен к мощности передачи и шумам в эфире, поэтому, даже в режиме 3-DH5, комфортная передача PCM невозможна, постоянно будут кратковременные прерывания, и всё будет работать только на расстоянии в пару метров. На практике, даже 990 кбит/с-аудиопоток (LDAC 990 kbit/s) передаётся с трудом. Вернёмся к кодекам.

SBC

Кодек, обязательный для всех устройств, поддерживающих стандарт A2DP. Лучший и худший кодек одновременно. SBC — простой и вычислительно быстрый кодек, с примитивной психоакустической моделью (применяется только маскировка тихих звуков), использующий адаптивную импульсно-кодовую модуляцию (APCM).

Спецификация A2DP рекомендует к использованию два профиля: Middle Quality и High Quality.

У кодека много настроек, позволяющих управлять алгоритмической задержкой, количеством семплов в блоке, алгоритмом распределения битов, но почти повсеместно используются одни и те же рекомендованные в спецификации параметры: Joint Stereo, 8 частотных полос, 16 блоков в аудиофрейме, способ распределения бит Loudness.

SBC поддерживает динамическое изменение параметра Bitpool, который напрямую влияет на битрейт. Если радиоэфир забит, пакеты теряются, или устройства находятся на большом расстоянии, источник аудио может уменьшать Bitpool, пока связь не нормализуется. Производители большинства наушников устанавливают максимальное значение параметра Bitpool в 53, что ограничивает битрейт 328 килобитами в секунду при использовании рекомендованного профиля. Даже если производитель наушников установил максимальное значение Bitpool выше 53 (такие модели встречаются, например: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, также бывает на некоторых ресиверах и автомобильных головных устройствах), то большинство ОС не позволят использовать повышенные битрейты из-за установленного внутреннего ограничения значения в Bluetooth-стеках. Кроме того, некоторые производители задают низкое максимальное значение Bitpool для некоторых устройств. Например, у Bluedio T оно равно 39, у Samsung Gear IconX — 37, что даёт плохое качество звука. Искусственные ограничения со стороны разработчиков Bluetooth-стеков, вероятнее всего, возникли вследствие несовместимости некоторых устройств с большими значениями Bitpool или нетипичными профилями, даже если они сообщали об их поддержке, и недостаточном количестве тестов при сертификации. Авторам Bluetooth-стеков проще было ограничиться согласованием рекомендованного профиля, а не создавать базы некорректных устройств (хотя сейчас они это делают для других некорректно работающих функций). SBC динамически выделяет биты квантования для частотных полос, действуя по принципу от нижних к верхним, с разными весовыми коэффициентами. Если весь битрейт использовался на нижние и средние частоты, верхние частоты «обрежутся» (вместо них будет тишина). Пример SBC 328 кбит/с. Вверху — оригинал, внизу — SBC, периодически происходит переключение между дорожками. Для аудио в видеофайле используется кодек сжатия без потерь FLAC. Использование FLAC в контейнере mp4 официально не стандартизировано, поэтому не факт, что ваш браузер воспроизведет его, но должно работать в последних версиях десктопных Chrome и Firefox. Если у вас нет звука, можете скачать файл и открыть в полноценном видеоплеере.Your browser does not support HTML5 video.ZZ Top — Sharp Dressed Man На спектрограмме виден момент переключения: SBC периодически режет тихие звуки выше 17.5 кГц, и совсем не выделяет битов для полосы выше 20 кГц. Полная спектрограмма доступна по клику (1.7 МБ). Я не слышу разницы между оригиналом и SBC на этом треке. Возьмём что-нибудь новее, и смоделируем аудио, которое бы получилось при использовании наушников Samsung Gear IconX с Bitpool 37 (вверху — исходный сигнал, внизу — SBC 239 кбит/с, звук во FLAC).Your browser does not support HTML5 video.Mindless Self Indulgence — Witness Я слышу треск, меньший стереоэффект и неприятное «цоканье» вокала в высоких частотах. Хоть SBC и очень гибкий кодек, может быть настроен под низкие задержки, даёт отличное качество аудио на высоких битрейтах (452+ кбит/с) и вполне хорошее для большинства людей на стандартном High Quality (328 кбит/с), из-за того, что стандарт A2DP не задает фиксированных профилей (а даёт только рекомендации), разработчики стеков установили искусственные ограничения на Bitpool, параметры передаваемого аудио не отображаются в пользовательском интерфейсе, а производители наушников вольны выставлять свои настройки и никогда не указывают значение Bitpool в технических характеристиках товара, кодек прославился низким качеством звука, хоть это и не проблема кодека как такового.

Параметр Bitpool прямо влияет на битрейт только в рамках одного профиля.

Одно и то же значение Bitpool 53 может давать как битрейт 328 кбит/с при рекомендованном профиле High Quality, так и 1212 кбит/с с Dual Channel и 4 частотными полосами, из-за чего авторы ОС, помимо ограничений на Bitpool, устанавливают ограничение еще и на Bitrate. Как мне видится, такая ситуация возникла из-за недоработки стандарта A2DP: нужно было согласовывать битрейт, а не Bitpool.

Таблица поддержки возможностей SBC в разных ОС:* Bitpool только уменьшается, но не увеличивается автоматически, в случае улучшения условий передачи. Для восстановления Bitpool нужно остановить воспроизведение, подождать пару секунд и заново запустить аудио.
** Значение по умолчанию зависит от настроек стека, указанных при компиляции прошивки. В Android 8/8.1 частота только либо 44.1 кГц, либо 48 кГц, в зависимости от настроек при компиляции, в остальных версиях поддерживаются 44.1 кГц и 48 кГц одновременно.
*** Значение Bitpool можно поднять в программе Bluetooth Explorer.

aptX и aptX HD

aptX — простой и вычислительно быстрый кодек, без психоакустики, использующий адаптивную дифференциальную импульсно-кодовую модуляцию (ADPCM). Появился примерно в 1988 году (дата подачи патента датирована февралём 1988 г.), до Bluetooth использовался преимущественно в профессиональной беспроводной аудиоаппаратуре, ISDN, кинотеатрах. На данный момент принадлежит компании Qualcomm, требует лицензирования и лицензионных отчислений. По состоянию на 2014 год: $6000 единовременно и ≈$1 за каждое устройство, для партий до 10000 устройств (источник, стр. 16). aptX и aptX HD — один и тот же кодек, с разными профилями кодирования. У кодека есть только один параметр — выбор частоты дискретизации. Ещё есть, правда, выбор количества/режима каналов, но во всех известных мне устройствах (70+ штук) поддерживается исключительно Stereo. * Версии до 7 требуют модификации Bluetooth-стека. Кодек поддерживается, только если производитель Android-устройства лицензировал использование кодека у Qualcomm (если в ОС есть библиотеки кодирования).

Источник: https://habr.com/ru/post/427997/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.