Recently, I was reading the book The Master Algorithm by Pedro Domingos — a Professor at the University of Washington in machine learning. According to the description of his book, The Master Algorithm in Machine Learning A spell-binding quest for the one algorithm capable of deriving all knowledge from data, including a cure for cancer. Society is changing, one learning algorithm at a time, from search engines to online dating, personalized medicine to predicting the stock market. But learning algorithms are not just about Big Data – these algorithms take raw data and make it useful by creating more algorithms.
Continue readingCategory: DSP
Digital Signal Processing
Sampling and the Mysterious Scaling Factor
This post treats the signals in continuous time which is different than the approach I adopted in my book. The book deals exclusively in discrete time. Some time ago, I came across an interesting problem. In the explanation of sampling process, a representation of impulse sampling shown in Figure below is illustrated in almost every textbook on DSP and communications. The question is: how is it possible that during sampling, the frequency axis gets scaled by $1/Ts$ — a very large number? For an ADC operating at 10 MHz for example, the amplitude of the desired spectrum and spectral replicas
Continue readingGoertzel Algorithm – Evaluating DFT without DFT
The Discrete Fourier Transform (DFT) computes the contribution of $N$ sinusoids that come together to form any input signal. However, in some applications, we are only interested in contributions from one or a few sinusoids This is where the Goertzel algorithm, proposed by Gerald Goertzel in 1958, comes in. The Goertzel algorithm evaluates the individual terms of the DFT in an efficient manner. We explain its derivation and implementation with the help of DTMF signals. DTMF Signal Generation In the early days of telephone, you could not call anyone directly. Instead, a telephone operator used to sit on the other
Continue readingA Unit Impulse in Continuous-Time
This post treats the signals in continuous time which is different than the approach I adopted in my book which deals exclusively in discrete time. A unit impulse is defined as \begin{equation*} \delta (t) = \displaystyle{\lim_{\Delta \to 0}} \begin{cases} \frac{1}{\Delta} & -\frac{\Delta}{2} < t < +\frac{\Delta}{2} \\ 0 & \text{elsewhere} \end{cases} \end{equation*} The result is an impulse with zero width and infinite height, but a consequence of defining it in this way is that the area under the curve is unity. \begin{equation*} \text{Area under a rectangle} = \Delta \cdot \frac{1}{\Delta} = 1 \end{equation*} This is shown in Figure below. Stated
Continue readingBand Edge Filters for Carrier and Timing Synchronization
Band edge filters for carrier frequency and symbol timing synchronization is a very interesting topic that elegantly relates the tool (DSP) to the application (SDR design). This article is a short summary of where they originate from and what role they play for synchronization purpose. A Carrier Frequency Offset (CFO) arises due to a mismatch between Tx and Rx local oscillators as well as a phenomenon known as Doppler effect. In some other articles on this website, you will also find information on the Phase Locked Loop (PLL) in the context of carrier phase and timing synchronization. There is another
Continue reading