BabbleSim / ext_2G4_phy_v1

2.4GHz physical layer simulation component
4 stars 6 forks source link

2G4 name of project #7

Open paulfdietrich opened 1 month ago

paulfdietrich commented 1 month ago

I am considering using BabbleSIM (via Zephyr) for a 900 Mhz ISM band simulation of a few nodes. I'm currently investigating starting with this PHY. After looking through the code for the PHY (channel and modem are separate), I don't see anything that is 2.4 Specific. Was there some reason this was named specific to 2.4? It seems like great code, and this framework would extend well to other channels with the appropriate modems.

aescolar commented 1 month ago

@paulfdietrich. There is a few reasons why it was called like that. Note that it is not just this phy that is for 2.4GHz, also the modem and channel models for this Phy, and the protocol between this Phy and devices. Their scope is limited to 2.4GHz just to bound what any of those needs to expect and support. In particular if you look closely you'll see that that both phy and protocol assume the freq is an offset to 2400MHz, the allowed modulations and interferes types are quite focused on BLE and 802.15.4, and that packets follow a simple {sync, header, payload, CRC} structure, and that bits and mapped straight into time domain symbols (so, for ex., FDM would not fit into it).

Note also that there phy-device protocol is split in 2 parts. The base protocol, and the 2GHz part. There is other (proprietary) Phys out there in other bands, that similarly to the 2G4 Phy extend the base protocol with their own commands.

That being said it is true that the phy executable itself is relatively agnostic of the band and protocol. So if your 900MHz protocol has an overall basic packet phy layer layout that matches the current 2.4GHz phy layout you could make your own phy & protocol version duplicating the 2.4 one, just redefining the frequency offset as being relative to 900MHz instead of 2400.