DSPRelated.com

Maximum Likelihood Estimation

Mehdi Mehdi November 24, 2015

Any observation has some degree of noise content that makes our observations uncertain. When we try to make conclusions based on noisy observations, we have to separate the dynamics of a signal from noise.


Implementing Simultaneous Digital Differentiation, Hilbert Transformation, and Half-Band Filtering

Rick LyonsRick Lyons November 24, 20152 comments

Recently I've been thinking about digital differentiator and Hilbert transformer implementations and I've developed a processing scheme that may be of interest to the readers here on dsprelated.com.


Multimedia Processing with FFMPEG

Karthick Kumaran A S VKarthick Kumaran A S V November 16, 2015

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

Alexandre de SiqueiraAlexandre de Siqueira November 15, 20158 comments

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).


Deconvolution by least squares (Using the power of linear algebra in signal processing).

Agustin BonelliAgustin Bonelli November 12, 20152 comments

When we deal with our normal discrete signal processing operations, like FIR/IIR filtering, convolution, filter design, etc. we normally think of the signals as a constant stream of numbers that we put in a sequence


Roll Your Own Differentiation Filters

Matt McDonaldMatt McDonald November 11, 2015

Practical guide to constructing differentiation filters from sampled signals using interpolation rather than messy Taylor expansions. It shows how Lagrange polynomials produce forward, backward and central derivative formulas, and how the pseudospectral differentiation matrix D = X'X^{-1} maps sample vectors to derivative estimates. Includes a compact MATLAB snippet and a discussion of node-choice tradeoffs and ill-conditioning for large N.


Helping New Bloggers to Break the Ice: A New Ipad Pro for the Author with the Best Article!

Stephane BoucherStephane Boucher November 9, 2015

Breaking the ice can be tough. Over the years, many individuals have asked to be given access to the blogging interface only to never post an article.


GPS - some terminology!

Vivek SankaravadivelVivek Sankaravadivel October 30, 20153 comments

Hi!

For my first post, I will share some information about GPS - Global Positioning System. I will delve one step deeper than a basic explanation of how a GPS system works and introduce some terminology.

GPS, like we all know is the system useful for identifying one's position, velocity, & time using signals from satellites (referred to as SV or space vehicle in literature). It uses the principle of trilateration  (not triangulation which is misused frequently) for...


Welcoming MANY New Bloggers!

Stephane BoucherStephane Boucher October 27, 20153 comments

A big influx of new voices just joined DSPRelated, and Stephane Boucher introduces the growing roster of contributors and their backgrounds. The post lists dozens of newly approved bloggers, highlights the range of DSP and embedded expertise they bring, and asks readers to leave constructive feedback on posts. It also explains why some applicants may not have been accepted yet and how to apply properly.


Bayes meets Fourier

Allen DowneyAllen Downey October 26, 2015

Joseph Fourier never met Thomas Bayes—Fourier was born in 1768, seven years after Bayes died.  But recently I have been exploring connections between the Bayes filter and the Fourier transform.

By "Bayes filter", I don't mean spam filtering using a Bayesian classifier, but rather recursive Bayesian estimation, which is used in robotics and other domains to estimate the state of a system that evolves over time, for example, the position of a moving robot.  My interest in...


Feedback Controllers - Making Hardware with Firmware. Part 5. Some FPGA Aspects.

Steve MaslenSteve Maslen November 14, 2017

This installment digs into practical FPGA choices and board-level issues for a low-latency, floating-point feedback controller. It compares a Cyclone V implementation against an older SHARC-based design, quantifies the tradeoff between raw DSP resources and cycle latency, and calls out Gotchas found on the BeMicro CV A9 evaluation card. Engineers get concrete prompts for where to optimize: clocking, DSP-block use, I/O standards, and algorithm partitioning.


Reducing IIR Filter Computational Workload

Rick LyonsRick Lyons May 24, 20195 comments

Rick Lyons demonstrates a simple, practical way to cut the multiply count for IIR lowpass and highpass filters by converting them into dual-path allpass structures. The conversion preserves the original magnitude response while drastically reducing multiplies per input sample, for example turning a 5th-order IIR that needs 11 multiplies into an equivalent allpass form needing only five. The linked PDF includes theory, implementation notes, a design example, and MATLAB code.


Above-Average Smoothing of Impulsive Noise

Rick LyonsRick Lyons July 10, 201724 comments

In this blog I show a neat noise reduction scheme that has the high-frequency noise reduction behavior of a traditional moving average process but with much better impulsive-noise suppression.

In practice we may be required to make precise measurements in the presence of highly-impulsive noise. Without some sort of analog signal conditioning, or digital signal processing, it can be difficult to obtain stable and repeatable, measurements. This impulsive-noise smoothing trick,...


Orfanidis Textbooks are Available Online

Rick LyonsRick Lyons July 12, 2011

Two classic signal processing textbooks by Sophocles J. Orfanidis are now available for download from his Rutgers webpages. The first, Introduction to Signal Processing, includes errata and a homework solutions manual. The second, Optimum Signal Processing, includes a solutions manual plus MATLAB, C and Fortran code. Note that Prof. Orfanidis retains copyright on both books, All Rights Reserved.


Third-Order Distortion of a Digitally-Modulated Signal

Neil RobertsonNeil Robertson June 9, 2020

Amplifier third-order distortion is a common limiter in RF and communications chains, and Neil Robertson walks through why it matters using hands-on MATLAB simulations. He shows how a cubic nonlinearity creates IMD3 tones, causes spectral regrowth and degrades QAM constellations, and gives practical notes on estimating k3, computing ACPR from PSDs, and sampling considerations.


Controlling a DSP Network's Gain: A Note For DSP Beginners

Rick LyonsRick Lyons March 29, 201922 comments

Rick Lyons calls out a simple but costly mistake beginners make when normalizing digital networks, scaling the input instead of the output. Using fixed-point examples he shows that pre-multiplying an A/D output by 1/8 throws away bits and costs about 18 dB of SQNR. The practical guidance is to place gain control as the final multiplication stage and beware a faulty Simpson's 1/3 integrator example.


Project introduction: Digital Filter Blocks in MyHDL and their integration in pyFDA

Sriyash CaculoSriyash Caculo May 25, 20184 comments

Sriyash Caculo is building a bridge between filter design and hardware by implementing digital filter blocks in MyHDL and integrating them with PyFDA as part of a Google Summer of Code project. The work aims to convert PyFDA floating point designs into fixed point MyHDL blocks that automatically generate VHDL or Verilog, with tests and tutorials to ensure correctness and usability.


Bank-switched Farrow resampler

Markus NentwigMarkus Nentwig August 13, 20112 comments

Markus Nentwig proposes a bank-switched variant of the Farrow resampler that breaks each impulse-response segment into multiple sub-segments, enabling accurate interpolation with lower-order polynomials and fewer multiplications per output. This trades increased total coefficient storage for computational savings. The post explains the concept, connects it to polyphase FIR interpolation, and provides Matlab/Octave and C example code for practical evaluation.


Deconvolution by least squares (Using the power of linear algebra in signal processing).

Agustin BonelliAgustin Bonelli November 12, 20152 comments

When we deal with our normal discrete signal processing operations, like FIR/IIR filtering, convolution, filter design, etc. we normally think of the signals as a constant stream of numbers that we put in a sequence


Multilayer Perceptrons and Event Classification with data from CODEC using Scilab and Weka

David NorwoodDavid Norwood November 25, 2015

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.