DSPRelated.com

Paul Lovell (@woodpecker)

I have over 40 years professional experience of analog and digital hardware and software in the following fields : a) RF communications b) Test software development for military systems. c) Signal measurement and analysis.

Update to a Narrow Bandpass Filter in Octave or Matlab

Paul LovellPaul Lovell March 29, 2021

Paul Lovell presents an updated, compact Octave/Matlab implementation of a narrow bandpass FIR that runs about four times faster and uses float32 to cut processing cost. The design combines a single matrix IFIR stage with three moving-sum (RRS) stages per baseband, auto-calculates the IFIR expansion factor, and adds easier parameter setup plus WAV I/O and FFT plots. A TensorFlow Colab demo is also provided.


A Narrow Bandpass Filter in Octave or Matlab

Paul LovellPaul Lovell June 1, 20206 comments

Building very narrow FIR bandpass filters at high sample rates often yields extremely long impulse responses. This post shows a practical Octave/Matlab implementation that uses complex downconversion to baseband plus a multistage Matrix IFIR and running-sum cascade to slash computation. With the provided example (48 kHz, 850 Hz center, 10 Hz passband) you get <1 dB ripple and >60 dB stopband while running 20x to 100x faster than a single-stage FIR.


An Efficient Lowpass Filter in Octave

Paul LovellPaul Lovell November 6, 2019

Paul Lovell presents an efficient linear-phase lowpass FIR implemented in Octave, built as a Matrix IFIR with two matrix band-edge shaping stages followed by three recursive running-sum stages. The design reshapes input blocks into matrices to exploit interpolation structure and uses cumsum-based moving sums for speed. For a 200 Hz cutoff at 48 kHz the five-stage example ran about 15 times faster than a single-stage FIR.


Re: A Taylor Series Question

Reply posted 1 year ago (03/03/2025)
Hi guys,It may be just me, but I do get the impression that some of you are not taking our Rick seriously !I went to the so-called "fount of all knowledge" ChatGPT...

Re: Should work but doesn't (and vice versa)

Reply posted 3 years ago (08/05/2023)
Thanks to all for the interesting replies. Good to hear from you again, Rick.For beginners who might be rather baffled by the intricacies of recursive filters, I...

Should work but doesn't (and vice versa)

New thread started 3 years ago
Hi everyone,  Not exclusively DSP this one, but please bear with me.I expect that most of us (especially those of more advanced years such as myself) have dealt...

Recent FFT benchmarking report

New thread started 5 years ago
Hi Guys,I thought that some of you may be interested in the following report from the Innovative Computing Laboratory, at the University of Tennessee, Knoxville,...

Re: Real Numbers

Reply posted 5 years ago (04/06/2021)
In all my 67 years, I had never realised the importance of the number 6174.Life will never be the same again  .  .  .

Re: Multi-filter Parks McClellan algorithm

Reply posted 5 years ago (12/21/2020)
Hi all,  I'm back again,For anyone interested in designing phase/amplitude correction FIR filters, the free rePhase FIR tool on the minidsp.com website may be...

Re: Multi-filter Parks McClellan algorithm

Reply posted 5 years ago (12/17/2020)
Aha !Yes, this looks very promising Neil. Now if the h_goal parameter in the sinc_corr function could be modified to take on the inverse response of the second filter,...

Re: Multi-filter Parks McClellan algorithm

Reply posted 5 years ago (12/17/2020)
Hi kaz,I'm attempting to find a generic solution to the case where the second or subsequent filter(s) is not able to be changed, for some reason.Perhaps it is better...

Re: Multi-filter Parks McClellan algorithm

Reply posted 5 years ago (12/16/2020)
Hi Neil,Thanks for your input on this. The problem here is that the PM algorithm may not be able to handle the H2 response parameters produced by H/H1.For instance...

Re: Multi-filter Parks McClellan algorithm

Reply posted 5 years ago (12/16/2020)
Ok thanks kaz,I agree wholeheartedly that a single design is preferable ;-) I'm wondering how, from your example, we calculate h2 given that we have h and h1 parameters.Could...

Multi-filter Parks McClellan algorithm

New thread started 5 years ago
Hi everyone,  There are of course, many situations where the design of a single linear-phase FIR filter may be accomplished using the Parks McClellan algorithm....
An optimist says “The glass is half full.”A pessimist says “The glass is half empty.”A programmer says “The glass is twice as large as necessary.” ...

Re: Off-topic: Xmas gift for a techie?

Reply posted 5 years ago (12/03/2020)
Hi Neil,Sounds like a good book, but the equations do things the old fashioned way.What d'yer mean they give 100% accurate solutions ?AI (aka machine learning) is...

Re: A DSP Online Conference?

Reply posted 6 years ago (07/04/2020)
One topic I would particularly like to see covered is parallel processing in DSP.Related to techniques, algorithms, hardware, use of MPI (Message Passing Interface)...

DDSP combines DSP with a Neural Network

New thread started 6 years ago
Hi everyone,I recently stumbled across the Differentiable DSP (DDSP) library for Python/Tensorflow. This seems to combine DSP techniques with a neural network in...

Re: OT: Laughing in the Face of Adversity

Reply posted 6 years ago (04/07/2020)
...

As easy as PI

New thread started 7 years ago
A little gem which shows that the only involvement of mathematics in politics, should be the counting of votes (and even that is not always straightforward).   ...

Re: The Spectral Complexity of a Single Musical Note

Reply posted 7 years ago (02/19/2019)
Hi Rick,This is indeed an interesting spectral plot. However, a series of plots would be even more interesting. ie:a) Plots from microphones placed at different...

Re: Folded FIR filter in Matlab or Octave

Reply posted 7 years ago (01/15/2019)
Hi all, Thanks to all for your interesting replies. I should have said that yes, the impulse response is symmetric, and I'm interested in filter lengths from 8...

Folded FIR filter in Matlab or Octave

New thread started 7 years ago
Most of you, I'm sure, will be familiar with the "Folded FIR" technique for reducing the computational load of FIR filters.   For instance, in the example below,...

Re: PRISM - A new type of filter ?

Reply posted 7 years ago (11/25/2018)
Hi Rick and kaz,Good to get your input on the Prism. Much of the documentation seems rather unclear and contradictory e.g. In the "bikini pdf" it states:" Each new...

PRISM - A new type of filter ?

New thread started 7 years ago
Hi everyone,Recently I have been analyzing what is claimed to be a new type of filter, known as a Prism.However, despite studying this document and this one, I've...

Re: Hilbert-Huang Transform

Reply posted 8 years ago (11/07/2018)
Ok everyone,Here is the link to R code examples from the Hilbert-Huang Transform document.My thanks to the author Danny Bowman for this :Electronic supplement to...

Re: Hilbert-Huang Transform

Reply posted 8 years ago (11/07/2018)
Hi Tim & Gianni, I have requested a link to the code from the authors.The R code for Fig 2 (given in the document) seems to run ok, once line 5 is changed to...

Hilbert-Huang Transform

New thread started 8 years ago
Hi Guys,Over the past month, I have been investigating possible methods of signal decomposition as an alternative to the FFT.In particular, I'm looking at signals...

Re: Off Topic: Binary Numbers

Reply posted 8 years ago (11/05/2018)
Seems like Leibniz also invented a type of mechanical calculator.Not sure if there was a binary version . . .

Use this form to contact woodpecker

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address