Bandwidth Part (BWP) in 5G NR

Key focus: Bandwidth Part (BWP): Allocates segments of spectrum for flexible resource allocation in 5G NR networks, enhancing efficiency and adaptability. Know the difference between bandwidth part and transmission bandwidth

Introduction

The 3rd Generation Partnership Project (3GPP), in its Release 15, specified the new radio-access technology called 5G New Radio (5G NR). The 5G NR continues to evolve in the subsequent releases that addresses performance improvements and new use cases.

In the release 15, new features for 5G NR were introduced so as to support a varied range of devices, services and deployments. Once such new basic feature in 5G NR is the Bandwidth Part (BWP).

5G NR Frequency ranges

3GPP defines the frequency ranges for 5G NR operation, as specified in Table 1 (illustrated in Figure 1).

Definition of frequency ranges as given in 5G NR 3GPP TS 38.104
Table 1: Definition of frequency ranges as given in TS 38.104 [1]
Figure 1: 5G NR frequency ranges

Operating bands

Within each Frequency Range (FR), the 3GPP defines operational bands. 3GPP 5G NR defines 60 operating bands in FR1 and 7 bands in FR2 (refer section 5.2 in [1]). These operating bands represent specific frequency ranges that come with their own unique radio frequency requirements (for example: some of these bands are designated for use in Frequency Division Duplexing (FDD), Time Division Duplexing (TDD), Supplemental Up Link (SUL), Supplemental Down Link (SDL) communication). The width of these operating bands can vary significantly, ranging from just a few megahertz to several gigahertz. Different mobile network operators might be allocated (typically by respective governments through spectrum auction) different portions of the available spectrum within a given operational band.

To cater to the diverse spectrum allocation scenarios while keeping implementation complexities in check, the New Radio (NR) technology supports a wide range of channel bandwidths (a.k.a Base station (BS) channel bandwidth) spanning from 5 MHz to 2 GHz. In this context, “channel bandwidth” refers to the width of an NR carrier, the fundamental component of the 5G system.

Channel bandwidth

The base station’s channel bandwidth enables the use of a single NR RF carrier in either the uplink or downlink. The user equipment (UE) may support different channel bandwidth than the BS.

The UE connects to the BS. The UE receives information about the cell’s channel bandwidth from the network. The network also provides the UE with details regarding the location and extent of a Bandwidth Part (BWP). The core concept is that a User Equipment (UE) can employ a wide-bandwidth when a significantly large data is required to be transmitted/received, but operate with a limited bandwidth during other periods of limited activity.

Bandwidth Part (BWP)

As we know, 5G NR defines scalable Orthogonal Frequency Division Multiplexing (OFDM) using numerology \(\mu = \left\{ 0,1,2,3,4 \right\}\) that defines the subcarrier spacings (SCS) as \( \Delta f = 2^{\mu} \times 15 \; kHz\). A resource element is the smallest time-frequency resource over one subcarrier of a single OFDM symbol. A resource block (RB) is a block of \( N_{sc}^{RB} = 12 \) subcarriers over which the transmissions are scheduled (Figure 2).

Figure 2: Resource element, resource block and resource grid in 5G NR

In a broad sense, a BWP can be described as a collection of contiguous Resource Blocks (RBs) configured within a given channel bandwidth. The BWP provides a flexible mechanism for adapting to varied bandwidth ranges in order to aid in reduction of power consumption.

Another reason is to cater to devices with varying bandwidth capabilities by setting up different BWPs for each device. A Base Station (BS) might have the ability to accommodate an exceptionally broad channel bandwidth, even though certain User Equipment (UEs) may not have the capability to handle it. The concept of Bandwidth Part (BWP) offers a way to dynamically allocate radio resources, ensuring that a UE’s signals are limited to a portion of the BS’s channel bandwidth that aligns with the UE’s capabilities.

Point A, illustrated in Figure 3, functions as a standardized reference across all resource grids within the frequency. It acts as the central marker for subcarrier 0 within a common resource block 0 of the lowest resource grid and it can reside outside the carrier’s bandwidth. Each individual resource grid (RG) adheres to a distinct 5G NR numerology and commences at a frequency offset from point A.

As shown in Figure 3, the bandwidth part consists of contiguous set of RBs for a particular numerology on a given carrier and starts at an offset RB_{start} from the reference Point A.

Figure 3: Spectrum configuration in 5G NR illustrating channel bandwidth and bandwidth part (BWP)

Transmission bandwidth

5G NR defines another concept called transmission bandwidth that is closely related with bandwidth part. While BWP refers to a portion of the overall channel bandwidth that is allocated for specific communication purposes, transmission bandwidth refers to the range of frequencies that are used to transmit signals. It encompasses the total frequency range used for communication, including both the data-carrying portion and any guard bands or additional spectrum used for various purposes.

In short, the BWP refers to a specific allocated portion of the transmission bandwidth, while the transmission bandwidth encompasses the entire range of frequencies used for communication.

Figure 4: Transmission bandwidth and Channel bandwidth in 5G NR
\[\]

References

[1] 3GPP Specification TS 38.104 (version 17.7.0 Release 17) – 5G NR Base Station (BS) radio transmission and reception

Machine Learning Basics: A Comprehensive Introduction for Beginners

Key focus: machine learning, introduction, basics, beginners, algorithms, applications, concepts

Introduction

Machine learning has emerged as a groundbreaking technology that is transforming industries and reshaping our interaction with technology. From personalized recommendations to autonomous vehicles, machine learning algorithms play a pivotal role in these advancements. If you’re new to the field, this comprehensive beginner’s guide will provide you with a solid introduction to machine learning, covering its fundamental concepts, practical applications, and key techniques.

Understanding Machine Learning:

Machine learning is a subset of artificial intelligence (AI) focused on developing algorithms and models that can learn from data and make predictions or decisions without explicit programming. Instead of relying on fixed instructions, these algorithms extract patterns and insights from available data, enabling them to generalize and make accurate predictions on unseen examples.

The core machine learning algorithms are categorized into three types:

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning

Supervised Learning:

Supervised learning is a crucial branch of machine learning. In this approach, algorithms are trained on labeled datasets, where each example consists of input features and corresponding target labels. By learning from these labeled examples, algorithms can map inputs to correct outputs, identifying underlying patterns. Linear regression, decision trees, and support vector machines are common supervised learning algorithms.

Unsupervised Learning:

