thank you everyone for being here thank you Damian for the great introduction my name is Charlie Ice i am part of NXP's wireless MCU team and I'm really excited to talk to you today about channel sounding and focus in on as Dam Damian mentioned also how to use multiple antennas to improve the accuracy of the channel sounding measurement and my goal for this presentation is that at the end you walk away being able to know kind of the basics of how to implement this in your system you also understand how the channel sounding standard itself supports this and then also kind of what to look for when selecting an algorithm for your end channel sounding designs and this is going to be followed up by Lambda 4 they have a lot of good information about kind of implementing this in the channel sounding algorithm and showing some more data so it's really a a tag team effort here and the way this is we'll we'll do is I'll look a little bit more about applications and the vision damian talked a lot about that but I'll just kind of go through that again and kind of pick one one example in particular uh and then we'll look at the hardware piece how are we actually getting the hardware set up to uh to do the multiple antennas and what are the hardware implications that are kind of happening in the physical world and then we'll shift gears and look at the software side how is the channel sounding spec allowing the algorithms to use multiple antennas and take measurements across those different antennas and then of course we'll wrap up by showing some examples of how that's done in some real world designs and some reference designs that NXP has to offer so just in general channel sounding is really ushering in what we like to call ambient computing and the idea is that uh once you know the distance between two devices it doesn't take a lot of uh leaps to then know where those devices are and once you have location you can have a huge amount of automation so for example if my uh conference room in my office has Bluetooth channel sounding and it's paired with my phone I can walk in with my phone it knows who I am how I want the lights how I like my PC set up and so potentially the IT equipment the air conditioning could all be configured right when I walk in the room and that's all based on simple Bluetooth channel sounding so a lot of automation there or my desk at my office could know that based on channel sounding that I'm really close so it turns on the monitor it turns on the dock and I just put my laptop down and everything's ready to go there's no plugging in cables there's no hoping it boots up that just both talk together and are automatically up and running so really interesting things again kind of smart homes you can think of a lot of other smart home things could happen based on this and again the smartphone knowing where you are in the home so that's the motivation again that kind of idea of ambient computing and knowing where you are so of course by improving the accuracy you can improve that location awareness and multiple antennas is one of the best ways to do that and one of the other examples that we touched on earlier that I'm going to use in this presentation is car access and so in this example the car h you have a key fob and the key fob has channel sounding as well as ultra wideband and as you walk up to the car channel sounding is used to do kind of the initial ranging it's Bluetooth so it's very low power and you walk up to the car and channel sounding is happening and then once you get very close ultra wideband can kick in to do real fine fine ranging that might be a little bit more power hungry and so the overall user experience is improved because you have now low power from the Bluetooth channel sounding and then super fine very accurate ranging with ultra wideband for that last last bit to know when to unlock uh your Ferrari securely and then channel sounding really it's it's interspersed with Bluetooth data traffic so it's not a separate operation that's happening in some strange channel it's just part of Bluetooth data now so it fits within the standard um and it's not uh it's not having to be a separate thing as as we kind of also alluded to and the nice thing too is that it's it's part of the standard so it is fully interoperable devices that support channel setting from multiple vendors will work together and be able to do measurements um there's not going to be any hoping that the two devices from two different vendors are going to work and play nice because it's part of the spec they will play nice now two key things the first is that both devices do have to be paired to do a channel signing procedure today and that's for security reasons um so they do have to be paired connect paired and connected it's not like RSSI where they can just send out some advertising packets and the second key piece is uh Bluetooth channel sounding is an optional part of the Bluetooth standard so both devices have to support channel sounding so when I talk to customers a lot of times they say great if I have a Bluetooth device it'll just do channel sounding and the answer is not quite uh you have to make sure that both sides do support channel sounding and it is an optional feature so keep that in mind what we think is as smartphones adopt channel setting that'll become less of an optional feature and just part of a as a and more of a a standard feature but today it is an option definitely is certainly an optional feature and channel sounding as we talked about does do two different ranging methodologies so the first ranging methodology is roundtrip time and this is really all about how do I make sure that my ranging is secure and there's a lot of different security built into channel sounding this one is here is kind of one of the foundational ones it's timestamps packets being exchanged between the initiator and the reflector and because those are encrypted packets it's very hard to hack that it's really hard to do a man-in-the-middle attack and spoof that or tweak the signaling this is pretty secure but you can imagine it's not all that accurate so phase based ranging is there to do fine fine ranging it's measuring phase shift between tones that are sent between the initiator and the reflector um and then it by calculating that phase shift it can determine the distance quite accur accurately but this certainly theoretically could be vulnerable to some very advanced attacks and there's a bunch of things built in here that reduce those vulnerabilities but it's in theory possible so the algorithm looks at both and says if this is very different than this something went wrong and we're under attack throw those measurements out right for the purposes of looking at uh using multiple antennas to improve the range we're going to focus just on phasebased ranging because you think about sending packets with time stamps those are basically data there's not a lot that multiple antennas are going to do to make that more accurate but for phases we're measuring phase shifts multiple antennas will make a big difference here and then we'll see more about the data side of that with lambda 4 uh and but but this is where we're going to focus and channel sounding includes support for this in the spec only on the phasebased side so this is where we'll look for the rest of our presentation but keep in mind there are two different methodologies that are happening so with that now let's dive into kind of the how what's happening on the hardware side what's the RF side what's what's going on in the in the the more real world and then like I said we'll take this and look at at what's happening on the software side and much like any RF topic it's very you can go super super deep lots and lots of math i'm going to give you the kind of higher level so you can then go read some of those papers and understand what they're talking about so like we talked about we're sending tones back and forth in this diagram that I've have here the initiator has sent some tones and the reflector is sending those tones back and the main thing that causes a lot of the inaccuracies here is reflections so you think about this room if my pointer is transmitting there's a lot of signals bouncing off the ceiling the the floor or if it's in my back pocket now you've got reflections off of me potentially off of the walls behind me so that's what's really causing a lot of the issues and in this simplified diagram you can see the line of sight signal is the blue signal and that's what we want to measure the other two signals the orange and kind of the lighter orange are the reflected signals and those are causing interference and making things less accurate and making our ranging kind of throw us throwing us off and so our goal is how do we really get the most out of that blue signal how do we isolate that blue signal and measure just that well one of the best ways is through multiple antennas and this is what we call antenna diversity i'll I'll use those terms interchangeably but in a lot of the papers you'll see they call it antenna diversity and so if we had have two antennas on the initiator that's receiving the reflected signals um now the first antenna at the top you can see it actually is getting most of that blue signal so the signal strength of the blue signal is maximized by the top antenna and the second antenna is receiving most of the reflected signal so if we did a really simple algorithm we could say which antenna do I pick to do my measurements off of ah I'll pick the antenna that has the highest signal strength um based on the two and that's probably the one that has the line of sight signal i'll do all my calculations off that there's a lot of other ways to do that that are more advanced but that's a really simple way you could look at what's being received and go "All right how do I pick the two antennas?" Uh I'll pick the one that has the highest signal strength and you can have multiple antennas on both the initiator and the reflector so and this is what we call a 2 by two situation so there's one on each side two on each side and we'll cycle through each antenna pair and again our simple simple algorithm here is just going to say well which of those two which of those four paths had the highest signal strength and we'll just guess that that one therefore is the one that actually has the line of sight signal and we'll do our calculations based on that uh and one of the and you'll see that as Damian mentioned that the Bluetooth spec does allow for multiple antenna configurations multiple paths um I'm going to focus on the 2 by two configuration here that I've drawn because that one we found in our experiments tends to be the best balance between performance and cost uh it does require that you control the antennas that are on both sides but in our key fob example the car manufacturer would be able to have two antennas on the key fob and two on the car and therefore be able to implement this and then have that kind of a good balance and trade-off between performance um and and cost so uh before I leave this kind of nod of heads you guys with me or is this kind of going too quick all right I see a couple heads and some thumbs up so we're going to keep going so the first thing that we're going to do on our hardware PCB design is what we call spatial diversity so when you see PCBs that have and we'll see one in a moment that have multiple antennas the antennas are spaced out and they're spaced out because that way um both each antenna no matter how much phase shift happens is always going to receiving more or less the peak signal and we'll space them out by at least half a wavelength and so you can see the orange signal here is that shifted signal and so now as it gets shifted antenna 2 gets kind of the peak signal antenna one's not getting the peak signal anymore if it keeps shifting you'll get antenna one having more signal strength than antenna 2 and so by having them separated out physically on the board we're going to maximize the reception now likewise um angular diversity is the angle of the antennas themselves on the PCB and so if we take a typical PCB antenna say an inverted F um which is used across you know very very common in Bluetooth designs and in 2.4 designs this has a radiation pattern of really a donut it's a monopol pole and that's really the goal of most PCB antennas is to be a monopole if we slice that in half and do a 2D projection um it looks roughly like this and this is just kind of for visualization purposes obviously it's pretty crude representation but if we have two antennas and we angle them now our coverage of those two antennas because they're angled is much much greater and so that's why you'll see on the PCBs that they're not only spaced out but the antennas are angled at a particular angle to maximize the coverage of that radiation pattern of those antennas and so if we combine those together you can see here is one of NXP's channel sounding boards for our KW45 MCU and this board you can see the antennas are up on the top there's two chip antennas they're spaced of more than half a wavelength but multiple of multiples of half a wavelength and then they're also angled and so we achieve both the angular diversity and that spatial diversity on the PCB with these two antennas now there's also an RF switch on this board and the reason for that is our device only rece is designed to receive on one antenna antenna at a time and so we use the RF switch to switch between each of the two antennas throughout the channel sounding procedure and then finally the last piece is as Damian mentioned channel sounding doesn't provide an the Bluetooth channel sounding spec doesn't provide an algorithm so your algorithm that's running to take the measurements and turn them into a distance number has to be able to use multiple antenna information and so our device uh we include um an algorithm from NXP called the rapid and accurate distance estimation it's very cleverly named or RAID and RAID takes multiple antenna information and combines that into a distance measurement and that's something that for you when you're designing board designing your systems to pick a partner that has good algorithms for channel sounding u lambda 4 has very good algorithms as well um they're also one of our partners so you'll when you're designing you can pick an algorithm from either NXP or a partner like Lambda 4 or any silicon provider make sure they have a good algorithm that of course uses multiple antennas so then now let's look about how how is the Bluetooth spec actually implementing this what's the software behind this that makes it work so we can take those measurements across multiple antennas so as we already talked about briefly uh the channel sounding spec does include um services so it includes a client and a ranging server and the idea is the ranging client's going to be doing the actual distance algorithm on this piece and then the ranging server is going to set up that channel sounding procedure so this is going to tell the uh ranging client I have these features i can implement this security i can implement this number of antenna paths and really set up that whole ranging session and keep in mind this is it's really flexible so they can be the central or peripheral um they can be the initiator or the reflector so it's it's not necessarily dictated which one is which um you have to under they determine that when they do their negotiation and let's see I think and and so for example here's how that would look in our car example so in our car example the key fob here is our it's our server so it's going to have all the information about what it can do and then the car anchor is going to be that that client and the car anchor is going to be running the distance algorithm but it's not necessarily going to be the initiator and this going to be the reflector that's that's really up to the two's negotiation right but this is going to do the algorithm and this is going to just be setting up that ranging procedure and then from a a kind of step-by-step s um procedure you'll see channel sounding is going to start out with a discovery procedure what what procedures do we have and then the Bluetooth spec talks next about how do I configure the devices and what security do we both support because there's different levels of security that the devices can support um so they negotiate and understand which ones do they support and how do they run those different levels of security and then the spec actually then has them do the channel signing procedure measuring the channels roundtrip time roundtrip phase and then finally they exchange data because again it's the initiator and reflector can be the client or the server and so they have to exchange data based on which switch and then the last step is turning all that measurements those measurements into an actual distance and again that's not part of the Bluetooth spec that is up to you or your partner or providers to give you that algorithm and so we're going to zoom in on the channel setting procedure itself and show and I'll show you how that's using multiple antennas and how that's implemented in the channel setting procedure um as and yeah we're going to talk primarily about this box but just keep in mind there's other box other other steps in that overall procedure so this is a little bit busy let me walk you through this this is what's going on with that channel setting procedure so this is what's showing you underneath what is it actually doing and it break the channel setting procedure is broken up into events and so there's multiple events per procedure and then each of those events is broken up into a subevent and the subevents are broken up into steps and between each step is a frequency hop because the algorithm doesn't want to we don't want to interfere with others and we want to make sure that we can measure the take channel sounding measurements across the whole frequency range so there's a TFCS which is the time for frequency hopping and then there's a step and there's steps multiple steps per channel sounding procedure and so if we go back to our previous diagram of showing how Bluetooth channel sounding is interspersed with data traffic you can see actually what we're talking about is it's actually just events so the channel sounding events are interspersed with data transfers and multiple events are interspersed between data to make up a complete channel sounding procedure so we're combining multiple events interspersed with data to make up that complete procedure that we're going to have for the full measurement range now each step as I say subevent is made up of different steps and each steps can be one of four things and the four things are called modes and so the step could be mode zero which is calibration mode one which is our roundtrip packet exchange mode two which is faithbased ranging or mode three which is combining the two together into a singles a single um step and so each step is each each step so we have step one here is mode zero we could have step two which is say mode one step three would be mode two and just so on and so forth but each step is only one of these four modes so it's pretty very defined what each step is going to be they're one of these four modes here so as you can actually as as you can guess we're going to talk about mode two because mode two is the phase based ranging um mode three combines the two and so it's pretty once you understand mode two you can combine the two pretty easily so to start off with for mode two with phase based ranging and again we're going to look at the scenario where there's two antennas on each side we're going to start with a frequency hop that going to be our modus operandi we always frequency hop whenever we do a new step so we'll do frequency hop and then the initiator here is going to transmit to the reflector and it's this first signal path right here the two blue antennas and so this is called antenna path one or AP1 here in the diagram and so we'll transmit and measure the phase and then again we'll switch the two antenna paths and then measure again and then switch again and switch again so then we've gone through all four antenna paths so you can see we cycled through the different antenna connections and we've had a time between each so that the two devices can catch up and switch and then the last piece you'll see and then between each of these we're sending the same data so it's always the same tone each time for each of these procedures each of these steps and then finally the last step is what we call tone extension this is optional it's there for security reasons and also to help uh with regulatory compliance sometimes because we're sending tones we can run into some issues with SEC compliance this this helps with that but it's also an optional thing so the two guy the two sides negotiate and security-wise they can decide we will send this we won't send this and if you're a hacker you wouldn't necessarily know if it's going to be sent or not and so this is a kind of easy indication of I got a tone extension but I wasn't expecting it something's wrong i should throw these measurements out and start over and then transmitter ramps down it's time for that and then the spec has time for them to switch roles so now this is where that data measurement is so exchange is so useful is we're actually going to be u transmitting flipping who's transmitting and receiving so now the reflector is going to transmit to the initiator and so we'll do the same steps just reversed so now these top two antenna paths are tr are the two we're going to be looking at then we'll look at antenna path two which is this one antenna path three and then antenna path 4 again we'll cycle through all those antenna paths with the roles reversed in terms of transmitting and receiving and then finally there's a again a tone extension so we'll do that or not optionally between the two and then we'll ramp down between the two devices so that's the complete procedure for multiple antennas this is mode two so it's the phase based ranging this also can be combined with roundtrip time with mode three so then our distance estimation algorithm is going to take all that information because they're going to do a data exchange and it's going to turn all that magically into a distance measurement and say the distance is 5 m 4 m 10 m whatever and again that's not part of the channel sending spec so it's key that whatever vendor you pick whatever partner you pick has that algorithm that can take that those multiple antenna measurements and turn them into an actual distance estimation so again our kind of initial thought of how you would do that very simplistic would be which one had the highest receive signal strength out of all those eight measurements certainly there's a lot of ways you could make that more complex but that's just kind of an to visualize how could this be done it's a simple way that could work and then finally from NXP how would you get started um this is a board we saw already but this is our initial channel sending reference design with our KW45 automotive Bluetooth MCU um this is a early design for prototyping purposes it's actually not compliant with the spec but it does run the channel setting procedure we have an device coming out in the future called the M6 W72 as well as the KW47 device that will be compliant with the spec completely um there were just a couple security things we couldn't do on this initial silicon um this is a great way to get started though to just prototype and experiment and see what the range is like it can run different algorithms and then we also have an accelerator for running the algorithms built into the M6W72 that's coming out it's a a customized DSP just for channel sounding that's designed to accelerate the algorithm because as you can imagine as you have multiple antenna measurements the algorithm can get more and more complex and can take more and more time to run so our accelerator allows you to run the algorithm faster because it's a a customized DSP but it also could let you run their algorithm multiple times over the same data set and you could compare those measurements and average them together so with that uh please visit us at our booth if you'd like we uh we have some really compelling demos we also have the Freedom Lab which is a separate uh booth designed to let you actually run um NXP examples on actual devices and get some boards from NXP as well so thank you very much i appreciate your time and look forward to your questions
2025-04-22 12:50