Tag Info

4

The Least Mean Square solution to find the "channel" or response of the filter is provided by the following MATLAB/Octave Code using the input to the filter as tx and the output of the filter as rx. For more details on how this works, see this post: Compensating Loudspeaker frequency response in an audio signal: function coeff = channel(tx,rx,ntaps) % ...

4

A personal rule: in general, it can be better to perform non-linear operations before linear ones. One reason behind that is that a lot of practical concerns are related to outliers or suspect behavior, which can easily be smoothed out (and become indistinct from other signals) by linear filters. Let me reformulate. If $f_i$ denote filters, and $s_i$ ...

4

There are many ways to arrive at filter coefficients, depending on your specs. But from your question I assume that you're talking about basic second-order building blocks (biquads). Also here there are several possibilities, but one standard approach - and that's probably the one you're after - is to start with the second-order transfer function of an ...

3

The reason is the decorrelation due to the varying phase shift between the input and output. See the plot below showing the phase of the OP's high pass filter, and how closely it follows the cancellation when plotted on a log log scale (the higher frequency components of the two signals are better aligned in time and therefore have higher correlation leading ...

3

In general you will need to multiply first and then low pass filter. You also have to make sure that your sample rate is high enough so the multiply doesn't create aliasing. Let's look at a simple example: feed a 1kHz signal into a loudspeaker and measure current and voltage to determine the average (thermal) power with maybe a 100ms time constant. The ...

3