Unsupervised learning tackles unlabeled data. Its goal is to discover hidden patterns, structures, or relationships without prior knowledge of labels. Clustering and dimensionality reduction are prominent techniques within unsupervised learning. Clustering algorithms group similar data points, while dimensionality reduction methods aim to reduce feature dimensions while retaining relevant information.

Reinforcement Learning:

Reinforcement learning takes inspiration from how humans learn through trial and error. In this learning paradigm, an agent interacts with an environment and learns to maximize a reward signal by taking appropriate actions. Through repeated interactions, the agent explores the environment, receives feedback, and adjusts its actions to optimize its performance. Reinforcement learning has been successfully applied in areas such as robotics, gaming, and autonomous systems.

Key Steps in Machine Learning:

  1. Data Collection: Machine learning relies on quality data. Gathering relevant and representative data is a crucial initial step. It can come from various sources, including structured databases, APIs, or unstructured text and images.
  2. Data Preprocessing: Raw data often contains noise, missing values, or inconsistencies. Data preprocessing involves cleaning, transforming, and normalizing the data to ensure it is suitable for analysis and model training.
  3. Feature Engineering: Feature engineering involves selecting, extracting, or creating meaningful features from the available data. Good features can significantly impact the performance of a machine learning model.
  4. Model Training: This step involves feeding the prepared data into a machine learning algorithm to create a model. The algorithm learns from the data and adjusts its internal parameters to make accurate predictions or decisions.
  5. Model Evaluation: Evaluating the performance of a trained model is essential to assess its accuracy and generalization capabilities. Various metrics, such as accuracy, precision, recall, and F1 score, are used to measure the model’s performance.
  6. Model Deployment and Monitoring: Once the model is deemed satisfactory, it can be deployed in real-world applications. Continuous monitoring is crucial to ensure the model’s performance remains optimal and to address any issues that may arise.

Business use cases:

Businesses are increasingly leveraging machine learning to gain a competitive edge, improve operational efficiency, and enhance decision-making processes. Here are some common ways in which businesses are using machine learning:

  • Customer Insights and Personalization: Machine learning enables businesses to analyze customer data, such as purchase history, browsing behavior, and demographic information, to gain valuable insights. This information can be used to personalize marketing campaigns, recommend relevant products or services, and improve customer experiences.
  • Fraud Detection and Risk Management: Machine learning algorithms can identify patterns and anomalies in large volumes of transactional data, helping businesses detect fraudulent activities and mitigate risks. These algorithms learn from historical data to spot fraudulent patterns and predict potential risks, enabling proactive measures to safeguard businesses and their customers.
  • Demand Forecasting and Inventory Management: By analyzing historical sales data, market trends, and external factors, machine learning algorithms can predict future demand for products or services. This helps businesses optimize inventory levels, minimize stock-outs, reduce costs, and improve overall supply chain management.
  • Predictive Maintenance: Machine learning models can analyze sensor data from machinery and equipment to detect patterns indicating potential failures or maintenance needs. By identifying issues before they occur, businesses can schedule maintenance proactively, minimize downtime, and optimize equipment performance.
  • Natural Language Processing (NLP) for Customer Support: NLP techniques powered by machine learning are employed in chatbots and virtual assistants to automate customer support processes. These systems can understand and respond to customer queries, provide relevant information, and assist with common issues, improving response times and enhancing customer satisfaction.
  • Sentiment Analysis and Social Media Monitoring: Machine learning algorithms can analyze social media data and other online sources to gauge public sentiment and monitor brand reputation. This information helps businesses understand customer opinions, identify emerging trends, and respond effectively to customer feedback.
  • Supply Chain Optimization: Machine learning algorithms optimize supply chain operations by analyzing data related to logistics, transportation, and inventory management. These models can identify bottlenecks, streamline routes, optimize scheduling, and reduce costs, ultimately improving the overall efficiency of the supply chain.
  • Credit Scoring and Risk Assessment: Financial institutions employ machine learning algorithms to assess creditworthiness, predict default probabilities, and automate the loan approval process. By analyzing a range of variables, such as credit history, income, and demographics, these algorithms provide more accurate risk assessments and streamline lending processes.
  • Image and Speech Recognition: Machine learning models have advanced image and speech recognition capabilities. Businesses can leverage these technologies for various applications, such as facial recognition for security purposes, automatic image tagging, voice-controlled virtual assistants, and automated document analysis.
  • Data Analytics and Business Intelligence: Machine learning algorithms assist in analyzing large volumes of data to extract insights, identify patterns, and make data-driven decisions. By leveraging machine learning techniques, businesses can uncover hidden trends, gain a deeper understanding of their operations, and drive informed strategies.

These are just a few examples of how businesses are utilizing machine learning to improve their operations and decision-making processes. As machine learning continues to evolve, its applications across various industries and business functions are expected to expand, unlocking even greater opportunities for organizations.

Products/Services using machine learning

Machine learning has been integrated into a wide range of products and services across various industries. Here is a list of products that utilize machine learning:

  • Virtual Assistants: Virtual assistants like Amazon Alexa, Google Assistant, and Apple Siri use machine learning to understand and respond to user queries, perform tasks, and provide personalized recommendations.
  • Recommendation Systems: Platforms such as Netflix, Amazon, and Spotify leverage machine learning to analyze user preferences and behavior, providing personalized recommendations for movies, products, and music.
  • Fraud Detection Systems: Financial institutions and online payment processors employ machine learning algorithms to detect and prevent fraudulent activities by analyzing patterns and anomalies in transactions and user behavior.
  • Autonomous Vehicles: Self-driving cars and autonomous vehicles rely on machine learning algorithms to perceive and interpret the environment, make real-time decisions, and navigate safely on the roads.
  • Image and Speech Recognition: Products like Google Photos, Facebook’s automatic photo tagging, and voice assistants utilize machine learning algorithms for image and speech recognition tasks, enabling features such as automatic tagging and voice-controlled interactions.
  • Language Translation: Machine learning plays a significant role in language translation tools like Google Translate and Microsoft Translator, enabling accurate and automated translation between different languages.
  • Social Media News Feed Ranking: Social media platforms like Facebook, Twitter, and Instagram employ machine learning algorithms to rank and personalize users’ news feeds, showing relevant content based on their interests and preferences.
  • Customer Service Chatbots: Many companies use machine learning-powered chatbots to provide automated customer support, answer common queries, and assist with basic tasks without the need for human intervention.
  • Email Filtering: Email service providers such as Gmail utilize machine learning algorithms to automatically filter and categorize incoming emails, separating spam from legitimate messages and prioritizing important emails.
  • Medical Diagnosis Systems: Machine learning is applied in medical diagnosis systems to analyze patient data, medical images, and electronic health records, aiding in accurate disease diagnosis and treatment planning.
  • Smart Home Devices: Smart home devices like smart thermostats, security systems, and voice-controlled assistants incorporate machine learning to learn user preferences, automate tasks, and optimize energy consumption.
  • E-commerce Product Search and Recommendations: E-commerce platforms like Amazon and eBay employ machine learning to enhance product search capabilities, provide personalized recommendations, and optimize product listings.
  • Predictive Maintenance Systems: Industrial equipment and machinery are monitored using machine learning algorithms to predict maintenance needs, detect anomalies, and minimize downtime through proactive maintenance.
  • Financial Trading Systems: Machine learning algorithms are utilized in financial trading systems to analyze market data, identify patterns, and make automated trading decisions.
  • Online Advertising: Platforms such as Google Ads and Facebook Ads leverage machine learning to optimize ad targeting, personalize advertisements, and improve campaign performance.

