Home
Xiao Liu Tech Consulting
Cancel

A Simple Parser in C Using Getopt

In Python, there is an official module called argparse that provides a versatile command-line parser. Things are a little bit different in C, though. The GNU’s getopt() function is used to parse th...

FFT-Based FIR Filtering Using Overlap-Add Method: a Matlab Implementation

You have a very long signal, and you want to filter it with an FIR filter. The signal can be a stream of radio or audio, and you are going to implement it on a resource-constrained device, an FPGA ...

Matlab Development in Visual Studio Code

I almost use Matlab daily, and I see it is evolving in every release. However, I always have some complaints about its outdated GUI: The heavy toolbar reminds me of the MS office 2007. I know it...

Resampling: the Fourier Method

In the last post, we saw how to downsample a signal using the polyphase FIR filter. In fact, the polyphase FIR filter can be used for upsampling as well, or generally speaking, for resampling. In S...

Polyphase FIR Filter Downsampling

This is a long-delayed post. As a father of two, who is living in one of the most expensive cities in the world, life is full of challenges. In most cases, after decomposition, they always go down ...

Helium: IoT on the Blockchain

A few weeks ago, I was asked for opinions on Helium, so I did some research on their website and tried to figure out what they are doing and how it works. In this post, I would like to share my per...

Setup USRP on an M1 Macbook Air

I am a big fan of Apple products, but when working with a USRP, a Linux PC is always my first choice. Recently, my wife won an M1 Macbook Air in her company’s lottery (how lucky she is!), so I deci...

Why do I receive a Wi-Fi signal at 810 MHz?

A few months ago, when I was playing around with a USRP B200mini and GQRX (for spectrum visualization), I found a mysterious signal at around 810 MHz. It has 20 MHz bandwidth with a null DC. Pretty...

Power Spectrum: something I wish I could understand early (3)

In this post, I am going to share a set of Python functions that can calculate the power spectral density, spectrogram, and persistence spectrum of a given (real or complex) one-dimensional signal....

Power Spectrum: something I wish I could understand early (2)

Real and complex signals When doing the spectrum analysis, the signal is usually real-valued. However, when studying the baseband signal in wireless communications, the data is complex-valued. The...