Questions tagged [signal-processing]

Digital signal processing of sound, video or other single or multidimensional data

Filter by
Sorted by
Tagged with
30
votes
3answers
13k views

What's the correct way to shift zero frequency to the center of a Fourier Transform?

I'm trying to apply a Fourier transform of a one dimensional list of a time history of some quantity using the Fourier function. I'm interested in the frequency ...
41
votes
3answers
6k views

Implementing continuous phase/Arg function

In MATLAB there's a function called phase that is just like our Listable friend Arg, but ...
23
votes
5answers
9k views

Numerical Fourier transform of a complicated function

Say I have a function $f(x)$ that is given explicitly in its functional form, and I want to find its Fourier transform[1]. If $f$ is too complicated to have an analytic expression for $\hat f(k)$, how ...
27
votes
4answers
10k views

Implementing discrete and continuous Hilbert transforms

What is an efficient and accurate Mathematica implementation of the Hilbert transform, for both continuous and especially discretely sampled functions? This transform relates phase and amplitude in ...
24
votes
4answers
5k views

Savitzky-Golay Filter to smooth noisy data

I do have noisy data and want to smooth them by a Savitzky-Golay filter because I want to keep the magnitude of the signal. a) Is there a ready-to-use Filter available for that? b) what are ...
22
votes
6answers
18k views

How do you find the frequency and amplitude from Fourier?

Edit This is a popular question with several answers. This edit organises the answers and gives links. Fourier just gives y values (ordinates) if you wish to read off frequencies and amplitudes you ...
13
votes
3answers
363 views

Deleting noisy data from a plot (manually) and export the best remaining data

I have the following temperature time-series. As you can see it contains very very noisy points in some periods (Fig.A). I tried to approach the best data(the black one in the center) based on the ...
24
votes
3answers
8k views

How do you remove noise to detect just the human voice?

How do you detect different sound frequencies and cut off parts in an audio file? Among instruments, how do you pick up the human voice?
22
votes
3answers
6k views

Can one find the beat of a tune with Fourier analysis?

I'm trying to find out if it's possible to find the beat of a tune by Fourier analysis with Mathematica. I'm taking a 44.1 kHz sample sound and hoping that I might get a nice peak for a frequency ...
20
votes
1answer
4k views

Extracting information from the result of ContinuousWaveletTransform

I'm trying to analysis a signal and identify some time-frequency information of it. For example, around which time the specific frequency arrives. It appears that Mathematica has very powerful wavelet ...
10
votes
2answers
2k views

Correct Fourier scaling and high-resolution frequency identification

I have a dataset of amplitude versus time $(t,A(t))$ and I need to extract the dominant frequency and amplitude, and also get the amplitude at one other specific frequency. My data looks like this: <...
8
votes
1answer
737 views

Finding outliers in 2D and 3D numerical data

I'm working on dataset which isn't normally distributed.which contains three dimensions like cost, discount and profit I'm trying to find outliers in all these dimensions. I used z score to find ...
5
votes
1answer
2k views

Data filtering using Butterworth filter

I want to filter data using Butterworth filter. I am currently using Matlab and I want to know how to do it in Mathematica. I have the following data: ...
32
votes
3answers
5k views

Remove noise from data

Hi, as you can see above I have some experimental data which has a large offset and shows clear noise fluctations around the tendency of the curve. I wanted to ask if someone could suggest me a method ...
26
votes
4answers
7k views

Computing and plotting a spectrogram in Mathematica

How can I compute and plot the spectrogram of a signal/time series/data in Mathematica? I have a WAV file, sampled at 44100 samples/second and I want to generate a spectrogram of that data. Something ...
4
votes
1answer
656 views

Butterworthfilter data filter

I am currently doing a signal analysis and filtering using Matlab. The filter I am using is Butterworthfilter model to filter scattered data (vector data). I am using Matlab as follows: ...
20
votes
4answers
15k views

Plotting Fourier spectrum versus frequency of a signal

I have looked around here, and i am sure this has been answered, but i don't understand it. The thing is, I have taken a introductory signal processing course, and we had to use Mathematica, and i had ...
10
votes
1answer
5k views

Hilbert-Huang transform package

I am trying to learn Hilbert-Huang transform (HHT) and its applications (especially in ECG signal processing). There are several HHT packages (scripts) HHT for R and Matlab. Is there any known ...
17
votes
2answers
1k views

Why the BandpassFilter is different than applying LowpassFilter then HighpassFilter

If I generate some data with noise, and use a filter to filter the noise, why does BandpassFilter not produce the same results as using ...
3
votes
1answer
4k views

Plot Fourier transform of $\sin (2 t)$

I'm trying to plot the Fourier transform of $\sin (2 t)$. I tried using the FourierTransform Function (I'm expecting a peak at w = 2) but it gives me undefined at <...
5
votes
3answers
2k views

How to generate a chirped signal

As there is no ChirpSignal function in Mathematica, can anyone tell me how to write a custom function to generate a sinusoid with a frequency that changes ...
26
votes
7answers
1k views

Graphical representation of a moving sound source

Some explanation since I have got a specific and another more open-ended question: I used two microphones in a 90° arrangement (see picture below) to capture sound from a source moving around the room ...
30
votes
4answers
2k views

Filtering beat-to-beat heart rate data