These are just a few examples of the many products and services that incorporate machine learning to provide enhanced functionalities, intelligent automation, and personalized experiences across various industries.

Implementing Markov Chain in Python

Keywords: Markov Chain, Python, probability, data analysis, data science

Markov Chain

Markov chain is a probabilistic models that describe a sequence of observations whose occurrence are statistically dependent only on the previous ones. This article is about implementing Markov chain in Python

Markov chain is described in one of the earlier posts. For better understanding of the concept, review the post before proceeding further.

We will model a car’s behavior using the same transition matrix and starting probabilities described in the earlier post for modeling the corresponding Markov chain model (refer Figure 1). The matrix defines the probabilities of transitioning between different states, including accelerating, maintaining a constant speed, idling, and braking.

Figure 1: Modeling a car’s behavior using Markov chain model

The starting probabilities indicate that the car starts in the break state with probability 1, which means it is already stopped and not moving.

Python implementation

Here’s the sample code in Python that implements the above model:

import random

# Define a transition matrix for the Markov chain
transition_matrix = {
    'accelerate': {'accelerate': 0.3, 'constant speed': 0.2, 'idling': 0 , 'break': 0.5 },
    'constant speed': {'accelerate': 0.1, 'constant speed': 0.4, 'idling': 0 , 'break': 0.5 },
    'idling': {'accelerate': 0.8, 'constant speed': 0, 'idling': 0.2 , 'break': 0 },
    'break': {'accelerate': 0.4, 'constant speed': 0.05, 'idling': 0.5 , 'break': 0.05 },
}

# Define starting probabilities for each state
starting_probabilities = {'accelerate': 0, 'constant speed': 0, 'idling': 0, 'break': 1}

# Choose the starting state randomly based on the starting probabilities
current_state = random.choices(
    population=list(starting_probabilities.keys()),
    weights=list(starting_probabilities.values())
)[0]

# Generate a sequence of states using the transition matrix
num_iterations = 10
for i in range(num_iterations):
    print(current_state)
    next_state = random.choices(
        population=list(transition_matrix[current_state].keys()),
        weights=list(transition_matrix[current_state].values())
    )[0]
    current_state = next_state

In this example, we use the random.choices() function to choose the starting state randomly based on the starting probabilities. We then generate a sequence of 10 states using the transition matrix, and print out the sequence of states as they are generated. A sample output of the program is given below.

>>> exec(open('markov_chain.py').read()) #Python 3 syntax
break
idling
accelerate
break
accelerate
break
accelerate
constant speed
break
accelerate

The Most Important Topics to Learn in Machine Learning

Keywords: machine learning, topics, probability, statistics, linear algebra, data preprocessing, supervised learning, unsupervised learning, deep learning, reinforcement learning, model evaluation, cross-validation, hyperparameter tuning.

Why the buzz ?

Machine learning has been generating a lot of buzz in recent years due to its ability to automate tasks that were previously thought to be impossible or required human-level intelligence. Here are some reasons why there is so much buzz in machine learning:

  1. Improved Data Processing: Machine learning algorithms can process vast amounts of data quickly and accurately. With the advent of big data, there is now more data available than ever before, and machine learning algorithms can analyze this data to extract meaningful insights.
  2. Automation: Machine learning can automate tasks that were previously done by humans, such as image recognition, natural language processing, and even decision making. This has the potential to increase efficiency and reduce costs in many industries.
  3. Personalization: Machine learning can be used to personalize experiences for users. For example, recommendation systems can use machine learning algorithms to suggest products or services that are relevant to a user’s interests.
  4. Predictive Analytics: Machine learning can be used to make predictions about future events based on historical data. This is particularly useful in industries like finance, healthcare, and marketing.
  5. Advancements in Technology: Advancements in technology have made it easier to collect and store data, which has made it possible to train more complex machine learning models. Additionally, the availability of cloud computing has made it easier for companies to implement machine learning solutions.

Overall, the buzz in machine learning is due to its ability to automate tasks, process vast amounts of data, and make predictions about future events. As machine learning continues to evolve, it has the potential to transform many industries and change the way we live and work.

The most important topics to learn in machine learning

There are several important topics to learn in machine learning that are crucial for building effective machine learning models. Here are some of the most important topics to learn:

  1. Probability and Statistics: Probability and statistics are the foundation of machine learning. It is important to have a solid understanding of concepts like probability distributions, statistical inference, hypothesis testing, and Bayesian methods.
  2. Linear Algebra: Linear algebra is used extensively in machine learning algorithms, especially in deep learning. Topics like matrices, vectors, eigenvectors, and eigenvalues are important to understand.
  3. Data Preprocessing: Data preprocessing is the process of cleaning and transforming raw data into a format that can be used by machine learning algorithms. It includes tasks like feature scaling, feature selection, data normalization, and data augmentation.
  4. Supervised Learning: Supervised learning is a type of machine learning where the model learns from labeled data to make predictions or classifications on new, unseen data. This includes topics like regression, classification, decision trees, and support vector machines.
  5. Unsupervised Learning: Unsupervised learning is a type of machine learning where the model learns from unlabeled data to discover patterns and relationships in the data. This includes topics like clustering, dimensionality reduction, and anomaly detection.
  6. Deep Learning: Deep learning is a subset of machine learning that involves training artificial neural networks with multiple layers. It is used for tasks like image recognition, natural language processing, and speech recognition.
  7. Reinforcement Learning: Reinforcement learning is a type of machine learning where an agent learns to take actions in an environment to maximize a reward signal. It is used for tasks like game playing, robotics, and autonomous driving.
  8. Model Evaluation and Selection: Model evaluation and selection is the process of selecting the best machine learning model for a given task. It includes topics like cross-validation, bias-variance tradeoff, and hyperparameter tuning.

