https://github.com/teddy-van-jerry/802.11-2007-mini-phy
IEEE 802.11-2007 (WLAN) Mini PHY Implementation in MATLAB
https://github.com/teddy-van-jerry/802.11-2007-mini-phy
802-11 matlab modulation ofdm wifi wlan
Last synced: 3 months ago
JSON representation
IEEE 802.11-2007 (WLAN) Mini PHY Implementation in MATLAB
- Host: GitHub
- URL: https://github.com/teddy-van-jerry/802.11-2007-mini-phy
- Owner: Teddy-van-Jerry
- License: mit
- Created: 2024-10-30T20:38:42.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-30T22:52:10.000Z (about 1 year ago)
- Last Synced: 2025-04-06T19:33:50.746Z (8 months ago)
- Topics: 802-11, matlab, modulation, ofdm, wifi, wlan
- Language: MATLAB
- Homepage:
- Size: 17.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IEEE 802.11-2007 (WLAN) Mini PHY
A basic 802.11 OFDM PHY layer,
including packet detection, synchronization, channel estimation, modulation and demodulation
using MATLAB.
> [!NOTE]
> This is a mini project of UCSD ECE257A (Fall 2024) implemented by [Wuqiong Zhao](https://wqzhao.org).
## Features
- [x] QPSK modulation and demodulation
- [x] OFDM symbol construction
- [x] packet detection and boundary detection (synchronization)
- [x] carrier frequency offset (CFO) estimation and correction
- [x] channel estimation
## Usage
Run the `main_dot11_OFDM.m` script to simulate the 802.11 OFDM PHY layer.
All used functions are included in the [`functions`](functions) folder.
> [!TIP]
> You will need the Signal Processing Toolbox to use the `pwelch` function in [`dot11_plot_PSD.m`](functions/dot11_plot_PSD.m).
### Plot Output
The plots are auto saved as `.eps` files in the [`plots`](plots) folder.
### Special Notes About QPSK Modulation
The QPSK modulation and demodulation are implemented in the [`dot11_QPSK_modulate.m`](functions/dot11_QPSK_modulate.m) and [`dot11_QPSK_demodulate.m`](functions/dot11_QPSK_demodulate.m) functions, respectively.
It is worth noting the implemented ones are **NOT** Gray-coded QPSK,
due to the requirement of this assignment.
The constellation mapping can be easily adjusted for other QPSK mappings.
## Acknowledgments
The code completion is assisted by ChatGPT o1-preview and GitHub Copilot.
## License
This project is distributed under the [MIT License](LICENSE).