New answers tagged

0

First you need to get it in the right form. Plug $e(n)$ into the update equation for $\mathbf{g}$ and you'll get: $\mathbf{g}(n+1)=\mathbf{x}(n)\mathbf{x}^T(n)\mathbf{w}(n)+\mu_2 \mathbf{g}(n)-\mathbf{x}(n)d(n)$ And writing out the other update: $\mathbf{w}(n+1)=\mathbf{w}(n)+\mu_1 \mathbf{g}(n)$ And at this point we can see these two equations are ...


4

Indeed you can do that. You may look on my answer to How to Prove a 2D Filter Is Separable? By the SVD for any filter $ A $: $$ A = \sum_{i = 1}^{n} {\sigma}_{i} {u}_{i} {v}_{i}^{T} $$ Since we're talking about separable filter then: $$ A = {\sigma}_{1} {u}_{1} {v}_{1}^{T} $$ So the columns filter is $ \sqrt{\sigma}_{1} {u}_{1} $ and the rows filter ...


2

You are attempting to simulate an RF signal directly at it’s carrier frequency which will require much more processing so is not recommended. You can achieve the same results by simulating everything at its equivalent complex baseband signal due to the linear properties of the underlying frequency translation. Equivalently everything in your simulation model ...


0

The ZF equalizer, $f[n]$, is a filter (I'm assuming a FIR filter) that tries to force, $f[n]*h[n]$, to be $\delta[n-d]$, where $d$ is the sample delay introduced by the filter (I choose $d=2$ below) and $h[n]$ is the channel impulse response. You can use this convolution equation to solve for the filter weights. I assume that both $f[n]$ and $h[n]$ are zero ...


1

You should use py-ecg-detectors Siply install by doing pip install py-ecg-detectors Then you can use for instance the well known Pan Tompkins algorithm to find the R-peaks Here I used an ECG recording from the Apnea-ECG Database from ecgdetectors import Detectors import matplotlib.pyplot as plt import pandas as pd fs=100 # sample freq heartbeat = pd....


0

If you zero out most or all of the harmonics (you set them all to -inf in your cap), then the HPS algorithm can’t find them.


1

If you want to compute the delay experienced by a sine wave at a given frequency $\omega_0$, then it's not the group delay but the phase delay that you need to consider. In the case of linear phase FIR filters the phase delay and the group delay are identical, but in the general case they aren't. The phase delay is defined by $$\tau_p(\omega)=-\frac{\phi(\...


1

If you know the group delay in sample periods, yes, division by the sample rate is how you convert samples to time. It really doesn't matter what kind of sample-measured time you apply that to: that's an inherent property of sampling, not of group delays or group delays of linear-phase filters. I don't know where your fs/2 calculation comes from, but it's ...


2

The main difference between the form the OP is showing and the referenced solution is that the referenced answer isolates the pole and moves it further away from the unit circle resulting in a more stable design applicable to fixed point solutions. In particular the solution the OP gave has delay accumulation from each element that is within the feedback ...


0

So basically the IIR filter transfer function is $H(z)=\pm H(1/z)$. so if the poles are inside the unit circle,reciprocally poles are outside the unit circle so the system is unstable and non causal that's why linear phase is not displayd by IIR filter


1

For the 1-d case, I think that conv() is implemented in the direct domain while xcorr is implemented in the frequency domain. This indicates that conv will be faster for small kernels, while xcorr will be faster when inputs are equal size. I dont know if this still is the case, and if it extends to the 2-d case. Operations that allows for native single-...


1

Sound absorption is an example of filtering. You can build an enclosure (room) to lessen sound coming from your clothes washer. Adding insulation inside the wall helps further, as does offsetting studs on each side to minimize vibration transfer. This comes at a cost, but at some point you’ve made the problem unnoticeable—you don’t need 100% eradication. ...


2

Yes that is correct. The width of the transition band is inversely proportional to the length (or memory) of the filter which means to say that you would need an infinite amount of time to achieve your perfect filter. Therefore for practical reasons you decide how much aliasing would be tolerable (similar in many ways to deciding how many decimal places you ...


0

I don’t have the specific details for your filter but with digital filters in general it is typical for the filter to grow the signal in band in contrast to analog filters that shrink the signal out of band. It is all just a matter of scaling. Consider the simple case of a moving average FIR filter consisting of the summation of the previous N samples; such ...


2

One way to think about this: Everything that can be represented as a rational function in the Z-domain can also be represented as a linear difference equation in the time domain. As such at can be interpreted (and implemented) as a filter. It may be non-causal or unstable, but it's still a filter. You can certainly represent things in the z-Domain that are ...


1

If I understood your question correctly, Butterworth filter is maximally flat (no ripples) in the passband frequencies, and at the cutoff frequency, the gain is down by 3dB (3.01 to be exact). But disadvantage is slow roll off from passband. See https://en.wikipedia.org/wiki/Butterworth_filter especially the figure showing magnitude roll off. For Chebyshev ...


0

In your comments you stated the purpose of this is to design a higher resolution transform than the FT offers. A consideration for the case of multiple frequencies that are not closely spaced is to use the adjacent bins in the DFT to interpolate a more precise frequency value. The simplest way to do this is to zero pad the time domain signal prior to ...


0

Maybe you should average your FFT over time to enhance you signal's SNR, you may then be able to see a spectrum that fits your expectations. It also seems that your signal is filtered around 420 Hz. Unless this is your initial signal's bandwidth, your filtering may not have been applied correctly.


1

If your description is correct, you are seeing noise. After step 1, everything above 2 kHz should be gone. After your band-bass everything below 8750 Hz is gone, so you basically end up with a null set. Since your filters are not infinitely steep there is still something non-zero left over but it's mostly going to be noise and very poorly defined. ...


1

I believe the Wikipedia reference may refer to the Hunter (1986) but Wikipedia articles do morph over time. One aspect of the accepted answer that is less than satisfying is the code to divide by the sum. The current article makes mention of this chart. From https://en.wikipedia.org/wiki/Moving_average#/media/File:Exponential_moving_average_weights_N=15....


0

A good stringed instrument music pitch detection/estimation algorithm will do the opposite, e.g. it will not ignore overtones. Instead it will pay attention to the harmonics, specifically the harmonic train and its spacing, as this is a stronger indication of human perceived pitch than spectral content at the fundamental frequency (which could be nearly or ...


0

What kind of windowing/overlap scheme do you use? Did you look into cepstral processing, seeing as your bass should produce a harmonic series? Perhaps dynamic programming to pick a sensible «time-pitch-contour»? Fundamental pitch tracking is a long standing challenge. There should be many hints in the litterature.


1

The IIR runs at a reduced rate compared to the sample rate.. For example, if the sample rate is 100 MHz, the hardware clock is 25 MHz. That's why the architecture is so weird like you said. For the record, it is really hard to meet timing closure in an FPGA when the samplingfrequency is higher than 100 MHz because of the combinational delays between the ...


1

Two samples is sufficient and we can determine if the phase difference is indeed $\frac{3\pi}{2}$ as follows: Start with the hypothesis that the phase difference $\phi_1-\phi_2$ is $\frac{3\pi}{2}$, which is equivalent to $-\frac{\pi}{2}$ If and only if the phase is in such quadrature, then $s_1(t)$ and $s_2(t)$ will be the real and imaginary components of ...


2

Good Gosh! Why on Earth would you be so complicated as to use that $EMA_{\alpha}(x_{n})$ notation? Are you trying to be clever, or maybe sophisticated? You're mixing letters and variables in the same notation. Is $EMA_{\alpha}(x_{n})$ supposed to be a word (or maybe a variable), or what? Adding to the confusion is: if subscripting 'n' indicates sample ...


0

Cleanliness of the eye pattern sample point is also used for symbol synchronization for NDA timing recovery. My communications book essentially ignored this, I don't know why. But carrier and symbol synchronization seems to be completely ignored in many newer digital communications texts.


1

Scanned below is the fred harris' "Rule of Thumb" which included the filter taps as well as his other "rules". This is from DSP World ICSPAT Class Notes DSP World Workshops, Orlando, Florida, November 1-4, 1999. That course along with other similar presentations and courses by fred harris have significantly influenced my views and thinking of signal ...


4

It is the objective of the receiver to make the best estimate for each symbol as to what was transmitted. This is often done by ultimately determining a decision time in each sample (through timing recovery) on the waveform after it has been processed by the receiver (equalization and matched filtering) in which to sample the waveform and make a decision as ...


3

It is common in DSP practice to define some convenient center for a filter as being at time 0, even though we cannot build non-causal systems in practice. You see this most when you're designing a symmetrical filter, and you define t = 0 as the filter center, but it happens elsewhere. You do this because it makes the analysis easier, and you justify it by ...


3

Actual channels are always causal (like everything else in the physical universe). Actual (discrete-time) channels also sometimes have one tap that is considerably larger than the rest; an example impulse response would be h = [0.1, 1.5, 0.2]. Some authors prefer to define h[0] as the largest tap; in my example, we'd have h[-1] = 0.1, h[0] = 1.5, and h[1] = ...


0

If we focus on finite-duration impulse response filters and apply the MSE criterion to optimize the coefficients of the feedback and feedforward filters. The equalizer output can be expressed as: \begin{equation}\hat{I}_{k}=\sum_{j=-K_{1}}^{0} c_{j} v_{k-j}+\sum_{j=1}^{K_{2}} c_{j} \tilde{I}_{k-j}\end{equation} where $\hat{I}_{k}$ is an estimate of the $k$...


1

If you're familiar with LaPlace transforms, you can see the Z transform by analogy. The unit circle is equivalent to the jw axis, with zero frequency at 1+j0 and the Nyquist rate at -1+j0.


1

BIBO stability of LTI systems implies that their impulse response is absolutely summable, that is, \begin{equation} \sum_{n=-\infty}^{+\infty}|h(n)| < +\infty \end{equation} That exact same relationship is a sufficient condition for the Fourier Transform of the impulse response - the so-called Frequency Response - to converge. Convergence of the ...


0

We get the Fourier Transform of a signal at the unit circle. If the ROC does not include the unit circle, that means that the Fourier transform does not converge which means that the system is unstable. Also, please read bores signal processing basics website and Alan Oppenheim. Its explained really well there.


0

Goertzel in fact is the matched filter for a single frequency – so, it's, in the presence of uncorrelated noise, the estimator that gives the best estimation variance under fixed observation. But: for Goertzel to work, you need to use a number of samples that is an integer and a multiple of $f_\text{sample}/83\,\text{Hz}$. Unless your sampling rate hence ...


0

My question is whether there is a set of well known waveforms with algorithms that can be programmatically generated? Yes and no. There are many wave forms that can be created programatically. However these may or may not be useful for you test. Your test should focus on determining whether the algorithm meets the stated requirements. Hence the best way ...


1

As far as I can tell from the graph, the variance of the signal goes up substantially under "oscillation" conditions. So, monitor the variance over a rolling window. High variance indicates oscillation. To choose the window width, consider: if the window is too short, the computed variance will be too noisy if the window is too long, the monitor will be ...


Top 50 recent answers are included