New answers tagged

2

You're forgetting an important property of the autocorrelation sequence: $$r_{xx}[k]=r_{xx}^*[-k]\tag{1}$$ I.e., it is conjugate symmetric, which is necessary for the power spectrum to be real-valued. Because of this symmetry, the autocorrelation sequence is only given for non-negative values of $k$. If you use $(1)$, you obtain $$S_{xx}(f)=1+b_1^2+b_2^2+...


2

The autocorrelation of white Gaussian noise is a delta. When the noise is filtered or band-limited, as is the case here, the autocorrelation becomes a sinc. This has interesting consequences, for example in telecommunications, where the noise at the output of a matched filter is uncorrelated only at certain time delays -- fortunately, the time delays we're ...


0

The problem lies here: sd.play(beep, 48000, blocking=True) According to the documentation for sounddevice, "blocking= True" means that code execution stops at that point until playback is finished. All you are getting is an echo from the playback. Remove just that bit (", blocking=True") and you should get better results. I say "...


0

it should show corresponding three peaks in the impulse response Yes. Why are the other two beeps not captured properly and why are they not showing up in the impulse response Sorry, I'm not going to debug your code for you. However, I can give you some debugging steps. Measure "a wire". Simply run your input signal directly into your impulse ...


0

If your input signal features many strong harmonics that are all strict multiples of a (possibly attenuated) fundamental, it seems reasonable to look into cepstrum analysis, as that finds the periodicity of the spectrum. Pitch analysis has been studied for a long time and it is evidently hard to get generally and robustly «right». I wonder if a panel of ...


0

Here is another implementation of xcorr for periodic x and y function out = xcorr_per(x, y) len = length(x); % make sure y is a column vector y_col = reshape(y, len, 1); index = repmat(1:len, 1, len+1); index = circshift(index, 1); index = reshape(index, len+1, len); index = index(2:end, :); out = x(index) * y_col;


1

I think you may do one of the following: Given a Parametric Model of the Signal You may use least squares. In case the model is Linear you may use linear least squares (For instance, polynomial regression). If the model is not linear, then a non linear least squares. Given a Dynamic Model of the Signal If you have a model which connect the signal u[t] to u[...


0

Hi: The random walk + noise kalman filter formulation is $y_{t} = u_{t} + w_{t}$ # observation equation $u_{t} = u_{t-1} + \epsilon_{t}$ # state equation But, the way you wrote it, it seems like $u_{t}$ is constant and there is no state equation which means that it's just ols and the $\hat{u}$ estimate is $\bar{y}$.


Top 50 recent answers are included