In this post I'll share my experience in adjustment of WiFi physical channel. The channel was implemented on a software defined radio (SDR) platform. WiFi looks like a very complicated thing standardized over hundreds of pages. Could a non-expert with a PC and a couple of 100$ devices (HackRFs) somehow improve it? Here I try to develop a WiFi optimization approach basically agnostic of protocol implementation details. There's some math and Python programming in it.
Wireless technologies *
WiFi, Bluetooth and so on
TL;DR: All AI-based noise cancellations suck, only the physical cancellation technique works! And physical cancellation is implemented well only in Jabra devices yet, but other features suck them! All Bluetooth headsets suck too! So, no solution yet, just complaints!
The environment: I work in a pretty talky office room, where sit around 10 people, and all of them have many online conferences every day, including me. So, silence in the room is a rare situation.
The problem: The main problem is that most of the microphones pick up all side talk pretty loud, which makes it very unpleasant for other people to listen to my voice in meetings!
I guess, it's not a big deal to say that Wi-Fi (IEEE 802.11 standards) is the one of the most popular and most spread communication technology of the current day. Especially indoors. The growing number of Wi-Fi devices still remains that leads to the overcrowded spectrums: both 2.4 GHz and 5 GHz.
This fact means increasing of demand for some optimization routines for utilization of resources. And therefore some RRM (Radio Resource Management) systems become required.
What is a Wi-Fi Grill?
Over the last few years, we’ve seen the rise of wi-fi technology. It’s allowed us to automate our lives, making a lot of things easier. For example, now you’ll be able to turn on the lights at home from an app on your phone. You can start preheating the oven for dinner when you leave the office. This technology has always existed in the world of grilling. For example, you could purchase a thermometer, which lets you monitor the internal temperature of the meat from your phone.
A grill with wi-fi, though, takes this concept to the next level. Using this technology, you’ll be able to control a lot of aspects of the grilling process. For example, you’ll be able to set the temperature of the grill. Sensors in the grill will then help to automatically adjust the heat to fit your preferences. You can also control when the grill turns itself on and off. The features will often depend on the model that you purchase.
Bluetooth stack modifications to improve audio quality on headphones without AAC, aptX, or LDAC codecs
Some wireless headphone users note low sound quality and lack of high frequencies when using the standard Bluetooth SBC codec, which is supported by all headphones and other Bluetooth audio devices. A common recommendation to get better sound quality is to buy devices and headphones with aptX or LDAC codecs support. These codecs require licensing fees, that's why devices with them are more expensive.
It turns out that the low quality of SBC is caused by artificial limitations of all current Bluetooth stacks and headphones' configuration, and this limitation can be circumvented on any existing device with software modification only.
This article is also available in Russian / Эта статья также доступна на русском языке
The mass market of smartphones without the 3.5 mm audio jack changed headphones industry, wireless Bluetooth headphones have become the main way to listen to music and communicate in headset mode for many users.
Bluetooth device manufacturers rarely disclose detailed product specifications, and Bluetooth audio articles on the Internet are contradictory and sometimes incorrect. They do not tell about all the features, and often publish the same false information.
Let's try to understand the protocol, the capabilities of Bluetooth stacks, headphones and speakers, Bluetooth codecs for music and speech, find out what affects the quality of the transmitted audio and the delay, learn how to capture and decode information about supported codecs and other device features.
- SBC codec is OK
- Headphones have their own per-codec equalizer and post processing configuration
- aptX is not as good as the advertisements say
- LDAC is a marketing fluff
- Voice audio quality is still low
- Browsers are able to execute audio encoders compiled to WebAssembly from C using emscripten, and they won't even lag.
Once I put on true wireless headphones and all the cables after that (even if it's a flexible headband on a “wireless” headset), became annoying. So I’ve tried a lot of AirPods-like earbuds in order to find the best ones. In 2018 aside from the AirPods themselves I tried: Jabra Elite 65+, Samsung IconX 2018 and Sony WF-1000X. The result was a neat table with all the objective data. Everything else — my personal opinion — let's discuss in the comments.