Overall, these are some of the most important topics to learn in machine learning. However, it is important to note that the field of machine learning is constantly evolving, and there may be new topics and techniques to learn in the future.

Spectrogram Analysis using Python

Keywords: Spectrogram, signal processing, time-frequency analysis, speech recognition, music analysis, frequency domain, time domain, python

Introduction

A spectrogram is a visual representation of the frequency content of a signal over time. Spectrograms are widely used in signal processing applications to analyze and visualize time-varying signals, such as speech and audio signals. In this article, we will explore the concept of spectrograms, how they are generated, and their applications in signal processing.

What is a Spectrogram?

A spectrogram is a two-dimensional representation of the frequency content of a signal over time. The x-axis of a spectrogram represents time, while the y-axis represents frequency. The color or intensity of each point in the spectrogram represents the magnitude of the frequency content at that time and frequency.

How are Spectrograms Generated?

Spectrograms are typically generated using a mathematical operation called the short-time Fourier transform (STFT).

The STFT is a variation of the Fourier transform that computes the frequency content of a signal in short, overlapping time windows. The resulting frequency content is then plotted over time to generate the spectrogram.

\[ STFT(x(t), f, \tau)(\omega, \tau) = \int_{-\infty}^{\infty} x(t)w(t – \tau)e^{-i\omega t}dt \]

where \(STFT(x(t),f \tau)\) is the STFT of the signal \(x(t)\) with respect to frequency f and time shift \(\tau\), \(\omega\) is the frequency variable, \(w(t-\tau)\) is the window function, and \(e^{-j\omega t}\) is the complex exponential that represents the frequency component at \(\omega\).

The STFT is computed by dividing the signal \(x(t)\) into overlapping windows of length \(\tau\) and applying the Fourier transform to each window. The window function \(w(t-\tau)\) is used to taper the edges of the window and minimize spectral leakage. The resulting complex-valued STFT is a function of both frequency and time, and can be visualized as a spectrogram.

In practice, the STFT is computed using a sliding window that moves over the signal in small increments. The size and overlap of the window determine the frequency and temporal resolution of the spectrogram. A larger window size provides better frequency resolution but poorer temporal resolution, while a smaller window size provides better temporal resolution but poorer frequency resolution.

The equation for computing spectrogram can be expressed as:

\[S(f, t) = |STFT(x(t), f, \tau)|^2\]

where \(S(f, t)\) is the spectrogram, STFT is the short-time Fourier transform, \(x(t)\) is the input signal, f is the frequency, and \(\tau\) is the time shift or window shift.

The STFT is calculated by dividing the signal into overlapping windows of length \(\tau\) and computing the Fourier transform of each window. The magnitude squared of the resulting complex-valued STFT is then used to compute the spectrogram. The spectrogram provides a time-frequency representation of the signal, where the magnitude of the STFT at each time and frequency point represents the strength of the signal at that particular time and frequency.

Spectrogram using python

To generate a spectrogram in Python, we can use the librosa library which provides an easy-to-use interface for computing and visualizing spectrograms. Here’s an example program that generates a spectrogram for an audio signal:

import librosa
import librosa.display
import numpy as np
import matplotlib.pyplot as plt

# Load audio file
y, sr = librosa.load('audio_147793__setuniman__sweet-waltz-0i-22mi.hq.ogg')

# Compute spectrogram
spec = librosa.feature.melspectrogram(y=y, sr=sr)

# Convert power to decibels
spec_db = librosa.power_to_db(spec, ref=np.max)

# Plot spectrogram
fig, ax = plt.subplots(nrows = 1, ncols = 1)
img = librosa.display.specshow(spec_db, x_axis='time', y_axis='mel', ax = ax)
fig.colorbar(img, ax = ax, format='%+2.0f dB')
ax.set_title('Spectrogram')
fig.show()
Figure 1: Spectrogram of an example audio file using librosa python library

In this program, we first load an audio file using the librosa.load() function, which returns the audio signal (y) and its sampling rate (sr). We then compute the spectrogram using the librosa.feature.melspectrogram() function, which computes a mel-scaled spectrogram of the audio signal.

To convert the power spectrogram to decibels, we use the librosa.power_to_db() function, which scales the spectrogram to decibels relative to a maximum reference power. We then plot the spectrogram using the librosa.display.specshow() function, which displays the spectrogram as a heatmap with time on the x-axis and frequency on the y-axis.

Finally, we add a colorbar and title to the plot using the fig.colorbar() and ax.set_title() functions, respectively, and display the plot using the fig.show() function.

Note that this program assumes that the audio file is in OGG format and is located in the current working directory. If the file is in a different format or location, you will need to modify the librosa.load() function accordingly. The sample audio file can be obtained from the librosa github repository.

Applications of Spectrograms in Signal Processing

Spectrograms are widely used in signal processing applications, particularly in speech and audio processing. Some common applications of spectrograms include:

  1. Speech Analysis: Spectrograms are used to analyze the frequency content of speech signals, which can provide insight into the characteristics of the speaker, such as gender, age, and emotional state.
  2. Music Analysis: Spectrograms are used to analyze the frequency content of music signals, which can provide information about the genre, tempo, and instrument composition of the music.
  3. Noise Reduction: Spectrograms can be used to identify and remove noise from a signal by filtering out the frequency components that correspond to the noise.
  4. Voice Activity Detection: Spectrograms can be used to detect the presence of speech in a noisy environment by analyzing the frequency content of the signal.

Conclusion

Spectrograms are a powerful tool in signal processing for analyzing and visualizing time-varying signals. They provide a detailed view of the frequency content of a signal over time, enabling accurate analysis and interpretation of complex signals such as speech and audio signals. With their numerous applications in speech and audio processing, spectrograms are an essential tool for researchers and practitioners in these fields.

Volterra series – RF power amplifier model

Key focus: Volterra series is an useful tool for modeling nonlinear time invariant systems in general, and they are commonly used to model RF power amplifiers with memory effects

