Questions tagged [signal-processing]

AKA digital signal processing (DSP). A signal is an information-carrying changing attribute of an entity, but in the digital sense, 'signal' refers to either received or transmitted streams/blocks of data, commonly representing real-world quantities such as audio levels, luminosity, pressure etc over time or distance. 'Processing' is the act of altering, analyzing or characterizing the data to retrieve/modify information inherent in the signal in question.

A signal is an information-carrying changing attribute of an entity, but in the digital sense, 'signal' refers to either received or transmitted streams/blocks of data, commonly representing real-world quantities such as audio levels, luminosity, pressure etc over time or distance.

These real-world quantities usually comes as analogue signals that are being sampled and quantized into a digital format, i.e. a sequence or higher-dimensional array of discrete numbers.

'Processing' is the act of altering, analyzing or characterizing the data to retrieve/modify information inherent in the signal in question.

Notice that questions not related to the programming of signal processing implementations but the signal processing theory behind are off-topic for Stack Overflow and should be posted to the appropriate sister site, dsp.stackexchange.

Common topics include:

  • digital filtering;
  • audio processing;
  • image processing;
  • sampling;
  • data compression;
  • spectral analysis;

Analysis tools commonly in practice are the Discrete Fourier Transform (DFT), especially its fast implementations (FFT); and wavelet transforms.

Common softwares used in the field include ; ; , especially with /; ///; ; and various languages.

5191 questions
53
votes
8 answers

Exponential Moving Average Sampled at Varying Times

I have a continuous value for which I'd like to calculate an exponential moving average. Normally I'd just use the standard formula for this: Sn = αY + (1-α)Sn-1 where Sn is the new average, α is the alpha, Y is the sample, and Sn-1 is the…
cjs
  • 21,799
  • 6
  • 79
  • 93
49
votes
10 answers

Invertible STFT and ISTFT in Python

Is there any general-purpose form of short-time Fourier transform with corresponding inverse transform built into SciPy or NumPy or whatever? There's the pyplot specgram function in matplotlib, which calls ax.specgram(), which calls mlab.specgram(),…
endolith
  • 21,410
  • 30
  • 114
  • 183
46
votes
5 answers

How to normalize a signal to zero mean and unit variance?

I am new to MATLAB and I am trying to built a voice morphing system using MATLAB. So I would like to know how to normalize a signal to zero mean and unit variance using MATLAB?
geeti
  • 473
  • 1
  • 4
  • 6
44
votes
4 answers

Any good recommendations for MP3/Sound libraries for java?

I'm looking for libraries to: read and write meta data (for example ID3v2 tags in mp3 and all) convert compressed to to raw audio data and if possible raw audio data to mp3, ogg, aac, ... digitally process the audio data (energy, timbre, Mel…
roesslerj
44
votes
17 answers

How to do unsigned saturating addition in C?

What is the best (cleanest, most efficient) way to write saturating addition in C? The function or macro should add two unsigned inputs (need both 16- and 32-bit versions) and return all-bits-one (0xFFFF or 0xFFFFFFFF) if the sum overflows. Target…
43
votes
8 answers

Beats per minute from real-time audio input

I'd like to write a simple C# application to monitor the line-in audio and give me the current (well, the rolling average) beats per minute. I've seen this gamedev article, and that was absolutely no help. I went through and tried to implement what…
Karl
  • 753
  • 2
  • 9
  • 22
41
votes
8 answers

How do I run a high pass or low pass filter on data points in R?

I am a beginner in R and I have tried to find information about the following without finding anything. The green graph in the picture is composed by the red and yellow graphs. But let's say that I only have the data points of something like the…
hlovdal
  • 23,353
  • 10
  • 78
  • 148
41
votes
9 answers

Given an audio stream, find when a door slams (sound pressure level calculation?)

Not unlike a clap detector ("Clap on! clap clap Clap off! clap clap Clap on, clap off, the Clapper! clap clap ") I need to detect when a door closes. This is in a vehicle, which is easier than a room or household door: Listen:…
Adam Davis
  • 87,598
  • 55
  • 254
  • 328
41
votes
5 answers

Recommended package for very large dataset processing and machine learning in R

It seems like R is really designed to handle datasets that it can pull entirely into memory. What R packages are recommended for signal processing and machine learning on very large datasets that can not be pulled into memory? If R is simply the…
user334911
40
votes
5 answers

Guitar Chord Recognition Algorithm?

Whats a good digital signal processing algorithm that is good on guitar chords? Since Fast Fourier Transform I think only is accurate on single notes played on the guitar but not notes that are played simultaenously (i.e. chords). Thanks!
user488792
  • 1,813
  • 5
  • 29
  • 37
39
votes
5 answers

Data Compression Algorithms

I was wondering if anyone has a list of data compression algorithms. I know basically nothing about data compression and I was hoping to learn more about different algorithms and see which ones are the newest and have yet to be developed on a lot of…
Veridian
  • 3,278
  • 10
  • 38
  • 73
38
votes
1 answer

What's wrong with this simple FM synth design?

I'm trying to implement some features of a Yamaha YM3812 sound chip (aka OPL2 http://en.wikipedia.org/wiki/YM3812) in JavaScript using Audiolet (a synthesis library, http://oampo.github.io/Audiolet/api.html) Audiolet allows you to build a…
38
votes
5 answers

Plotting power spectrum in python

I have an array with 301 values, which were gathered from a movie clip with 301 frames. This means 1 value from 1 frame. The movie clip is running at 30 fps, so is in fact 10 sec long Now I would like to get the power spectrum of this "signal" (…
Olivier_s_j
  • 4,939
  • 21
  • 72
  • 125
37
votes
5 answers

Signal processing library in Java?

I'd like to compute power spectral density of time series; do some bandpass, lowpass, and highpass filtering; maybe some other basic stuff. Is there a nice open-source Java library to do this? I've hunted a bit without success (e.g., Googling "power…
dfrankow
  • 16,533
  • 35
  • 121
  • 177
35
votes
4 answers

What is the Hamming window for?

I'm working with some code that does a Fourier transform (to calculate the cepstrum of an audio sample). Before it computes the Fourier transform, it applies a Hamming window to the sample: for(int i = 0; i < SEGMENTATION_LENGTH;i++){ …
fredley
  • 29,323
  • 39
  • 131
  • 223