What Is a Wireless Network?
A wireless network is a communication network that utilizes protocol layers, including application, medium access control (MAC), physical (PHY), and radio frequency (RF) signals to transmit and receive data between devices on a wireless channel. Wireless networks are characterized by nodes and links, representing the connections between these nodes.
Designing a wireless network comes with several challenges including coverage and range, interference, capacity and bandwidth, Quality of Service (QoS), and scalability. To address these challenges, engineers need to configure wireless network architectures, design scheduling and operational protocols, and ensure key performance indicators (KPIs) such as throughput, latency, and packet error rate are met.
You can use MATLAB® to explore the wireless network space by simulating and analyzing components of a wireless network, including:
- Wireless network topologies
- Wireless nodes with protocol stacks
- MAC algorithms including resource scheduling, traffic prioritization, and QoS
- Placement of nodes and their mobility
- Channel models and impairments
Wireless Network Topologies
Understanding the topology of a wireless network is important as it sets out the arrangement of the nodes within a network. It describes both the physical layout of the nodes and the paths that data follows between them.
MATLAB allows you to simulate and analyze different types of topologies, including:
- Star Topology: A point-to-point architecture where nodes communicate directly with a central access point.
- Mesh Topology: A peer-to-peer architecture where each node in the network is interconnected with multiple other nodes.
- Hybrid Mesh: A combination of the features of both star and mesh topologies. It typically includes an access point connected to mesh nodes.
The choice of topology depends on factors such as the network’s purpose, scale, and desired performance characteristics.
Wireless networks can be broadly categorized into homogeneous and heterogeneous types. These terms refer to the composition and characteristics of the network infrastructure and the devices connected to it. A homogeneous wireless network consists of nodes that use the same access technology, such as a network solely composed of wireless local area network (WLAN) components. In contrast, a heterogeneous wireless network integrates multiple access technologies, such as a combination of WLAN, Bluetooth®, and 5G.
Nodes in a Wireless Network
Each node in a wireless network has its own protocol stack, which consists of the set of network protocols and software layers it uses to communicate and participate in the network. While each protocol stack may vary based on the specific communication standard in use, they all generally adhere to the foundational structure provided by the open systems interconnection (OSI) model.
You can use 5G Toolbox™, WLAN Toolbox™, and Bluetooth Toolbox™ to model networks across an OSI reference model protocol stack, further enhancing your understanding of various functionalities performed at different layers.
For example, the stack inside the nodes of a 5G communication network can be modeled as follows:
The protocol stack enables the node to handle various tasks and responsibilities at different layers of the network architecture. It is based on the OSI model, a conceptual framework that standardizes the functions and interactions of different protocols and systems in a network. Every communication node operates its various functionalities performed at different layers.
Here’s an overview of various layers of the OSI protocol stack and the role each layer plays:
- Physical Layer: It deals with tasks such as modulation, encoding, transmitting, and receiving radio waves.
- Data Link Layer: It manages issues such as channel access, media access control (MAC), error detection, and correction.
- Network Layer: It focuses on routing and forwarding data packets between different nodes in the network. It handles tasks such as IP addressing, routing protocols, and managing network congestion.
- Transport Layer: It manages tasks such as segmentation, flow control, and error recovery. Protocols such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are used in this layer.
- Session Layer: It manages session synchronization, checkpointing, and recovery.
- Presentation Layer: It ensures that data is exchanged between applications in a format that can be understood by both parties.
- Application Layer: It is where user applications and services interact with the network. It includes protocols such as HTTP, FTP, and SMTP.
Channels in a Wireless Network
In a wireless network, a channel refers to a specific portion of the wireless spectrum and the physical environment that is allocated for transmitting and receiving wireless signals. Channel allocations divide the available frequency spectrum into smaller bands. Each channel operates at a specific center frequency and uses a bandwidth, i.e., a frequency range within the wireless spectrum. For example, in the 2.4 GHz band, Wi-Fi® channels are spaced 5 MHz apart, while in the 5 GHz band, channels are typically 20 MHz or wider.
Channels are the environments where all the distortions including noise, impairments, and interference are added to a transmitted signal. Wireless engineers use MATLAB to work on channel modeling and compensation techniques, such as carrier frequency offset correction, mitigating interference and enabling coexistence between wireless networks. Interference occurs when multiple wireless devices operate on the same or overlapping channels, leading to signal degradation and reduced performance. Coexistence refers to the ability of multiple wireless networks or devices to operate in the same environment without causing significant interference to each other.
Key Performance Indicators of a Wireless Network
When designing and optimizing wireless networks, you need to look further into the performance (KPIs) at node and network levels. MATLAB provides a platform to analyze KPIs such as:
- Throughput: The amount of data that can be transmitted over a wireless network in a given time.
- Latency: The time interval between the initiation of a data transfer and the reception of the corresponding response or acknowledgment.
- Resource allocation fairness: The equitable distribution of available network resources among multiple users or devices in a wireless network.
- Resource utilization: The efficiency of resource usage measured as the percentage of resources being utilized compared to the total available resources.
- Spectral efficiency: The amount of data that can be reliably transmitted over a given bandwidth or frequency range.
- Achievable connection density: The capacity of the network to accommodate a large number of devices or users simultaneously.
Wireless Network Simulation with MATLAB
You can use MATLAB and its wireless communication toolboxes to model, simulate, and optimize wireless networks. These networks can be based on standards such as 5G and WLAN or ad hoc general networks. Standard selection further guides the process of specifying channels and setting up traffic models and protocol details.
For example, you can create a simple network simulation in under 15 lines of code using MATLAB, which includes a simplified workflow with node features. Further, you can expand, configure, and customize the code by:
- Creating a new network
- Adding nodes to the simulator
- Interacting with the nodes
- Scheduling actions to be performed during simulations
- Plugging in custom channel models
% Simulation durations in terms of 10ms frames rng('default'); numFrameSimulation = 100; % Create simulator networkSimulator = wirelessNetworkSimulator.init(); %Create the gNB gNB = nrGNB(TransmitPower=34, CarrierFrequency=2.6e9, ... ChannelBandwidth=5e6); % Create the UEs uePositions = [300 -400 0; 700 700 0; -1000 500 0; -1000 -500 0]; UEs = nrUE(Position=uePositions, TransmitPower=23); % Form the NR cell by connecting UEs to gNB connectUE(gNB, UEs, FullBufferTraffic="on"); % Add nodes to the simulator and run the simulation addNodes(networkSimulator, gNB); addNodes(networkSimulator, UEs); run(networkSimulator, numFrameSimulation*1e-2); % Read performance metrics gNBStats = statistics(gNB) ueStats = statistics(UEs);
These functionalities are enabled by the Wireless Network Simulation Library, a free add-on to Communications Toolbox™. It provides functions, apps, and examples for efficient and customizable wireless network simulation.