Introduction

Power amplifier are nonlinear devices responsible for compensating for the signal power loss between a transmitter and receiver. The input power levels to the power amplifiers can be increased to compensate for the power loss during transmission. At low input power regime, an ideal power amplifier provides constant gain to the output signal.

However, in the high input power regime, nonlinear effects of the power amplifier come to play, the power of the output signal shows diminished gain (compressed) and starts to saturate.

1-dB compression point is the most important measure of quantifying the beginning of non-linearity of the power amplifier (Figure 1). It is the point where the RF output power level decreases 1 dB from the constant value. Therefore, 1-dB compression point is a measure of the beginning of distortion, where a perfect sine wave fed at the input of the power amplifier do not maintain the perfect shape at the output of the power amplifier.

Figure 1: 1-dB compression point

It is therefore critical to model and understand the power amplifier in order to correct for the non-linear distortion it creates and not break the requirements defined by the agreed-upon standards like 3GPP.

Memoryless models: Taylor series

Memoryless models place emphasis on the power amplifier with memoryless nonlinearity, which means that the current output is determined solely by the current input via a nonlinear method. A nonlinear memoryless system can be modeled using Taylor series. For example, a discrete time system with input x[n] and output y[n], the nonlinearity is incorporated using nonlinear terms with corresponding coefficients/weights (ɑi) for each term.

\[ y[n] = \alpha_1 x[n] + \alpha_2 x^2[n] + \alpha_3 x^3[n]+ \cdots + \alpha_ x^n[n] + \cdots \quad \quad (1) \]

Memory models : Volterra series

The bandwidth of the signals, such as in 3GPP LTE and 3GPP 5G NR, gets wider. When the wideband signals are input to high power amplifiers (such as in base stations), the power amplifiers start to exhibit memory effects. As a consequence, the power amplifier’s current output is affected not only by the current input, but also by previous input values. Volterra series and its derivatives are commonly used to model power amplifiers with memory.

Volterra series is an useful tool for modeling nonlinear time invariant systems in general, and they are commonly used to model RF power amplifiers with memory effects. The Volterra series is a polynomial based mathematical model that captures the nonlinear terms and memory effects present in these devices.

For a discrete time system with input x[n] and output y[n], the Volterra series with nonlinearity order K and memory depth Q is given by

\[y[n] = \sum_{k=1}^K y_k[n] \quad \quad (2)\]

where,

\[ \begin{align} y_k[n] &= \sum_{i_1=0}^{Q-1} \cdots \sum_{i_k=0}^{Q-1} h_k \left(i_1, \cdots, i_k \right) x[n-i_1]x[n-i_2]\cdots x[n-i_k] \\ & = \sum_{i_1=0}^{Q-1} \cdots \sum_{i_k=0}^{Q-1} h_k \left(i_1, \cdots, i_k \right) \prod_{r=1}^{k} x[n-i_r] \\ \end{align}\]

hk(i1, …, ik) are the nth order Volterra Kernels. It can be understood that it models any system by using the system’s impulse responses. Because of the high complexity and high resource requirements, Volterra series cannot be used in practical applications.

For practical applications, Volterra series has to be truncated in such a way that it has the least impact on the models performance. This can be accomplished by omitting some of the terms in equation (2) for each application. Special versions of Volterra series allow for use in power amplifier behavioral modeling. Memory polynomial model is one of the derivative of Volterra series that is easier to implement. We will discuss this model with an example simulation model in the next post.

5G NR Resource block

Key focus: 5G NR resource block : a block of 14 OFDM symbols (1 slot across time domain) with the corresponding 12 subcarriers for those symbols

5G NR protocol stack

In the 5G New Radio (NR), the protocol architecture can be separated into two categories: user plane protocol stack and control plane protocol stack. The user plane protocol stack architecture is responsible for delivering user data and the control plane architecture is responsible for setting up the connection, maintaining mobility and providing end-to-end security.

The user plane protocol stack for 5G New Radio (NR) is shown in Figure 1. We see that at the physical layer interface (air interface) between the gNB and UE, the transmission occurs in the form of radio frames.

Figure 1: 5G NR user plane protocol stack architecture

Radio frame structure

Looking at the 5G New Radio (NR) frame structure from the time domain perspective, the radio transmissions are categorized into radio frames, subframes, slots and mini-slots (Figure 2).

A radio frame is for a duration of 10 ms and it comprises of 10 subframes of duration 1 ms each. Each subframe may consist of one or multiple adjacent slots with each slot having 14 OFDM (Orthogonal Frequency Division Multiplexing) symbols. The possibility of transmission over a fraction of a slot is referred to as mini-slot.

Figure 1 shows the radio frame structure for the supported transmission numerologies (μ = 0, 1, 2, 3, 4) as per Table 1.

Figure 2: 5G NR frame structure

Because the duration of an OFDM signal is inversely proportional to its subcarrier spacing, the time duration of a slot scales with the selected numerology (Table 1).

Table 1: 5G NR – supported transmission numerologies

From the frequency domain perspective, an OFDM symbol is comprised of 12 subcarriers, each subcarrier may be spaced according to the scalable numerology as per Table 1.

Time-Frequency resource

A resource element is the smallest time-frequency resource over one subcarrier of a single OFDM symbol. It is identified as (k,l)p,μ where k is the index of the subcarrier in the frequency domain, l is the OFDM symbol position in time domain, p is the antenna port and μ is the subcarrier spacing configuration defined in Table 1 above.

A resource block (a.k.a physical resource blockPRB) is a block of N RBsc = 12 subcarriers over which the transmissions are scheduled. 5G NR physical layer uses time-frequency resource (physical resource block) for transmission.

A resource grid consists of N size,μgrid,x  subcarriers and N subframe,μ symb number of OFDM symbols (Table 2 and 3).

Figure 3: Resource element, Resource block, Resource grid in 5G NR
Table 2: Number of OFDM symbols per slot, slots per subframe and OFDM symbols per subframe for normal cyclic prefix configuration
Table 3: Number of OFDM symbols per slot, slots per subframe and OFDM symbols per subframe for extended cyclic prefix configuration

π/2 BPSK (pi/2 BPSK): 5G NR PHY modulation

The 5G New Radio (NR) supports quadrature phase shift keying (QPSK), 16- quadrature amplitude modulation (16-QAM), 64 QAM and 256 QAM modulation schemes for both uplink and downlink [1][2]. This is same as in LTE.

