Applied programming Circular buffer for real-time applications with equal input and output data rate In this post, we will discuss two types of real-time processing applied to global navigation satellite system (GNSS) signal processing. In addition, we will discuss a circular buffering system for real-time applications with equal data rate of input and output.

GNSS TUTORIAL: Interacting with Movella XSense IMU sensor in C++ Inertial measurement unit (IMU) sensor is important for global navigation satellite system (GNSS) based positioning, velocity and timing (PNT) solutions.

GNSS Real-time decoding of NAV messages of Septentrio receiver in C programming language Septentrio receiver is one of the most used global navigation satellite systems (GNSS) receivers, including u-blox and Novatel GNSS receivers.

GNSS Reading raw binary IQ data in C/C++ with malloc() and pointer Digital signal processing (DSP) of radio frequency (RF) data very often deals with read from and write to a binary file with IQ format.

Applied programming TUTORIAL: MATLAB software inter-connection and cooperation with PYTHON software using pyenv() In a complex software application, most of the time, the application is written with several programming languages. These programming languages are inter-connected and cooperate together (compatible) to deliver the overall software functionalities.

Metrology Mathematical geometrical fitting: Direct least-square fitting of circle geometry (with tutorial and code) Circle is a non-linear geometry that has a non-linear mathematical model. In this post, a closed-form and deterministic method to fit a circle from points (e.g., obtained from a measurement) by using direct least-square (DLS) estimation method is presented.

Metrology Mathematical geometrical fitting: Data filtering of measurement points Data filtering is a process to reduce noises or supress certain components or information contained in measurement data by using a specific kernel (filter).

Metrology Mathematical geometrical fitting: Initial solution problems Any iterative optimisation algorithms, used to optimise non-linear and multi-modal objective functions, always require an initial solution estimation.

Metrology Mathematical geometrical fitting: Non-linear geometry least-squared fitting (with tutorial) The fitting process for non-linear geometry is more complex than that for the linear geometry fitting. Non-linear geometry includes circle (2D and 3D), sphere, cylinder, cone and torus as well as more complex geometries such as free-form surfaces.

Metrology Mathematical geometrical fitting: Linear geometry least-squared fitting (with tutorial) The least-squared fitting of linear geometry is solved by transforming a non-linear objective function of residuals into a linear objective function of the residuals.

Applied programming The problem of writing high-digit numbers into a file and its solution In this post, the problem of writing a real number with high digit to a file in scientific and numerical computing is presented and discussed.

Applied programming Prioritising to use built-in functions in interpreted languages We need to avoid as mush as possible the use of for loop in our algorithm by implementing vectorisation method and using built-in functions as much as possible.

Applied programming Vectorising linear sequence search in MATLAB programming To significantly speed up the computation speed in MATLAB, the reduction of for loop should be minimised.

Applied programming TUTORIAL: PYTHON for fitting Gaussian distribution on data In this post, we will present a step-by-step tutorial on how to fit a Gaussian distribution curve on data by using Python programming language. This tutorial can be extended to fit other statistical distributions on data.

Applied programming TUTORIAL: Visual Basic for Application (VBA) macro in Excel for Monte-Carlo Simulation In this post, a hands-on tutorial of Visual Basic for Application (VBA) macro in Microsoft Excel for Monte-Carlo (MC) simulation is presented. MC simulation is a powerful tool to analyse and solve various scientific and engineering applications.

Applied programming Common problems in numerical computation: from data overflow, rounding error, poor conditioning to memory leak In many modern science and engineering fields, numerical computation has an essential role to perform meaningful analyses. In numerical computation, many unexpected results occur due to errors related to digital computation instead of errors due to logic or model or formula errors.

Applied programming The problematic aspect of number crunching in programming: Case study in GNSS calculations In programming, especially for languages requiring explicit data type declarations, such as C/C++, FORTRAN and Java, the number of bits to represent numbers are very important.

GNSS Generating GPS L1 C/A pseudo-random noise (PRN) code with MATLAB and C/C++ In this post, C/A codes for GPS signals generation will be discussed. The C/A code implementation in MATLAB and C/C++ are presented as well.

Applied programming TUTORIAL: C/C++ implementation of circular buffer for FIR filter and GNU plotting on Linux In this post, a tutorial for implementing the concept of circular buffer to a finite impulse response (FIR) filtering application of continuous data is presented. Also, the plotting of the filtered data with GNU plot application in Linux will be shown.

Applied programming TUTORIAL: C/C++ programming with Qt framework, OpenCV and Eigen libraries for ellipse fitting from images This post presents how to develop and deploy an application for ellipse fitting from white blobs on images. The development is on Windows operating system. In this application, C/C++ programming language will be used along with Qt framework, OpenCV and Eigen libraries.

Applied programming Beware of integer data type in computing Matlab and Python are probably the most used programming languages for research.