LabVIEW Communications System Design Suite

cancel
Showing results for 
Search instead for 
Did you mean: 

Wi-Fi roaming (handoff) using the 802.11 application framework

Hello!

I am trying to choose a project theme for my bachelors degree, and I was thinking to implement a roaming(hand-off) mechanism between 2 USRP 802.11 transmitters. I was thinking to setup a UDP video streaming like in the examples, and gradually increase the distance between the two (or slowly place a metallic box on top of one) so that it will get closer to another one which in turn will send UDP packets, and see for how long the VLC video will turn off, until it will start playing a video again.

 

I'm thinking to use the Received Signal Strength as a trigger for the hand-off procedure, and somehow change the parameters in a parallel execution loop, when the Received Power drops below a certain value. I'm not looking to make this process optimum, rather I want to keep it simple, more precisely, knowing the exact frequency value to tune for the second transmitter, MAC address, and not receiving the values on a common channel like this is usually done in practice.

 

Do you have any ideas, or advice that could help me get this done ?

0 Kudos
Message 1 of 7
(4,124 Views)

Hi Alex,

 

You should take a look at this blog post from Cisco. It gives a cool overview of wi-fi roaming. In the article they mention a best practices white paper that I think could be good to look at.

 

Overall, you should probably refer to the 11k, 11r, and 11v standards for guidance on implementing "roaming". Especially k and r, which seem to cover roaming more extensively.

 

Cheers,

Michael

Michael Bilyk
Former NI Software Engineer (IT)
0 Kudos
Message 2 of 7
(4,082 Views)

Thanks a lot AgentAstronaut I just had a quick look at the links you sent me and they seem to be very helpful, and I will definitely study them in more detail. However, I was looking for an advice from someone with insight into the 802.11 app framework, more exactly like where to look at in the Application Framework, in the VI. Thanks again for your help !

0 Kudos
Message 3 of 7
(4,076 Views)

Hi Alex,

 

My reasoning for directing you to the 802.11k and 11r standards is that they will specify what roaming means and, to some extent, how to implement it on the PHY layer. This will give you guidance into where you should look in the 802.11 App framework to make modifications.

 

As a member of a university you should be able to access the IEEE library for free.

 

Other than that we can hope that someone who is both familiar with roaming and the 802.11 App Framework will post. I suggest that you look at those standards in the meantime as a starting point.

 

Cheers,

Michael Bilyk

Michael Bilyk
Former NI Software Engineer (IT)
0 Kudos
Message 4 of 7
(4,057 Views)

Thanks Michael for your suggestions they were really helpful!

 

I have started to dig in the framework and see how it works more in detail in order to find a spot to modify it accordingly for my project. However, I ended up in the 802.11 FCS Add CDL, inside the MAC Tx and it seems feasible to add some new bytes there based on received information. My concern is : Do I have to worry about timing constraints also, or it's enough to make sure I update the Tx length after I add my data and then to the reverse at receiver? I feel like I'm walking on thin ice when working with this huge, complex project, because I am not sure if modifying a tiny part of it will mess up the whole program.

 

I would really use some advice from someone experienced in this! Thanks a lot!

Best,

Alex

0 Kudos
Message 5 of 7
(4,025 Views)

Hi Alex,

 

I think getting this help from someone is kind of a long shot considering the implementation of a roaming standard will generally be a company's Intellectual Property. They may not be willing to post their information. What did you say you were building this for, again?

 

When you first create the Project in LabVIEW Comms it creates a working directory. If you every mess anything up you can always start from the beginning. You may have to fiddle around with the code before you learn how to implement the strategy you are thinking of.

 

Cheers,

Michael

Michael Bilyk
Former NI Software Engineer (IT)
0 Kudos
Message 6 of 7
(4,010 Views)

Well I don't think anyone should worry when posting here, since I am an undergrad trying to make a final year project. I don't aim to implement a roaming standard because I am aware of how complex that might be. I am just trying to work with the 802.11 application framework and bring some modifications to it. Hence you can think of my project more as a redundancy application, rather than roaming.

 

I have 3 USRPs running the 802.11 app framework, 2 of them working as transmitters, 1 receiver. The receiver should jump to f2 when it has poor connectivity (RF input power, high BLER, etc.)

USRP1(Tx) < ---- f1 (e.g. 2.4GHz) ---- > USRP2(Rx)

USRP3(Tx) < ---- f2 (e.g. 2.42GHz) ---- >

I have already obtained this setup, and managed to do this manually (stop the VI and change the frequency of the Rx to f2 and then turn it back on). I would like now to automate this process based on the parameters mentioned above, and just observe how the ongoing streaming is affected by the frequency selective channel and make a little study on the results.

 

I was thinking to use the digital frequency shift function to jump on the f2, but using the function at each cycle would be a complete waste of resources. I now look for a way to force the program back in the configuration loop from Rx.

 

If you have ideas, any kind of information may be helpful for me!

 

ps: I am not concerned about losing the data, but I just wanted to eliminate some wrong directions to save time, because any modification in the project requires a 2h build.

0 Kudos
Message 7 of 7
(4,006 Views)