Another way to simply get your result for this kind of a problem (where $h[n]$ is very short) is to use the following method : Let your output of the discrete convolution sum be $y[n]$ : $$y[n] = x[n] \star h[n]$$ Then by expanding $h[n]$ into impulses, the convolution will be distributed over addition ( using the highpass filter {-1,2,-1}; k = -1,0,1; ...

3

You need to calculate the transfer function from your input to each individual state variable. This depends A LOT on how you implement your filter: I strongly recommend splitting it in second order sections and using either Direct Form I or transposed Form II for each section. Section order and pole/zero pairing can also make a big differences. Unless you ...

2

I'm not sure what's you model is. Let's say it is something like: $$y = H x + n$$ Now, using the Least Squares model is optimal (In the MSE sense) when $n$ is AWGN (It is the linear optimal estimator if the noise is white). So unless the noise in your model is colored, no gain by filtering the data before applying the Least Squares method. Now, what ...

2

They do mean the pseudo-frequency of the wavelet which is not dependent on the signal being analyzed. The misleading terminology that they use seems to come from from one of the references, Han, P. (2013), Investigation of ULF seismo-magnetic phenomena in Kanto, Japan during 2000–2010, PhD thesis, Chiba University, Chiba, Japan. Quoting an article of a ...

2

Check my answer on a similar question : H(z) as N-DFT Only thing to add it that for both the systems, it is possible to compute $H[k]$ by figuring that the numerator and denomenator are as follows : Numerator = $[1]$, Denominator = $[1, -\frac{1}{2}]$. Numerator = $[1]$, Denominator = $[1, -2]$. Take $N_b$-DFT of numerator and $N_b$-DFT of Denominator ...

2

The discrete convolution of a signal $x[k]$ with an impulse response $h[k]$, where $k$ is the discrete time index, is computed as $$y[k] = x[k] \ast h[k] = \sum_{n=-\infty}^{\infty} x[n] \cdot h[k-n].$$ for a given sample index $k_0$, e.g. $k_0 = 0$, you can compute the first sample of your exercise as $$y_\text{hp}[k_0] = \sum_{n=-1}^1 x[n] \cdot g[k_0-... 2 Classic filteration is indeed done using convolution. Though I have seen broader definition of filtering as shaping the signal in its frequency domain which can be done in many other methods as well. Of course you can create meaningful operations using element wise operations and even specifically multiplication. Think of the case you have a noise with the ... 2 I figured it ouy. In order to display DFT image properly they need to be log scaled. I used the log transformation s = c*log(1+r) where r is your normalized input image, and c is a constant. Plot s and you will be able to see the DFT correctly. %Log transform of DFT Image normalized_dftImage_F_uv = F_uv_dftImage/255; c1 = 1; s_LogTransform_F_uv_dftImage = ... 2 Obviously, you might need to use the given frequency somehow to solve the problem. Guessing alone will usually not suffice. Since this is a homework type problem, and since you still need to learn a lot of basics, I'll give you a few hints to get you started. First, the frequency domain behavior can be obtained from a (stable) transfer function by ... 2 If it's a linear phase FIR filter, then the inputs signals will be shifted (delayed) by an amount of group delay at the output. For a linear phase FIR filter of length L = 2K+1 the group delay will be N = K samples. For even length L = 2K FIR filters it will be at N = (L-1)/2 ; half-sample position. For non-linear phase FIR filters, group delay ... 1 Your application that is triggering the internal HW of the phone System on Chip (via the OS), is triggering the sampling at lower rates (even though you set it to max) There are also limitations of the sensor refresh rates. For ex: very comonly in today's cell phones we can get a temperature measurement at a maximum rate of 1ms (in high end phones). So, ... 1 There are multiple possibilities. One, as you said, cellphone may not be capable of 500Hz so it duplicates values. Did you verify whether cellphone is capable of it? Two, gyroscope output itself may be duplicated. That is even if cellphone programs 500Hz, gyroscope may not be capable of it. Did you check data sheet of gyroscope how it reutrns values? ... 1 Let's start the right way (as Tim's comment says): let's start with the signal model of what you're doing. Let's assume that the measurements at time k are just positions x_k and y_k and that these are also part of the state, which also includes \dot{x}_k, \dot{y}_k, \ddot{x}_k, and \ddot{y}_k:$$ \mathbf{x}_k = \left[ x_k \ \dot{x}_k \ \...

1

If your filter is $h[n] \leftrightarrow H(e^{j\omega})$, then the DTFT of the time reversed filter $h[-n]$ is $H^*(e^{j\omega})$. Consider the result of passing your signal through the combined filter $h[n]*h[-n]$, which has a DTFT of $H(e^{j\omega})H^*(e^{j\omega})=|H(e^{j\omega})|^2$ and has zero-phase. In this setup, I've assumed that $h[n]$ is causal so ...

1

I see that the difference falls down as 20dB/dec. Because you high pass also only has a 20 dB/octave slope. For first order filters the upwards slope of the high pass is symmetrical to the downwards slope of (1 - highpass) other than bilinear distortion. Your difference cannot fall faster than the high pass rises. How can I make it fall faster? You need ...

1

Circular convolution can be done using FFTs, which is a O(NLogN) algorithm, instead of the more transparent O(N^2) linear convolution algorithms. So the application of circular convolution can be a lot faster for some uses. However, with a tiny amount of post processing, a sufficiently zero-padded circular convolution can produce the same result as a ...

1

Those kind of algorithms are called Non Local algorithms. The most known algorithms of this family is the - Non Local Means which is a decent Noise Reduction (Denoising) algorithm. Until the Deep Learning boom, this approach has been extended and usually means working in the Patch Space of image - Patch Based Models and Algorithms for Image Denoising: A ...

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, $$\sum_{n=-\infty}^{+\infty}|h(n)| < +\infty$$ 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 ...

1

For a phase distortion metric I recommend using “group delay variation”. The definition of Group Delay is the negative derivative of phase with respect to frequency. The Group Delay is the delay in time that “group” of signals over a band of frequencies would have. A frequency response that is linear in phase (constant group delay with no variation) is not ...

1

It depends on what you mean by "meaningful". All outputs are meaningful in the sense that they combine the current input value with past input values. Initially, there are of course no past input samples. But if you agree that "no past samples" means "past samples with value zero" then that's exactly what happens if the delay elements are initialized with ...

1

There are a lot of misconceptions in the way that the problem has been posed (in particular, $X(\omega)$ as defined by the OP in the first version of his question -- he has since then deleted the definition -- ) has nothing to do with the matter), but when $\{x(t)\}$ is a wide-sense-stationary (WSS) process, then the processes $\{y_1(t)\}$ and $\{y_2(t)\}$ ...

1

The sharper the filter is in the frequency domain, the longer the impulse response will be. This typically leads to "time blur" or "ringing" in the time domain. In addition, a zero phase filter is non-causal, so you get "pre-ringing" and any sharp onsets or transients in the time domain get degraded. The long impulse response also leads to a long "...

1

Plus is the simplest operation : $z = x+y$. Fourier is inherently linear, and good at addressing it. However, most processes and data combination are nonlinear, and they should be dealt with. The second simplest operation is multiplication. Homomorphic filtering deals with $z = x\times y$. It is more complicated, especially because of zeroes. Logarithms ...

1

The sharp peaks are actually due to segmentation and concatenation, you need to have overlapping segmentations. The peaks occur on the edges of segments mostly. In following figures I tried to show what I mean, blue curve are Hanning function coefficients. I did not understood why your application is so, but if it is essential to process your signal in ...

Only top voted, non community-wiki answers of a minimum length are eligible