Multilayer Perceptrons and Event Classification with data from CODEC using Scilab and Weka
For my first blog, I thought I would introduce the reader to Scilab [1] and Weka [2]. In order to illustrate how they work, I will put together a script in Scilab that will sample using the microphone and CODEC on your PC and save the waveform as a CSV file.
Multimedia Processing with FFMPEG
FFMPEG is a set of libraries and a command line tool for encoding and decoding audio and video in many different formats. It is a free software project for manipulating/processing multimedia data. Many open source media players are based on FFMPEG libraries.
Approximating the area of a chirp by fitting a polynomial
Once in a while we need to estimate the area of a dataset in which we are interested. This area could give us, for example, force (mass vs acceleration) or electric power (electric current vs charge).
GPS - some terminology!
GPS looks simple on the surface, but Vivek's post breaks out the core terminology behind how a receiver actually locks on and figures out where it is. Using a bar-room analogy, he maps acquisition, tracking, ephemeris, and almanac to the steps a GPS receiver follows before solving for position from satellite signals.
The Most Interesting FIR Filter Equation in the World: Why FIR Filters Can Be Linear Phase
Rick Lyons pulls back the curtain on a little-known coefficient constraint that makes complex-coefficient FIR filters exhibit linear phase. Rather than simple symmetry of real coefficients, the key is a conjugate-reflection relation involving the filter phase at DC, which collapses to ordinary symmetry for real taps. The post includes derivations, intuition using the inverse DTFT, and a Matlab example to verify the result.
Phase and Amplitude Calculation for a Pure Real Tone in a DFT: Method 1
Cedron Dawg shows how to get exact amplitude and phase for a real sinusoid whose frequency does not land on an integer DFT bin. The method treats a small neighborhood of DFT bins as a complex vector, builds two basis vectors from the cosine and sine transforms, and solves a 2x2 system using conjugate dot products to recover real coefficients that give amplitude and phase. A C++ example and sample output verify the formulas.
Exact Frequency Formula for a Pure Real Tone in a DFT
Cedron Dawg derives an exact closed form formula to recover the frequency of a pure real sinusoid from three DFT bins, challenging the usual teaching that it is impossible. The derivation solves for cos(alpha) in a bilinear form and gives a computationally efficient implementation (eq.19), with practical notes on implicit Hann-like weighting and choosing the peak bin for robustness.
DFT Bin Value Formulas for Pure Real Tones
Cedron Dawg derives a closed-form expression for the DFT bin values produced by a pure real sinusoid, then uses that formula to explain well known DFT behaviors. The post walks through the algebra from Euler identities to a compact computational form, highlights the integer versus non-integer frequency cases, and verifies the result with C code and printed numeric output.
DFT Graphical Interpretation: Centroids of Weighted Roots of Unity
DFT bin values can be seen as centroids of weighted roots of unity, a geometric picture that makes many DFT properties immediate. Cedron Dawg uses the geometric-series identity and polar plots of integer and fractional tones to show why constants appear only at DC, how wrapping relates to bin index, and how phase, scaling, offsets, and real-signal symmetry affect bin magnitudes and angles.
The Exponential Nature of the Complex Unit Circle
Euler's equation links exponential scaling and rotation by translating a distance along the unit-circle circumference into a complex value. Cedron Dawg develops an intuitive geometric view, using integer and fractional powers of i to show how points, roots of unity, and multiplication behave as additive moves along that circumference. The article also connects this picture to radians and the conventional Taylor-series proof for broader perspective.
An s-Plane to z-Plane Mapping Example
A misleading online diagram prompted Rick Lyons to reexamine how s-plane points map to the z-plane. He spotted apparent errors in the original figure, drew a corrected mapping, and invites readers to inspect both diagrams and point out any remaining mistakes. The short post is a quick visual primer for engineers who rely on accurate s-plane to z-plane mappings in analysis and design.
Improved Three Bin Exact Frequency Formula for a Pure Real Tone in a DFT
Cedron Dawg extends his two-bin exact frequency formulas to a three-bin DFT estimator for a pure real tone, and presents the derivation in computational order for practical use. The method splits complex bin values into real and imaginary parts, forms vectors A, B, and C, applies a sqrt(2) variance rescaling, and computes frequency via a projection-based closed form. Numerical tests compare the new formula to prior work and show improved accuracy when the tone lies between bins.
Sinusoidal Frequency Estimation Based on Time-Domain Samples
Rick Lyons presents three time-domain algorithms for estimating the frequency of real and complex sinusoids from samples. He shows that the Real 3-Sample and Real 4-Sample estimators, while mathematically exact, fail in the presence of noise and can produce biased or invalid outputs. The Complex 2-Sample (Lank-Reed-Pollon) estimator is more robust but can be biased at low SNR and near 0 or Fs/2, so narrowband filtering is recommended.
Phase and Amplitude Calculation for a Pure Complex Tone in a DFT
Cedron Dawg derives compact, exact formulas to recover the phase and amplitude of a single complex tone from a DFT bin when the tone frequency is known. The paper turns the complex bin value into closed-form expressions using a sine-fraction amplitude correction and a simple phase shift, and includes working code plus a numeric example for direct implementation.
Coefficients of Cascaded Discrete-Time Systems
Multiplying discrete-time transfer functions is just polynomial multiplication, and polynomial multiplication is convolution. Neil Robertson shows that the numerator and denominator coefficients of cascaded systems come from convolving the individual coefficient vectors, then demonstrates the idea with MATLAB code and a 2nd-order IIR cascade that yields a 4th-order response. The approach makes computing time and frequency responses straightforward.
An Alternative Form of the Pure Real Tone DFT Bin Value Formula
Cedron Dawg derives an alternative exact formula for DFT bin values of a pure real tone, sacrificing algebraic simplicity for better numerical behavior near integer-valued frequencies. By rewriting cosine differences as products of sines and shifting to a delta frame of reference, the derivation avoids catastrophic cancellation and preserves precision for near-integer tones. The analysis also shows the integer-frequency case is a degenerate limit that yields the familiar M/2 e^{iφ} bin value.
Generating Partially Correlated Random Variables
Designing signals to match a target covariance is simpler than it sounds. This post shows how to build partially correlated complex signals by hand for the two-signal case, then generalizes to N signals using the Cholesky decomposition. Short MATLAB examples demonstrate the two-line implementation and the article highlights numerical caveats when a covariance is only positive semidefinite.
Frequency Formula for a Pure Complex Tone in a DTFT
The analytic formula for calculating the frequency of a pure complex tone from the bin values of a rectangularly windowed Discrete Time Fourier Transform (DTFT) is derived. Unlike the corresponding Discrete Fourier Transform (DFT) case, there is no extra degree of freedom and only one solution is possible.
Multimedia Processing with FFMPEG
FFMPEG is a set of libraries and a command line tool for encoding and decoding audio and video in many different formats. It is a free software project for manipulating/processing multimedia data. Many open source media players are based on FFMPEG libraries.
Multilayer Perceptrons and Event Classification with data from CODEC using Scilab and Weka
For my first blog, I thought I would introduce the reader to Scilab [1] and Weka [2]. In order to illustrate how they work, I will put together a script in Scilab that will sample using the microphone and CODEC on your PC and save the waveform as a CSV file.
DFT Bin Value Formulas for Pure Complex Tones
Cedron Dawg derives closed-form DFT bin formulas for single complex exponentials, eliminating the need for brute-force summation and showing how phase acts as a uniform rotation of all bins. He also gives a Dirichlet-kernel form that yields the magnitude as (M/N)|sin(δN/2)/sin(δ/2)|, explains the large-N sinc limit, and includes C code to verify the results.
Candan's Tweaks of Jacobsen's Frequency Approximation
Cedron Dawg shows how small tweaks to Jacobsen's three-bin frequency estimator turn a popular approximation into an exact formula, and how a modest cubic correction yields a near-exact, low-cost alternative. The article derives an arctan/tan exact recovery, relates it to Candan's 2011/2013 tweaks, and supplies reference C code and numerical tables so engineers can see when each formula is sufficient.
Two Bin Exact Frequency Formulas for a Pure Real Tone in a DFT
Cedron Dawg derives exact, closed-form frequency formulas that recover a pure real tone from just two DFT bins using a geometric vector approach. The method projects bin-derived vectors onto a plane orthogonal to a constraint vector to eliminate amplitude and phase, yielding an explicit cos(alpha) estimator; a small adjustment improves noise performance so the estimator rivals and slightly betters earlier two-bin methods.
Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 2)
Cedron Dawg derives a second family of exact time domain formulas for single-tone frequency estimation that trade a few extra calculations for improved noise robustness. Built from [1+cos]^k binomial weighting of neighbor-pair sums, the closed-form estimators are exact and are best evaluated at signal peaks for real tones, while complex tones do not share the zero-crossing limitation. Coefficients up to k=9 are provided.
Frequency Formula for a Pure Complex Tone in a DTFT
The analytic formula for calculating the frequency of a pure complex tone from the bin values of a rectangularly windowed Discrete Time Fourier Transform (DTFT) is derived. Unlike the corresponding Discrete Fourier Transform (DFT) case, there is no extra degree of freedom and only one solution is possible.
In Search of The Fourth Wave
While working on Think DSP the presenter ran into a curious spectral pattern: sawtooth waves have all harmonics with amplitudes that scale like 1/f, square waves keep only odd harmonics with 1/f, and triangle waves keep odd harmonics with 1/f^2. That observation motivates a simple question: is there a basic waveform that has all integer harmonics but a 1/f^2 rolloff? The talk walks through four solution approaches, a fifth idea from the audience, and links to a runnable Colab notebook.
Exact Near Instantaneous Frequency Formulas Best at Zero Crossings
Cedron Dawg derives time-domain formulas that yield near-instantaneous frequency estimates optimized for zero crossings of pure tones. Complementing his earlier peak-optimized results, these difference-ratio formulas work for real and complex signals, produce four-sample estimators similar to Turners, and cancel amplitude terms, making them attractive low-latency options for clean tones while warning they degrade in noise and at peaks.
Approximating the area of a chirp by fitting a polynomial
Once in a while we need to estimate the area of a dataset in which we are interested. This area could give us, for example, force (mass vs acceleration) or electric power (electric current vs charge).
Pentagon Construction Using Complex Numbers
A method for constructing a pentagon using a straight edge and a compass is deduced from the complex values of the Fifth Roots of Unity. Analytic values for the points are also derived.
Improved Three Bin Exact Frequency Formula for a Pure Real Tone in a DFT
Cedron Dawg extends his two-bin exact frequency formulas to a three-bin DFT estimator for a pure real tone, and presents the derivation in computational order for practical use. The method splits complex bin values into real and imaginary parts, forms vectors A, B, and C, applies a sqrt(2) variance rescaling, and computes frequency via a projection-based closed form. Numerical tests compare the new formula to prior work and show improved accuracy when the tone lies between bins.















