2.4 Types of Communication Systems Simulation
When simulating physical phenomena, one may need to use differential equations, electromagnetism, etc. But detailed simulations may be too demanding in terms of computational resources.
For example, avoiding waveforms and using the abstraction of bits is useful to evaluate, for example, channel coders. In this case the transmitter sends bits, which are processed by the channel (can be flipped, erased, etc.) that deliver bits to the receiver. This bit-based simulation is also useful when one is not interested in details of the physical layer, but in studying network protocols, for example. The open source Network Simulator [ url5nsn] is an example of a platform that benefits from relatively fast bit-based simulations by abstracting details about the channel propagation and using other simplifying assumptions.
Hence, a good simulation model omits details to save computations but guarantees that the adopted simplifications do not compromise the conclusions. Choosing an efficient model to study a new problem is a big challenge. But for well-known problems in digital communications, there are several well-established “low” and ‘high-level” simulation models. Some of the most popular approaches are discussed in the sequel.
2.4.1 Sample versus symbol-based simulations
Simulating at the sample-level requires using waveforms to represent the signals. They allow to study the digital communication blocks that are closer to the channel such as equalizers and synchronization blocks.
The symbol-based simulation can be used to save computation. For example, there is no need to use oversampling to generate waveforms and error rates can still be estimated with accuracy. The operation at the symbol rate is called baud-spaced. Operation at rates higher than are called fractionally-spaced.
These two kinds of simulations were contrasted via examples in Section 2.7.4.
2.4.2 PSD-based simulation
In some scenarios of practical interest, estimating the SNR is enough for evaluating key performance indicators of a communication system. For example, knowing the PSDs of interest (e. g., of the signal, noise and interference) at a receiver allows using equations such as Eq. (4.52) to estimate the average bit rate, as will be detailed later on. In theses cases, it is possible to represent signals by their PSDs.
Knowing the transmit PSD , the PSD at the output of a LTI system with frequency response is given by Eq. (F.40) as . Similar reasoning can be used for the PSDs of interference signals and noise, which allows to estimating signal to noise ratios. This PSD-based simulation simplifies enormously the computations and still allows for a relatively accurate estimation of bit rates.
However, PSD-based simulations do not address all aspects of a communication system. For example, they are not used to estimate an error probability . PSD-based simulations assume a given and use approximations such as Eq. (5.18) to obtain the signal power that should be adopted in order to guarantee the specified .
2.4.3 Baseband versus passband simulations
Simulating passband signals and channels at high-frequency carrier with a sampling frequency can be prohibitive in terms of computational cost. It is of interest to use the lowest possible , which depends on the signals bandwidths, not their carrier frequencies.
An important result is that, when one assumes the processes of upconversion and downconversion are ideal, instead of using a bandpass channel and passband transmit and receive signals, it is possible to downconvert to the baseband and use baseband versions of all passband signals. This strategy has the potential of leading to equivalent results to the case of working with the original bandpass channel and signals but with a much lower computational cost. For example, a GSM system operating at MHz with a bandwidth of 25 MHz, can have the channel converted to baseband and simulated with baseband signals represented with a sampling frequency MHz much lower than MHz.
2.4.4 Link versus system-level simulations
Especially in wireless communications, it is common to split the simulation task in link and system-level simulations. Due to different time scales when considered the whole network, using a single simulator is often impossible. Broadly speaking, a link-level simulation concerns a single pair of Tx and Rx, while a system-level takes in account several users.
A link-level simulation can study for example how new waveforms (OFDM versus filtered OFDM, etc.) or different channel estimation methods impact the communication of a single user equipment and a radio base station with respect to BER versus SNR, for instance. Some examples of Matlab link-level simulations are provided at [ url5lil]. In the link-level case, the simulation can try to accurately describe the propagation of a signal over a channel , implementing the convolution operation , and extra signal processing at the receiver such as synchronization and channel estimation. Executing an elaborate processing chain at the sample-level (see Section 2.4.1) may take a considerable amount of time.
To reduce the simulation computational cost, a system-level can implement simpler models of signal propagation over channels. This is implemented in ns-3 and other famous discrete-event network simulators. For instance, a system-level simulation can rely on PSD-based (see Section 2.4.2) instead of sample-based simulations. Besides, a system-level simulation can be based on parameters extracted from link-level simulations and then focuses on studying the overall performance given different networking protocols.8 For example, link-level simulations can be used to generate a lookup table that maps SNR values to corresponding BER or BLER values (see Section 2.3.10). This table can then be used in system-level simulations, where SNR values are estimated (typically through PSD-based methods) for each individual link. Based on these estimates, BER or BLER values are assigned, allowing the simulation of transmission errors by simply flipping bits, thereby avoiding the need to implement a full signal processing chain.