From an experiment, I have a dataset of beat-to-beat heart rate data: a list of the time between each heart beat in [ms]. The data is measured using an infrared optic sensor at the finger tip. The ...
16
votes
2answers
603 views

Cluster a signal into areas of equal intensity

Introduction I have a greyscale photograph that I want to partition into areas of equal intensity. This means, that the integral over each partition should be (roughly) equal. There is no unique ...
22
votes
5answers
14k views

How to find the phase difference of two sampled sine waves?

I'm trying to measure a phase difference between two Sine functions I've acquired with a computer. I'm uploading one of the .txt files with the data I'm working with here: txt file. To remove the ...
6
votes
1answer
166 views

Do we need to know the input signal when we use KalmanEstimator?

The first "Application" in the documentation for KalmanEstimator is copied below with additional variables for clarity. ...
14
votes
1answer
1k views

How can I use Mathematica to numerically compute a Wigner spectrogram of an optical pulse?

This question was inspired by this question where it is necessary to numerically compute the Fourier transform of a Gaussian optical pulse with a Gaussian chirp function. $$E(t)=e^{-t^2} \cos(50 t - ...
7
votes
1answer
540 views

How can I generate pink noise using Mathematica?

I need a time series of pink noise. How can I generate pink noise using Mathematica?
6
votes
6answers
622 views

How do I build a patterned matrix (high-pass and/or low-pass filter bank)?

I would like the shortest code to build the following matrices, of arbitrary dimension $N$: A Low-Pass filter bank matrix is of the form $ \begin{bmatrix} 1 & 1 & 0 & ...
6
votes
2answers
197 views

How to calculate the amount of offset about two list

You can get my data by this code {data1, data2} = Uncompress[FromCharacterCode@ Flatten[ImageData[Import["https://i.stack.imgur.com/ShSMY.png"], "Byte"]]]; We ...
6
votes
0answers
293 views

Resources for Sound Synthesis & Design

Are there any resources for sound synthesis using Mathematica? This page, Mathematica: Audio Synthesis Software, refers to other software packages, e.g. Max/MSP and Csound, for real-time synthesis. ...
5
votes
2answers
822 views

FindPeaks does not smooth noise on peak?

I have experimental data which is noisy. My objective is to find the peaks. Here is a short part of the data: ...
2
votes
1answer
203 views

Generate noise time series with given data's PSD

I have PSD data as a 1D array, function of frequency(rad/sec). It is like powerspectrum for damped oscillator. Considering 3 modes, PSD is shown here. I want to generate noise time series which ...
8
votes
3answers
1k views

high pass filter without losing detail

I have troubles doing a simple high pass filtering... Downloading the test data https://pastebin.com/74J8t2YV as "test.dat", you can see that overimposed on the signal there are some low frequencies ...
5
votes
4answers
2k views

Why does Fourier give a shifted frequency?

I have a signal that I want to identify the frequencies in it, I used the Fourier function but I can't get the frequency correctly. Here is a simplified example: ...
4
votes
2answers
107 views

Filtering data with timestamps

How to apply filter to data that was sampled in certain moments of time? Examples from documentation deal only with uniformly sampled data: ...
2
votes
1answer
733 views

Finding peaks on a Periodogram

I am currently working on a school project involving modelling sound recordings of piano notes. I have used the periodogram function to graph my recording and would like to find the peaks of this ...
2
votes
3answers
883 views

How can I convert a Sound created with SoundNote to a list of samples?

I have a Sound created with SoundNote, as follows: simpleSound = Sound[SoundNote["C"]] ...
9
votes
2answers
902 views

Building Butterworth Bandpass Filters

In order to bandpass filter data it is necessary to use ButterworthFilterModel, followed by ToDiscreteTimeModel and RecurrenceFilter. I have two questions: I wish to specify the order of the ...
6
votes
3answers
2k views

How to properly plot a response of a transfer function in Mathematica?

I'm trying to display the output response of a transfer function in Mathematica with and without a compensator. The problem is very strange: while the transfer function compensate is showing well, the ...
4
votes
1answer
1k views

Convolve two sets of (x,y) data sets

I have two sets of data in the form a={{.1,2},{.2,3},{.3,4},{.5,6}} b={{0,8},{.1,4},{.2,7},{.3,1},{.5,10},{.6,3}} Both data sets have even spacing, although ...
4
votes
1answer
209 views

Applying filters to data of the form {{x1,y1},{x2,y2},…}

When working with any kind of measurement data there is (at least) for me always a phase where I have to play around with different filters (such as MedianFilter, <...
2
votes
1answer
102 views

Butterworthfilter highpass/bandpass

this should be a fairly straightforward question since Mathematica has included functionality to filter data. Nevertheless, I am not being successful to solve the problem. Following the proposed ...
1
vote
2answers
314 views

Plotting amplitude spectra of modulated message signal

I'm trying to plot the amplitude spectrum of the modulated message signal, I have managed to plot it by working through the maths, expanding out each trig function, and then drawing onto a graph ...
1
vote
0answers
109 views

ButterworthFilterModel consumes the memory too much

I have a simple filter which is a result of the these questions here and here. I have to use this filter in a Do loop but I found that this filter consume the ...
1
vote
2answers
118 views

How to detect the singular value with wavelet analysis

I have a series data data=Uncompress[ FromCharacterCode[Flatten[ImageData[Import["http://i.stack.imgur.com/ApipY.png"], "Byte"]]]]; We can show it ...