Skip to main content

Posts

5G and Massive MIMO Communication and Beyond

Mobile and wireless communication networks have become a significantly important part of our life, especially in the last ten years. The major share of the data usage of all internet is caused by mobile devices such as smartphones and tablets. This has resulted in that the communication sector became one of the most strategical parts of the world economy. For instance, Europe, China and US are in a huge competition to take the biggest shares of this indispensable sector. The fifth-generation (5G) communication technology has already been deployed in some major cities in the world to provide better service quality and much higher data speeds. Provide such significant improvements in the service quality requires the implementation of cutting-edge electronic components, algorithms, antennas and software methods. Employing a large number of antennas at the base-stations is one of the solutions that can substantially contribute to the network performance and provide ten times more data-rate...

Machine Learning Methods: Supervised Learning

In this article, we are going to review the most common and valuable machine learning algorithms which are frequently applied in the industry, academy and research. Note that some algorithms may have many subcategories or derivations since machine learning and artificial intelligence have been actively and extensively studied and utilised nowadays. This article will present a categorical overview of these fundamental algorithms and briefly explain each of them. In the succeeding articles, each algorithm will be deeply explained and their implementations will be exhibited.  Machine learning (ML) algorithms are generally considered in two main categories as follows; Supervised Learning Methods Unsupervised  Learning Methods Supervised Learning Methods  Supervised learning techniques create logical connections or maps between input and output data. Therefore, these types of methods usually require a significant amount of labelled data for training. After that, th...

On the performance of Matlab and Parallel Computing

MATLAB is one of the most powerful scientific computing tools along with Python. Although Python is my favorite scientific programming language since it is opensource, well-documented and has plenty of libraries, I sometimes use MATLAB especially while dealing with very large matrices as MATLAB is highly optimized for large-scale matrix operations, consequently, it performs better at processing very large matrices. From a parallel computing perspective, MATLAB actually strives to utilize all available CPU cores in a parallel way to maximize its performance and reduce the computation time when it is possible. Therefore, it does a kind of parallel computing when it is possible such as in matrix operations as these operations are very suitable to be run parallelly.  However, the parallel operation of the MATLAB might be restricted by bad coding practice of the users especially using for or while loops, because those loops are generally performed in a serial manner with an incr...

Opensource or Public Datasets for Machine Learning Studies and Research

Machine learning (ML) techniques have been applied in many applications from academia to industry and have started to influence our daily lives such as in social media applications or online shopping. Hence, many machine learning algorithms have been developed to improve the performance of these ML techniques. While learning machine learning basic or developing new algorithms it is essential to have reliable and large datasets which include logical connections and labels between data member. Especially in academia, having a well-known and extensively examined datasets is necessary in order to investigate the performance of newly developed machine learning algorithms and compare them to existing ones. There are a large amount of publicly available datasets that could be used with various machine learning techniques such as deep learning, classification, reinforcement learning, clustering, etc. I would like to present the datasets that I really like to use: 1. UC Irvine Mac...

Matlab Phased Array Toolbox and Radar Examples

Matlab is one of the best software that can be for scientific and engineering research and computation, in addition to Python. Phased Array Toolbox of the Matlab provides a solid solution for antenna array analysis and radar research. Furthermore, Mathworks, owner company of Matlab, presents an extensive documentation of this toolbox. Here, I would like to present useful examples and documentation of Matlab radar studies, mainly from Mathworks website. Radar Data Cube:  Fundamental data structure for received radar data.  https://uk.mathworks.com/help/phased/gs/radar-data-cube.html Building and Processing a Radar Data Cube:  https://uk.mathworks.com/company/newsletters/articles/building-and-processing-a-radar-data-cube.html Designing a Basic Monostatic Pulse Radar:  https://uk.mathworks.com/help/phased/examples/designing-a-basic-monostatic-pulse-radar.html Basic Radar Using Phase-Coded Waveform:  https://uk.mathworks.com/help/phased/ug/basic-radar-using...

Quantum Computing

Quantum computing is the use of quantum mechanics within computing in order to decrease the number of processes needed to find a solution to a problem. Quantum computers use qubits (quantum bits) instead of bits and these qubits can be subject to a manipulation that can’t be done to classical bits, such as quantum entanglement and superposition. There are a number of objects that can be used as qubits, photons, nuclei or electrons which means that while classical computers today are being limited because computer components cannot be decreased any further in size, quantum computer components would only have to be a few atoms in size.                      Quantum computers hold many advantages over classical computers. One such advantage is that while classical bits can only be presented as zeros or ones at any given time, qubits can exist in any superposition of these values up until they are measured. When harnessed , ...

DFT and FFT with Python and It is applications on various signals

Fast Fourier Transform (FFT) is one of the most important algorithms in computer science, electronics and signal processing engineering. It is a fast solver for Discrete Fourier Transform (DFT). Basically, DFT or FFT transforms signals from time-amplitude domain to frequency-amplitude domain. The reverse form of the FFT is known as Inverse Fast Fourier Transform which converts, naturally, signals from frequency domain to time domain. FFT is heavily used in communication, radar or computer systems. For example OFDM (orthogonal frequency division multiplexing) is developed based on IFFT and FFT. Since Python is most common used scientific programming language beside Matlab, I would like to present some information about FFT and using it in Python. This blog post ( https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/ ) includes the basics of the FFT and very clear comparison of  it to DFT. Another blog post ( https://www.ritchievink.com/blog/2017/04/23/understanding-t...