Simulink® model of 802.11b wireless LAN physical layer (baseband), supporting 1Mbps, 2Mbps, 5.5Mbps, and 11Mbps modes. Model includes framing, long and short preamble, DBPSK and DQPSK modulation, Barker code spreading, Complementary Code Keying (CCK), root raised-cosine pulse shaping, channel number selection (frequency shift) and an AWGN channel.
NOTE: A version of this model which works with the current release of MATLAB® and Simulink is shipped with the Communications Blockset™.
The model makes extensive use of configurable subsystems, swapping in and out required components for chosen parameters. Set system parameters by double-clicking the "System Parameters" block in the top left. Toggle instrumentation (eye-diagram, scatter plot and spectrum scope) by double-clicking the switch. The BER subsystem contains error meters. Instruments slow down the simulation considerably.
Unzip to a new folder, change the MATLAB current directory to this folder, then open the 'WiFi' mdl file.
There is a mistake in the pulse shaping filter:
wlan80211b/Transmitter/Upsample and pulse shape/Pulse Shaping Filter
Go into the mask editor > Initialization of the pulse shaping block, change:
WiFi.mdl - Model file
WiFi_lib.mdl - Library
WiFi_init.m - System initialization code. Configure subsystems and calculate delays. (Run by 'System parameters' mask)
cck_codes.mat - CCK codes data file
Test files (open wifi.mdl, turn off instrumentation and run these):
ber_test.m - Simulation and plot BER for each mode (2 minutes to run of 800MHz machine)
test_level_1.m - Simulate and check many parameter combinations to ensure 0 BER for no-noise case (3 mins on 800MHz machine)
IEEE Std 802.11b-1999, available from: http://standards.ieee.org/reading/ieee/std/lanman/