Additionally, 5G NR supports π/2-BPSK in uplink (to be combined with OFDM with CP or DFT-s OFDM with CP)[1][2]. Utilization of π/2-BPSK in the uplink is aimed at providing further reduction of peak-to-average power ratio (PAPR) and boosting RF amplifier power efficiency at lower data-rates.

π/2 BPSK

π/2 BPSK uses two sets of BPSK constellations that are shifted by 90°. The constellation sets are selected depending on the position of the bits in the input sequence. Figure (1) depicts the two constellation sets for π/2 BPSK that are defined as per equation (1)

\[d[i] = \frac{e^{j \frac{\pi}{2} \left( i \; mod \; 2\right) }}{ \sqrt{2}} \left[ \left(1 – 2b[i] \right) + j \left(1 – 2b[i] \right)\right] \quad \quad (1) \]

b[i] = input bits; i = position or index of input bits; d[i] = mapped bits (constellation points)

Figure 1: Two rotated constellation sets for use in π/2 BPSK

Equation (2) is for conventional BPSK – given for comparison. Figure (2) and Figure (3) depicts the ideal constellations and waveforms for BPSK and π/2 BPSK, when a long sequence of random input bits are input to the BPSK and π/2 BPSK modulators respectively. From the waveform, you may note that π/2 BPSK has more phase transitions than BPSK. Therefore π/2 BPSK also helps in better synchronization, especially for cases with long runs of 1s and 0s in the input sequence.

\[d[i] = \frac{1}{ \sqrt{2}} \left[ \left(1 – 2b[i] \right) + j \left(1 – 2b[i] \right)\right] \quad \quad (2)\]
Figure 2: Ideal BPSK and π/2 BPSK constellations
Figure 3: Waveforms of BPSK and π/2 BPSK for same sequence of input bits

Figure 4, illustrates the constellations for BPSK and π/2 BPSK when the sequence of mapped bits are corrupted by noise.

Figure 4: BPSK and π/2 BPSK constellation for Eb/N0=50dB

Note: Though the π/2 BPSK constellation looks like a QPSK constellation, they are not the same. Give it a thought !!!

References

[1] 3GPP TS 38.201: Physical layer; General description (Release 16)
[2] 3GPP TS 38.211: Physical channels and modulation (Release 16)
[3] Gustav Gerald Vos, ‘Two-tone in-phase pi/2 binary phase-shift keying communication’, US patent number 10,931,492

Array pattern multiplication of phased array antennas

Key focus: Array pattern multiplication: total radiation pattern of N identical antennas is product of single-antenna radiation vector and array factor.

Antenna arrays

Ferdinand Braun invented the Phased Array Antenna in 1905. He shared a Nobel Prize in physics in recognition of their contributions to the development of wireless telegraphy.

An antenna array is a collection of numerous linked antenna elements that operate together to broadcast or receive radio waves as if they were a single antenna. Phased array antennas are used to focus the radiated power towards a particular direction. The angular pattern of the phased array depends on the number of antenna elements, their geometrical arrangement in the array, and relative amplitudes and phases of the array elements.

Phased array antennas can be used to steer the radiated beam towards a particular direction by adjusting the relative phases of the array elements.

The basic property of antenna arrays is the translational phase-shift.

Time-shift property of Fourier transform

Let’s focus for a moment on the time-shifting property of Fourier transform. The timeshifting property implies that a shift in time corresponds to a phase rotation in the frequency domain.

\[F \left\{x(t−t_0) \right\}=e^{-j \omega t_0}X(\omega) \quad \quad (1)\]

Translational phase-shift property

Now, let’s turn our attention to antenna elements translated/shift in space. Figure 1 depicts a single antenna element having current density J(r) placed at the origin is moved in space to a new location that is l0 distant from the original position. The current density of the antenna element at the new position l0 is given by

\[J_{l_0}(r) = J(r – l_0) \quad \quad (2)\]
Figure 1: Current density of antenna element shifted in space

From the discussion on far-field retarded potentials, the radiation vector F(θ,ɸ) of an antenna element is given by the three dimensional spatial Fourier transform of current density J(z).

\[\mathbf{F} \left(\mathbf{k} \right) =\int_V J(r)e^{j \mathbf{k} \cdot r } d^3 r, \quad \quad \mathbf{k} = k\hat{r} \quad \quad (3) \]

Therefore, from equations (2) and (3), the radiation vector of the antenna element space-shifted to new position l0 is given by the space shift property (similar to time-shift property of Fourier transform in equation (1))

\[\begin{aligned} \mathbf{F}_{l_0} \left(\mathbf{k} \right) &=\int_V J_{l_0}(r)e^{j \mathbf{k} \cdot r } d^3 r \\ &= \int_V J(r-l_0)e^{j \mathbf{k} \cdot r } d^3 r \\ &= \int_V J(r)e^{j \mathbf{k} \cdot (r+l_0) } d^3 r \\ &= e^{j \mathbf{k} l_0}\int_V J(r)e^{j \mathbf{k} \cdot r } d^3 r \\ &= e^{j \mathbf{k} l_0} \mathbf{F} \left(\mathbf{k} \right) \end{aligned} \\ \Rightarrow \boxed{ \mathbf{F}_{l_0} \left(\mathbf{k} \right) = e^{j \mathbf{k} l_0} \mathbf{F}\left(\mathbf{k} \right) } \quad \quad (4) \]

Note: The sign of exponential in the Fourier transform does not matter (it just indicates phase rotation in opposite direction), as long as the same convention is used throughout the analysis.

From equation (4), we can conclude that the relative location of the antenna elements with regard to one another causes relative phase changes in the radiation vectors, which can then contribute constructively in certain directions or destructively in others.

Array factor and array pattern multiplication

Figure 2 depicts a more generic case of identical antenna elements placed in three dimensional space at various radial distances l0, l1, l2, l3, … and the antenna feed coefficients respectively are a0, a1, a2, a3,…

Figure 2: Current densities of antenna elements shifted in space – contributors to array factor of phased array antenna

The current densities of the individual antenna elements are

\[\begin{aligned} J_{l_0}(r) &= a_0 J(r – l_0) \\ J_{l_1}(r) &= a_1 J(r – l_1) \\ J_{l_2}(r) &= a_2 J(r – l_2) \\ & \vdots \end {aligned} \quad \quad (5)\]

The total current density of the antenna array structure is

