New answers tagged

0

Question 1: Which is the right way to input data Case-1 or Case-2? If you are using arm_cfft_f32 case 1 is correct, the imaginary and real components should be interleaved. Case 2 is correct for arm_rfft_f32. Question 2: Why the response for both Case-1 and Case-2 are identical while the inputs are populated differently as described above? The outputs are ...


1

The main purpose of windowing is to manage the amount of spectral leakage. If you don't know what this is, just search this forum or ask a separate question. In order to reduce spectral leakage the window must fade out at the ends of the window. Overlap is needed to make sure all samples are weighed equally (at least roughly). Any window weighs the samples ...


1

If there no overlap, then invertibility is lost, and so is information. If there is overlap, but it is little, then analysis information is lost (but not synthesis, which is more fundamental). Namely, from 0 to 0.5 times the sampling frequency, if "hop length" is 2, then analysis information for frequencies bewteen 0.25 and 0.5 is aliased. If hop ...


0

The generalized form $Ae^{j\theta}$ with $A$ and $\theta$ as real numbers is a phasor with magnitude $K$ and angle $\theta$. A "positive" frequency $\Omega_o$ is such a phasor with constant magnitude $A$ and rotating counter-clockwise with angle that increases linearly with time as $\Omega_o t$. (And similarly a negative frequency would be rotating ...


0

hat's hard to tell without seeing your actual signal and looking at your entire signal chain. A few observations and ideas: Spectral analysis works much better with proper windowing. However, lack of windowing tends to be more of a high frequency problem, so this is probably or your specific issue. 225Hz is the third harmonic of 75Hz. For many audio signal ...


2

[Pictures to follow] Let us start with a thought experiment (which can be simulated): imagine a constant signal with value $c$. Add a full period of a pure sine with non-zero frequency. If you can remove this harmonic contribution by zeroing out its frequency bin in the Fourier domain, then the resulting inverse Fourier signal will still have mean $c$. So ...


1

Basically, if we define convolution as $ y = h \ast x $, it can be written in Matrix form (See Generate the Matrix Form of 1D Convolution Kernel): $$ \boldsymbol{y} = H \boldsymbol{x} $$ Transposed Convolution is given by: $$ {H}^{T} \boldsymbol{z} $$ If you look carefully, you'd see the spatial operation is basically correlation instead of convolution (...


0

I was working with FFTs today and hopefully this can help. My problem is that I had a sample of sinusoids with different periods. Based on my current level of understanding, I had a 5 hz sample and a higher frequency (I think at 50 hz). in the picture above, I got a peak at ~30 and ~300 hz, but this can't be right. I used shannon sampling theorem to get the ...


0

What I get out of this question if I follow properly, the OP is interested in computing the filtered derivative of a time-domain signal, and from that extracting the zero-crossings and therefore the inflection points. The OP is doing this using an FFT approach, and with that must do additional processing to minimize ringing, and further I gather from the ...


1

I think what you need here is the Short Time Fourier Transform (STFT). You set the desired window size as well as the amount of overlap (in your case I would set this to 0%) and then you perform FFT on the resulting window and calculate its magnitude. If you explicitly want a list, you can select the frequencies whose magnitude is above a certain threshold. ...


-1

For your sub-carrier formula, you forgot the $j$ in front of the $b_n$; without that, you lose all your data, because your real and imaginary parts get summed. Can't do that! The whole idea of complex equivalent baseband is that the real anand imaginary parts are independent; this does not only apply to OFDM, but to any baseband technique; for example, QPSK ...


1

About half of practical signal processing work is understanding how the real world impacts your signals and visa-versa (i.e., how radios work, or how the human hearing system works, etc.). The other half is understanding the underlying math. Most introductory courses to signal processing either expect you to come in the door understanding complex arithmetic,...


0

What you are looking for is the MP3 algorithm. It reduces audio to 15 millisecond blocks consisting of a list of frequencies and amplitudes. MP3 compression consists of "throwing away" frequency entries with low amplitudes. It also uses a psychoacoustic model to "throw away" frequencies you won't notice due to louder sounds before or ...


0

Proper STFT isn't simply putting a window on data and taking its FFT; I wouldn't recommend reinventing it unless knowing exactly what you're doing. There's open source implementations: librosa, ssqueezepy. For matching against pre-computed values, it's important to account for any pre- or post-processing steps, such as baseline normalization or the log ...


0

Shifting and padding are NOT commutative, i.e. order matters. Shift first, than pad. Plot your unshifted data padded in the time domain and you will see why: It will have one peak at zero, another pea around 2000 and then a lot of zeros. This is probably not what you want


0

When you take the IFFT, you are specifying what the magnitudes are at the corresponding bin values, not between those bin values. If you want the two to responses to be more similar than they are, you could append zeroes to the end of ‘h’ after you load it but before you FFT it. This doesn’t change the magnitude response of ‘h’, but does increase the bin ...


1

MEG data is non-stationary and FFT can provide a crude approximation on clean data at best. Instead I'd recommend time-frequency analysis, like STFT or CWT. CWT is favored as it adjusts its resolution to better discriminate higher frequencies in time, and lower frequencies in frequency, on logscale (which is appropriate for brain waves). Afterwards one can ...


0

This is easy. While it's widely known that the spectrum of a 50% duty cycle square wave rolls off at 1/harmonic#, what happens if the duty cycle changes is a lot less well understood. That question was posed to the website Analogue Heaven and the curator had an answer but it was not quite right. I dug in a bit deeper and found that it's: Vharmonic = abs(sin(...


Top 50 recent answers are included