jojek
Moderator
  • Member for 7 years, 10 months
  • Last seen this week
Using all-pole filter to model the Room Impulse Response
Accepted answer
3 votes

It's not because of reverberation. When you want to model the Frequency Response of the room, it's common to simplify your approximation by using either all-pole or all-zero models. You don't want to ...

View answer
FFT of a $N$-length real sequence via FFT of a $N/2$-length complex sequence
3 votes

You can use Decimation In Time (DIT) to calculate the FFT of single $N$ length sequence, using two $N/2$ sequences and combine them later on with a single butterfly. Knowing that FFT of an even ...

View answer
Pre-emphasis filter design
Accepted answer
3 votes

I don't really understand what are you trying to achieve with vector B that has 6 elements. Pre-emphasis filter is defined as: $$y[n]=x[n]-\alpha x[n-1]$$ Where $\alpha$ is $0.97$ in your case. ...

View answer
Sound reflections plot
Accepted answer
3 votes

This is an idealized case of the echogram that simply depicts the times of arrival and energy of reflections. You can see this type of plot in literature and as an output in modelling software such as ...

View answer
Air-coupled microphone
Accepted answer
3 votes

Problem you are aiming at is connected with Phonocardiography (recording bodily sounds). Traditionally contact sensors (such as stethoscopes) were used for this task, but problem is that you must ...

View answer
Subtracting Original Audio Signal
Accepted answer
3 votes

Well my friend, let me answer your questions here. You've asked why subtraction of recorded sweep from original one will not produce any info about echos. So I took exponential sinusoid in range of $5\...

View answer
imshow command for Gaussian function
Accepted answer
3 votes

Why not to simply use either: imagesc(z); Or: h=pcolor(z) set(h, 'LineStyle','None') Although if you really want to use imshow then provide a set of extra parameters to scale the plotting range. ...

View answer
Plotting DFT in dB
Accepted answer
3 votes

I would suggest you to normalize the amplitude by the maximum if you don't know the exact reference or scaling: MAG_dB = 20*log10(MAG/max(MAG)); plot(MAG_dB); This will yield a logarithmic plot ...

View answer
Best method to do piano key pitch detection?
3 votes

There is no easy answer to that question. Plenty of algorithms exists which are suitable to that task. Nowadays Non-negative Matrix Factorisation (NMF) is getting more and more popular in this field ...

View answer
Reconstruct FIR frequency response from the coefficients
Accepted answer
3 votes

You can try to window the filter with some window function, i.e. Gaussian, to get rid of small coefficients (taper them). Although it won't really work very well and you might really want to think ...

View answer
Difference Between Convolution and Multiplication of Frequency Response and Frequency Spectrum
Accepted answer
3 votes

Usually linear and circular convolution are two different operations, but you can get them equal under some conditions, thus speed-up your convolution through FFT. Having two input vectors $x$ and $...

View answer
Recognizing bodily noises (ie, not spoken words)
3 votes

Most likely you are interested in a very simple approach that will run on your Pi. Some of methods I am going to mention are possible to run in real-time with not-badly written C code. Probably you ...

View answer
Regarding MFCC feature of a speech signal
3 votes

You can have as many MFCC coefficients as you want, 12 is just only a widely used number. As you probably know (or if not then please refer to the old answer), coefficients are being obtained via ...

View answer
Improve spectrogram appearance using windowing functions MATLAB
Accepted answer
3 votes

Windowing is nothing more than element-wise multiplication of your signal by window function. Let's assume that you want to apply Hanning window. In your case signal is stored inside myRecording(...

View answer
synchronizing two music tracks
3 votes

I would suggest you to take a closer look on this publications: MATCH: A Music Alignment Tool Chest Live Tracking of Musical Performances Using on-line Time Warping Shortly speaking, ...

View answer
Intuitively explain Bi-linear time frequency distributions, someone please?
3 votes

As you mentioned - all these methods share common principle, they allow for representation of our signal in time-frequency domain. First thing to notice is that wavelets are very different from the ...

View answer
Auto or cross correlation for synchronisation in MATLAB
Accepted answer
3 votes

Mostly it is a very simple task. Here is the example for shifted sinusoid: t = linspace(0,6*pi,1000); % time vector for sinusoid s = [zeros(1,100), sin(2*pi*t), zeros(1,100)]; % original signal ...

View answer
Generating a time series given a transfer function
Accepted answer
3 votes

I think that procedure should be as follows: 1.Generate the white (Gaussian) noise signal - randn function in MATLAB. 2.Having a transfer function of your filter divide it by $z^4$ (highest power ...

View answer
FFT for bearing fault analysis
3 votes

Short answer: We can, but it is not always as robust as frequency domain techniques. Longer answer: This is very broad topic, but let me try to throw some light. Time domain techniques tend to be ...

View answer
Fourier transform of a normalized vector
3 votes

There are different conventions in scaling of the FFT, in MATLAB you need to scale it by $\sqrt{N}$, where $N$ is your number of samples. Saying it in matlabish: clc, clear all %% Create some ...

View answer
Frequency response creates non-causal impulse response
3 votes

I am familiar with similar phenomena. During measurements with usage of sweep-sine, when you convolve your signal with inverse filter you are obtaining your IR. Although if you consider perfect case ...

View answer
Detection of wobbling sound with rising notes
3 votes

I would start with following set of parameters: MFCC's (I that know you tried it, but stay with me) without static energy (1'st coefficient) Some descriptors from MPEG-7, like: Spectral Flatness, ...

View answer
Using Total Variation Denoising to Clean Accelerometer Data
3 votes

Well, unless it is a more programming question (how to translate from MATLAB script to C code), you might find interesting the following implementation: click, proposed in this article: A direct ...

View answer
filterbank: understand the different responses at the center frequency of each filter
Accepted answer
2 votes

Normalizing the filterbanks by their widths is optional and totally up to you (similarly to the warping scale Mel/Bark). Depending on your application, you can start without normalization and see what ...

View answer
How to normalize frequency response charts
Accepted answer
2 votes

First of all, I wouldn't worry too much about the speaker response since it is relatively flat and the microphone has a much bigger roll-off. Since you've captured the frequency response using sweep,...

View answer
FFT on a random signal
2 votes

First of all you should take the magnitude of the FFT (use abs function) - what you've plotted is just a real part of FFT. Secondly, depending on what you want to achieve, I would suggest to detrend ...

View answer
Remove a known wav file from recorded file
2 votes

Description of Source Separation Algorithm The approach that I would take is based on a Semi-supervised Non-negative Matrix Factorization. This would work assuming that: The audio file that you are ...

View answer
Measuring noise floor in an impulse response
Accepted answer
2 votes

I can suggest you take a look at the supporting information for Dirac software, where they describe the process of INR (IR to Noise Ratio) calculation. The simplest approach is to estimate the noise ...

View answer
FFT of two sets of samples vs FFT of sum of samples
Accepted answer
2 votes

Fourier Transform is linear, hence if $\mathcal F[x(t)]=X(f)$ and $a$, $b$ are complex numbers, then: $$\mathcal{F}[ax(t)+by(t)] = a X(f) + bY(f) $$ So in your case, simply sum the results together.

View answer
Calculating values of frequency bins in Python
2 votes

Like you said, after removal of the symmetric part the result will have approx $N/2$ points. You must calculate the frequencies corresponding to the n'th bin $f_n$: $$f_n = \dfrac{n\cdot F_s}{N}$$ ...

View answer
1 2 3
4
5
8