\[J_{total} = a_0 J(r – l_0) + a_1 J(r – l_1) + a_2 J(r – l_2) + \cdots \quad \quad (6)\]

Applying the translational phase-shift property in equation (4), the total radiation vector of an N element antenna array is given by

\[ \begin{aligned} \mathbf{F}_{total} \left(\mathbf{k} \right) &=\mathbf{F}_{l_0} \left(\mathbf{k} \right) + \mathbf{F}_{l_1} \left(\mathbf{k} \right) + \mathbf{F}_{l_2} \left(\mathbf{k} \right) + \cdots \\ &= a_0 e^{j \mathbf{k} l_0} \mathbf{F} \left(\mathbf{k} \right) + a_1 e^{j \mathbf{k} l_1} \mathbf{F} \left(\mathbf{k} \right) + a_2 e^{j \mathbf{k} l_2} \mathbf{F} \left(\mathbf{k} \right) + \cdots\\ &= \mathbf{F} \left(\mathbf{k} \right) \sum_{i=0}^{N} a_i e^{j \mathbf{k} l_i} \\ &= \mathbf{F} \left(\mathbf{k} \right) \mathbf{A} \left(\mathbf{k} \right)\end{aligned} \]
\[ \boxed{\mathbf{F}_{total} \left(\mathbf{k} \right) = \mathbf{F} \left(\mathbf{k} \right) \mathbf{A} \left(\mathbf{k} \right) \quad \quad (\text{array pattern multiplication}) } \quad \quad (7)\]

The quantity A(k) is called array factor which incorporates the relative translational phase shifts and the relative feed coefficients of the array elements.

\[\boxed{\mathbf{A} \left(\mathbf{k} \right) = \sum_{i=0}^{N} a_i e^{j \mathbf{k} l_i} \quad \quad (\text{array factor}) }\quad \quad ,\mathbf{k} = k\hat{r} \quad \quad (8)\]

or equivalently,

\[\boxed{\mathbf{AF} \left(\theta, \phi \right) = \sum_{i=0}^{N} a_i e^{j k \left( \hat{\theta} \times \hat{\phi} \right) l_i} \quad \quad (\text{array factor}) } \quad \quad (9)\]

The array pattern multiplication property states that the total radiation pattern of an antenna array constructed with N identical antennas is the product of radiation vector of a single individual antenna element (also called as element factor) and the array factor.

Effect of array factor on power gain and radiation intensity

Let U(θ,ɸ) and G(θ,ɸ) denote the radiation intensity and the power gain patterns of an antenna element. The total radiation intensity and the power gain of an antenna array, constructed with such identical antenna elements, will be modified by the array factor as follows.

\[\boxed{\begin{aligned} U_{total}\left( \theta, \phi \right) &= \mid A(\theta, \phi)\mid ^2 U\left( \theta, \phi \right)\\ G_{total}\left( \theta, \phi \right) &= \mid A(\theta, \phi)\mid ^2 G\left( \theta, \phi \right) \end{aligned}} \quad \quad (10)\]

The role of array factor is very similar to that of the transfer function of an linear time invariant system. Recall that if a wide sense stationary process x(t) is input to the LTI system defined by the transfer function H(f), then the power spectral density of the output is given by

\[S_y(f) = \mid H(f) \mid ^2 S_x(f)\]

Illustration using a linear array of half-wave dipole antennas

Linear antennas are electrically thin antennas whose conductor diameter is very small compared to the wavelength of the radiation λ.

A linear antenna oriented along the z-axis has radiation vector (field) whose components are along the directions of the radial distance and the polar angle. That is, the radiation intensity U(θ,ɸ) and the power gain G(θ,ɸ) depend only on the polar angle θ. In other words, the radiation intensity and the power gain are omnidirectional (independent of azimuthal angle ɸ).

Figure 3, illustrates an antenna array with linear half-wave dipoles placed on the x-axis at equidistant from each other.

Figure 3: A linear antenna array with half-wave dipole elements

We are interested in the power gain pattern G(θ,ɸ) of the antenna array shown in Figure 3.

The normalized power gain pattern of an individual antenna element (half-wave dipole) is given by

\[G_{dipole}(\theta, \phi) = \frac{cos^2 (\frac{\pi}{2} cos \theta)}{sin^2 \theta} \quad \quad (11)\]

From the Figure 4 given in this post, the maximum value for the normalized power gain occurs at θ =90°=π/2 radians, i.e, along the xy plane.

\[G_{dipole}(\theta = \pi/2, \phi) = 1 \quad \quad (12)\]

The array factor for the arrangement in Figure 3, computed at θ =90°=π/2 radians is given by

\[A(\theta = \pi/2, \phi) = a_0 + a_1 e^{(j \frac{2 \pi}{\lambda} \; l\; cos \phi)} + a_2 e^{(j \;2\; \frac{2 \pi}{\lambda} \; l \; cos \phi)} \quad \quad (13)\]

The total normalized power gain, along the xy plane (θ =90°=π/2 radians), of the array of dipole antennas arranged as given in Figure 3, is given by

\[G_{total}\left( \theta = \pi/2, \phi \right) = \mid A(\theta = \pi/2, \phi)\mid ^2 G_{dipole}\left( \theta = \pi/2, \phi \right) \quad \quad (14)\]

Dropping the θ for convenience in representation

\[G_{total}\left( \phi \right) = \mid A(\phi)\mid ^2 G_{dipole}\left( \phi \right) \quad \quad (15)\]

Simulation

Figure 4 illustrates equation (15) – the effect of array factor on normalized power gain of an array of half-wave dipole antennas. The plot is generated for separation distance between antenna elements l=λ and the feed coefficients for the antenna elements a = [1, -1, 1].

Check out my Google colab for the python code. The results are given below.

Figure 4: Illustrating the effect of array pattern multiplication on normalized power gain of antenna array

References

[1] Orfanidis, S.J. (2013) Electromagnetic Waves and Antennas, Rutgers University. https://www.ece.rutgers.edu/~orfanidi/ewa/

[2] Constantine A. Balanis, Antenna Theory: Analysis and Design, ISBN: 978-1118642061, Wiley; 4th edition (February 1, 2016)

Far-field retarded potentials

Key focus: Far-field region is dominated by radiating terms of antenna fields, hence, knowing the far field retarded potentials is of interest.

Introduction

The fundamental premise of understanding antenna radiation is to understand how a radiation source influences the propagation of travelling electromagnetic waves. Propagation of travelling waves is best described by electric and magnetic potentials along the propagation path.

