Questions tagged [fft]

The fast Fourier transform is an efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse.

Filter by
Sorted by
Tagged with
7
votes
1answer
2k views

Do FFT-based filtering methods add intrinsic latency to a real time algorithm?

In a current audio processing application, I am working entirely in the time domain using IIR filters. This is so I can use an audio buffer of just 3 or 4 samples and can guarantee that there will be ...
15
votes
3answers
3k views

Fast Fourier transform- non-integer number of cycles in the FFT aperture

There are a few excellent discussion threads and answers on this site (eletronics.se) on the theory of Fourier transforms. I tried implementing the same in a simulation tool (MS Excel :)). I have a ...
10
votes
2answers
4k views

How to do prediction using frequency domain data?

Both linear regression and Kalman filtering can be used to estimate and then predict from a time domain sequence of data (given some assumptions about the model behind the data). What methods, if ...
5
votes
2answers
3k views

Generating wavelet using amplitude spectra

Equation (4) of a recent paper (An improved peak-frequency-shift method for Q estimation) shows how to generate a wavelet using a zero-phase Ricker wavelet. $|B_1(f)| = |B_0(f)|\exp(-\pi t f / Q)$ ...
9
votes
3answers
5k views

What is a good FFT window function to reject DC?

I'm using an FFT to analyze what is essentially the power envelope of a signal (see here for info on the containing project), and, since power numbers are always positive, to eliminate the DC ...
-3
votes
1answer
263 views

How Can I practically implement the FFT with size unequal to a power of two?

Can anybody explain how I can implement the Fast Fourier Transform (FFT) of length unequal to a power of two in hardware, e.g. FPGA? What is the algorithm for this implementation? Does anybody know ...
10
votes
2answers
762 views

Is it valid to increase amplitude (and presumably FFT quality) by simply scaling the data?

I'm using a version of "KISS FFT" by Mark Borgerding. It accepts an array of 16-bit fixed-point input values and produces a 32-bit float result array. I've discovered that if the input amplitudes ...
23
votes
1answer
48k views

low pass filter and FFT for beginners with Python

I am new to signal processing and especially to FFT, hence I am not sure if I am doing the correct thing here and I am a bit confused with the result. I have a discrete real function (measurement ...
21
votes
2answers
18k views

Improving spectrogram resolution in Python?

I'm using the specgram() function in matplotlib to generate spectrograms of speech wave files in Python, but the output is ...
7
votes
3answers
573 views

FFT on non-rectangular part of image

I need to do a FFT on an image for noise reduction, but the problem is that I do not need the complete image, but only a circle in the middle. The borders are a fixed rig, thus I am not interested in ...
5
votes
3answers
4k views

I need advice about how to make an audio frequency analyzer

I just need some clarification of some very basic aspects of creating a frequency analyzer. I am writing a c++ program, so far it is just a media player, with a custom explorer. You can make ...
4
votes
1answer
5k views

How to get coefficients for sine/cosine function from complex FFT?

I'm working on a control system that measures the movement of a vibrating robot arm. Because there is some deadtime, I need to look into the future of the somewhat noisy signal. My idea was to use the ...
5
votes
1answer
1k views

FFT window phase syncronising

I'm currently devising a solution for demodulating a DPSK signal in C#. So far I've got a working FFT with phase detection, BUT: I now have an issue of aligning the window of the FFT to synchronise ...
3
votes
3answers
3k views

What's the best criterion for determining a frequency peak?

I'm writing an algorithm that analyzes results of discrete Fourier transform (DFT). The algorithm should detect amplitude peaks in predefined ranges of frequencies. This is an example of such a peak: ...
6
votes
2answers
1k views

Does down-mixing a signal before taking the fourier transform aid in signal detection?

Let us assume that we have a narrowband signal $s[n]$, at frequency $f_1$, and let us further assume that this $f_1$ is just below $\frac{f_s}{2}$, where $f_s$ is the sampling rate. Furthermore, let ...
0
votes
2answers
152 views

Help me understand this simple code snippet to get the magnitude frequency response

I inherited the following FFT code to get the magnitude frequency response of a sample window. I understand what fft() does. What I don't understand are the lines marked with a "???". What do they do? ...
2
votes
2answers
538 views

Embedding digital ID in audio signal, and retrieving it

The problem I am working on an interesting challenge -- to encode a 32 bit ID blip in an audio stream, and subsequently retrieve it. Something like this: http://gizmodo.com/5883215/why-lady-gaga-...
16
votes
1answer
4k views

Find similar Music using FFT Spectrums

I have been experimenting some weeks to find a way to match/find similar Songs in a Library containing different Genres of Music. My first try was to Detect Features like Tempo or how much Bass there ...
3
votes
1answer
482 views

From a 44kHz audio signal, how could I extract 32 evenly spaced frequency bands?

Assume I have an array of floating points that contain the last 8192 samples played. How would I convert that array to 32 frequency bins that are spaced from 0Hz - Nqyst?
10
votes
1answer
2k views

Can I use FFT to interpret accelerometer gestures?

I have the need to detect two different gestures that occur when looking at accelerometer data. Here's a run down (as brief as I can make it): Lets say an iPhone is being oscillated back and forth ...
8
votes
1answer
8k views

FFT of image data: “mirroring” to avoid boundary effects

I load and display an image of some rice in Matlab: g = imread('rice.png'); imshow(g); I take the FFT of this image and shift it: ...
1
vote
2answers
908 views

How can I implement a binary chirp signal containing zeros and ones?

I build a signal, $x$, which is linear in the frequency domain as (in MATLAB syntax) x = 1:0.1:1e3; Then I do: ...
4
votes
1answer
6k views

How do you plot an SPL vs frequency curve for a given set of pressure data?

I have a set of pressure data at a sampling rate of 262144 Hz for 3 seconds making it 786432 samples of pressure data. I want to plot a curve of the SPL (sound pressure level) vs frequency. I first ...
9
votes
1answer
2k views

How to estimate the signal-to-noise ratio of a waveform?

I have a signal: $f_i(t_i=i\Delta t)$, where $i = 0\ldots n-1$. The signal seems to vary quickly around a slower varying "trend". I am assuming that the quickly varying part is noise and the slowly ...
4
votes
1answer
214 views

Is there a “first” Fourier transform?

Every time I've read "first Fourier transform", I've assumed it to be a misspelling of the fast Fourier transform. Recently though, I saw the term in both the title and keywords of an article from a ...
14
votes
2answers
9k views

What data should I use to test an FFT implementation, and what accuracy should I expect?

I'm involved with an effort to implement an FFT algorithm, and am curious what the recommended advice is for the input test data to use -- and why! -- and what accuracy to expect. On test inputs, I'...
14
votes
3answers
605 views

How to efficiently calculate only the low coefficients of a zero-padded FFT

I've got an algorithm that zero pads a sequence to 4N, does an FFT, and only uses the lowest frequency N points out of the generated 4N. This seems like a lot of wasted work, any ideas how this can ...
5
votes
2answers
271 views

Is there any way to make a sampling rate reduction in the frequency domain?

Is there any way to take advantage of the frequency domain to make a clean/nice sampling rate reduction effect ? and how ? Basically, deducted from my tests: if I set to 0 the magnitude uppon a ...
3
votes
1answer
426 views

Am I handling offline FFT correctly?

I need some help clarifying FFTs and what they represent. I have a buffer containing compressed audio. Due to limitations, I can't handle the full uncompressed audio but can decompress small segments ...