Skip to main content
Planned maintenance impacting Stack Overflow and all Stack Exchange sites is scheduled for Monday, September 16, 2024, 5:00 PM-10:00 PM EDT (Monday, September 16, 21:00 UTC- Tuesday, September 17, 2:00 UTC). The email/password authentication method will be unavailable for logging in and registering. Read more here
10 votes
Accepted

Which Noise Reduction Algorithms Are Used in Commercial RAW Image Processors?

Common Approaches for Commercial Denoisers Commercial denoisers are different than what you'd see on most papers. While on papers the results are mostly using objective metrics (PSNR / SSIM) and are ...
Royi's user avatar
  • 20.2k
7 votes

Curve Fit of Step Function with Boundary on the 2nd Derivative

Hmmmmmmmmm, interesting question. Since you want to use the second derivative as your criteria, it would seem that you would want to have the maximum second derivative absolutie value for as short of ...
Cedron Dawg's user avatar
  • 7,590
7 votes
Accepted

Recommended C/C++ General Purpose DSP Libraries

Maybe a bit late, but since others might land here like me. The following are good signal processing libraries/frameworks: * https://www.gnuradio.org/ - lots of classic signal processing + ...
Angrond's user avatar
  • 86
6 votes

Simple software low pass filter

A first order lowpass filter is usually implemented like this: $$p[n] = \alpha p[n-1] + (1-\alpha) pi[n]$$ Where $p[n]$ is your filtered power estimation, $p[n-1]$ is the previous result, $pi[n]$ is ...
Juancho's user avatar
  • 5,006
5 votes
Accepted

Compute group delay of an audio file from STFT

The problem is that the stft function is splitting the signal up into different windows. That means that the signal from time $n$ to $n+N_{w}-1$ is multiplied by $$ ...
Peter K.'s user avatar
  • 25.9k
5 votes

Modeling Analog Filters for Software Implementation

Modeling real analog components with their non-linear behavior can be a challenge to do digitally. I suggest starting with wave digital filters. Quoting from the linked source: A Wave Digital Filter ...
GrapefruitIsAwesome's user avatar
4 votes

Help with equations for exponential ADSR envelope

This is a pretty old question, but I just want to highlight a point in the answer from pichenettes: For example you want an envelope that goes from 0.8 to 0.2 in 2 seconds [...] break it down into ...
Guest's user avatar
  • 400
4 votes
Accepted

How many directions are there in the Non Maximum Suppression part of the Canny Edge Detector

There are 8 directions to be considered in non-maximum suppression as used in the Canny edge detector. But each pair of opposite directions can be handled with the same code.
Cris Luengo's user avatar
  • 2,720
3 votes
Accepted

FM synthesis algorithm is not very efficient

I think you're overthinking the integrator: Since your $s$ is a discrete signal in itself (you're doing DSP!!), the integral $S(T) = \int\limits_0^T s(t) \,\mathrm dt$ of it at any time $T$ actually ...
Marcus Müller's user avatar
3 votes

What is the impulse response used in an interpolation filter when upsampling?

Below shows design considerations for the filter design and you can use common tools in Matlab/Octave and Python Scipy.Signal to determine the filter coefficients (impulse response) using this ...
Dan Boschen's user avatar
  • 53.9k
3 votes

What is the impulse response used in an interpolation filter when upsampling?

The dot in that summation is just scalar multiplication. And yes, it's a convolution -- you're convolving the input signal by the filter.
TimWescott's user avatar
  • 12.9k
3 votes

Fastest Available Algorithm to Blur an Image (Low Pass Filter)

I have implemented a fast 5x5 Gaussian-blur in C++ and compared the performance to OpenCV on Raspberry Pi 3B+ running 32bit Raspbian OS. The function uses all the 4 cores of the Raspberry Pi and works ...
zana zakaryaie nejad's user avatar
3 votes
Accepted

Fastest Available Algorithm to Blur an Image (Low Pass Filter)

The fastest blur would be Box Blur. You can implement it using Running Sum. I think Intel FilterBoxBorder works in that manner. If you'd like you can do a few ...
Royi's user avatar
  • 20.2k
3 votes

Curve Fit of Step Function with Boundary on the 2nd Derivative

You can make a discretized regularized linear equation system. $\bf d$ is the original signal $\bf v$ is what we add to the signal, (the additive change) $\bf v+d$ is the result. So there are two ...
mathreadler's user avatar
3 votes
Accepted

TCP vs UDP for signal consumption

We have to be a bit more precise about what these SDR devices really do. What they not do is support connecting an SDR device to the controlling PC through "the internet at large": That's ...
Marcus Müller's user avatar
3 votes
Accepted

Simulating ADC Effects on DSP Algorithm with Fixed-Point Representation

For such a simulation integer values would be just fine (or you can use any other Q value you want, it won't affect the simulation as long as the waveform is scaled to match that representation). To ...
Dan Boschen's user avatar
  • 53.9k
2 votes

System identification packages

SIDPAC is a freely available program from software.nasa.gov. It is targeted toward aircraft system id problems however the underlying methods are applicable to other problem types.
Charlie H's user avatar
2 votes

Recommended C/C++ General Purpose DSP Libraries

I was looking for a way of converting MATLAB code to C/C++ that I found Armadillo: http://arma.sourceforge.net/license.html. It's a C++ library covering various categories such as signal and image ...
Alireza's user avatar
  • 21
2 votes

Recommended C/C++ General Purpose DSP Libraries

I have used Matlab Coder/Embedded Coder/Simulink Coder toolboxes from Mathworks to convert Matlab/Simulink to C/C++. They work well. The code is easy to read and you can navigate from C/C++ to Matlab ...
Ben's user avatar
  • 3,797
2 votes
Accepted

C++ based FIR filter design using GNU Octave remez function

After some debugging and remez.cc source code investigation, I found the correct way to use the backend C++ implementation for Octave's remez function. Thanks to @SleuthEye the latest version of ...
yc2986's user avatar
  • 133
2 votes

Implementation of the constant Q transform + property questions

Given that the constant q effectively just is a dft, it is limited by the very same uncertainty principle that the fourier transform suffers from? Yes is this the case with wavelet transforms like ...
mfcc64's user avatar
  • 156
2 votes

Feedforward disturbance signal compensation

I cannot implement this transfer function in MATLAB Simulink. Is there a way forward? That's because you can't implement it at all. $$ \frac{1}{G_\text{cc}(s)} = \frac{s^2 \text{L} T_\text{I}/K_\text{...
TimWescott's user avatar
  • 12.9k
2 votes
Accepted

Speech recognition algorithm in GNU Octave to convert speech to text (and vice versa)

Is there any possibility to implement a speech recognition integrated with google voice that converts speechs in text in GNU Octave? Yes. The Google Cloud command line utility returns results in JSON....
A_A's user avatar
  • 10.7k
2 votes
Accepted

Replicate MATLAB's `conv2()` in Frequency Domain

I created a MATLAB function which is basically conv2() applied in Frequency Domain: ...
Royi's user avatar
  • 20.2k
2 votes

Transposed direct form 1 vs Transposed direct form 2

I was wondering, does this property also holds for the transposed direct form 1? It does not. In fact in terms of numerical performance, transposed direct form 1 is outright terrible. It helps to ...
Hilmar's user avatar
  • 47.1k
2 votes

Modelling and testing fixed point IIR filter with freeware tools

Update: Since I wrote the previous answer below I have reviewed several of the fixed point libraries freely available in Python, and settled on fpbinary, which I now feature in my course on using ...
Dan Boschen's user avatar
  • 53.9k
2 votes

Modeling Analog Filters for Software Implementation

If it were a linear filter, it'd be easy. The following doesn't apply to your Moog filters, apparently. This approach is covered extensively in the literature, so the short answer is to get a book on ...
TimWescott's user avatar
  • 12.9k
2 votes

Modeling Analog Filters for Software Implementation

I try to describe the linear filter aspects of the 4-pole Moog. The 4-pole Moog filter is a cascade of four 1-pole LPF filters that have resonant frequency adjustable and a feedback path that has the ...
robert bristow-johnson's user avatar
2 votes

Recovering phase response from frequency magnitude of a minimum-phase system: Practical considerations

How do I verify that this phase response is indeed the correct answer? Visual inspection works pretty well here. Things that indicate problems are pre-ringing, i.e. unusual activity at the end of ...
Hilmar's user avatar
  • 47.1k
1 vote

How to calculate linear index of fuzziness of an image?

In MATLAB it would be something like: ...
Royi's user avatar
  • 20.2k

Only top scored, non community-wiki answers of a minimum length are eligible