The concept of retarded potentials was introduced in this post.

The electromagnetic field travels at certain velocity and hence the potentials at the observation point (due to the changing charge at source) are experienced after a certain time delay. Such potentials are called retarded potentials.

The retarded potentials at a radial distance r from an antenna source fed with a single frequency sinusoidal waves, is shown to be

\[\begin{aligned} \Phi(r) &= \frac{1}{4 \pi \epsilon} \int_V \frac{\rho(z')e^{-j k R }}{R} d^3 z' \\ A(r) &= \frac{\mu}{4 \pi} \int_V \frac{J(z')e^{-j k R }}{R} d^3 z' \end{aligned} \quad \quad (1)\]

where, the quantity k = ω/c = 2 π/λ is called the free-space wavenumber. Also, ρ is the charge density, J is the current density, Φ is the electric potential and A is the magnetic potential that are functions of both radial distance.

Far-field region

Figure 1 illustrates the two scenarios: (a) the receiver is ‘nearer’ to the antenna source (b) the receiver is ‘far away’ from the antenna source.

Figure 1: Radiation fields when antenna and receiver are (a) near and (b) far away

Since the far-field region is dominated by radiating terms of the antenna fields, we are interested in knowing the retarded potentials in the far-field region. The far field region is shown to be

\[\frac{2 l^2}{ \lambda} < r < \infty \quad \quad (2)\]

where l is the length of the antenna element and λ is the wavelength of the signal from the antenna.

In the process of deriving the boundary between far-field and near-field, we used the following first order approximation for the radial distance R.

\[R = r – z' \; cos \theta= r – \hat{r} \cdot z' \quad \quad (3)\]

Far field retarded potential

Substituting this approximation in the numerator of equation (1) and replacing R by r in the denominator

\[\begin{aligned} \Phi(r) &= \frac{1}{4 \pi \epsilon} \int_V \frac{\rho(z')e^{-j k \left( r – \hat{r} \cdot z' \right) }}{r} d^3 z' \\ A(r) &= \frac{\mu}{4 \pi} \int_V \frac{J(z')e^{-j k \left( r – \hat{r} \cdot z'\right) }}{r} d^3 z' \end{aligned} \quad \quad (4)\]

The equation can be written as

\[\begin{aligned} \Phi(r) &= \frac{e^{-jkr}}{4 \pi \epsilon} \int_V \frac{\rho(z')e^{ j k \hat{r} \cdot z' }}{r} d^3 z' \\ A(r) &= \frac{\mu e^{-jkr}}{4 \pi} \int_V \frac{J(z')e^{j k \hat{r} \cdot z' }}{r} d^3 z' \end{aligned} \quad \quad (5)\]
Figure 2: Spherical coordinate system on a cartesian coordinate system

Antenna radiation patterns are generally visualized in a spherical coordinate system (Figure (2)). In a coordinate system, each unit vector can be expressed as the cross product of other two unit vectors. Hence,

\[\begin{aligned}\hat{r} &= \hat{\theta} \times \hat{\phi} \\ \hat{\theta} &= \hat{\phi} \times \hat{r} \\ \hat{\phi} &= \hat{r} \times \hat{\theta} \end{aligned} \quad \quad (6) \]

Therefore, the far-field retarded potentials in equation (5) can be written in terms of polar angle (θ) and azimuthal angle (ɸ)

\[\boxed{\begin{aligned} \Phi(r) &= \frac{e^{-jkr}}{4 \pi \epsilon r} \int_V \rho(z')e^{ j k \left( \hat{\theta} \times \hat{\phi} \right) \cdot z' } d^3 z' \\ A(r) &= \frac{\mu e^{-jkr}}{4 \pi r} \int_V J(z')e^{j k \left( \hat{\theta} \times \hat{\phi} \right) \cdot z' } d^3 z' \end{aligned}} \quad \quad (7)\]

We note that the term inside the integral is dependent on polar angle (θ) and azimuthal angle (ɸ). It determines the directional properties of the radiation. The term outside the integral is dependent on radial distance r. These terms can be expressed separately

\[\begin{aligned} \Phi(r) &= \frac{e^{-jkr}}{4 \pi \epsilon r} \mathbf{Q} \left(\theta, \phi \right) \\ A(r) &= \frac{\mu e^{-jkr}}{4 \pi r} \mathbf{F} \left(\theta, \phi \right) \end{aligned} \quad \quad (8)\]

The terms that determine the directional properties: Q(θ,ɸ) & F(θ,ɸ) are called charge form-factor and radiation vector respectively. The charge form-factor Q(θ,ɸ) and the radiation vector F(θ,ɸ) are three dimensional spatial Fourier transforms of charge density ρ(z’) and current density J(z) respectively.

\[\boxed{\begin{aligned} \mathbf{Q} \left(\theta, \phi \right) & = \int_V \rho(z')e^{ j k \left( \hat{\theta} \times \hat{\phi} \right) \cdot z' }d^3 z' \quad \quad \text{(charge form-factor)}\\ \mathbf{F} \left(\theta, \phi \right) &=\int_V J(z')e^{j k \left( \hat{\theta} \times \hat{\phi} \right) \cdot z' } d^3 z' \quad \quad \text{(radiation vector)} \end{aligned}}\quad \quad (9) \]

The charge-form factor and radiation vector can also be written in terms of direction of the unit vector of radial distance.

\[\boxed{\begin{aligned} \mathbf{Q} \left(\mathbf{k} \right) & = \int_V \rho(z')e^{ j \mathbf{k}\cdot z' }d^3 z' \quad \quad \text{(charge form-factor)} \\ \mathbf{F} \left(\mathbf{k}\right) &=\int_V J(z')e^{j \mathbf{k}\cdot z' } d^3 z' \quad \quad \text{(radiation vector)} \end{aligned}} \quad \quad \boxed{\mathbf{k} = k\hat{r}} \quad \quad (10) \]

Recap

We are in the process of building antenna models. In that journey, we started with the fundamental Maxwell’s equations in electromagnetism, then looked at retarded potentials that are solutions for Maxwell’s equations. Propagation of travelling waves is best described by retarded potentials along the propagation path. Then, the boundary between near-field and far-field regions was defined. Since most of the antenna radiation analysis are focused in the far-field regions, we looked at retarded potentials in the far-field region.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

Books by the author


Wireless Communication Systems in Matlab
Second Edition(PDF)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing