The Stack Overflow podcast is back! Listen to an interview with our new CEO.

# Tag Info

6

Here I expected $y(n)$ is to be computed by convolving $x(n)$ with $h(n)$, but in the equation given by Wikipedia it is shown as a matrix multiplication $y(n) = h^H(n).x(n)$. Are these two operations(convolution and matrix multiplication) same here?. The system is an FIR system, so the vector multiplication here is equivalent to convolution --- for ...

3

Adaptive Filters are called "Adaptive" when they can adapt to changes in data. In the filters you mentioned above, which are part of the Linear Filters family the property means their coefficients are changing over time. Linear Filters are basically weighing and summing the data. For instance, given no prior information on data you may want to have exact ...

2

so with an LMS filter, we have a time-variant $N$-tap FIR filter: $$y[n] = \sum\limits_{k=0}^{N-1} h_n[k] \, x[n-k]$$ $x[n]$ is the input signal, $y[n]$ is the FIR output, and $h_n[k]$ are the FIR tap coefficients at the time of sample $n$. with an LMS filter, we also have another input called the desired signal: $d[n]$. we want our LMS filter to adapt ...

2

TL,DR Summary: Your code is in error because of the minus sign on process[0] in the signal generation if statement. Once that is corrected for, the adaptive filter seems to converge in all cases. The reason you're not seeing what Haykin says regarding the MMSE is because you are not using the desired signal $d[n]$ to form the error. All bets are off if you ...

2

The issue is possibly that the input signal you have chosen is not persistently exciting. This means that the signal doesn't "excite" enough modes of the filter in order to be able to accurately estimate its parameters. Another way to think about it is that it doesn't have enough energy in enough places in the spectrum: just at the frequency of the cosine, ...

2

A narrowband signal seems like (almost) periodic as indicated by $$x[n] = m[n] \sin( w_0 n)$$ where the message $m[n]$ has such a low bandwidth that the peak amplitude (the envelope) of the carrier sine wave changes very slowly compared to how fast the sine wave oscillates between those +/- envelope limits. This makes its autocorrelation sequence also to ...

2

Note that what you're trying to do is equalization, as opposed to channel estimation. If we ignore the noise for the moment then, ideally, the concatenation of the equalizer and the channel (modeled as a linear system) should be a pure delay: $$(h\star w)[n]\stackrel{!}{=}\delta[n-K]\tag{1}$$ where $h[n]$ is the channel impulse response, $w[n]$ are the ...

1

The standard normalized step-size LMS algorithm computes the current step-size according to $$\mu = \frac{c}{s_k^T \cdot s_k}$$ where $c$ is a suitable scale factor and $s_k^T \cdot s_k$ is the total energy of the current tap inputs. The algorithm aims to adjust step size according to input signal power; when input has large power then decrease the step-...

1

Yes you can predict future temperatures, based on past temperatures, using adaptive filtering as well. The optimal linear estimation of a WSS random process from its past values, which is known as linear prediction, is given by a Wiener filter structure where the desired response to be estimated is the current sample of the input (current temparature in ...

1

I have the first edition of Behrouz Farhang-Boroujeny's Adaptive Filters book. I found it useful and it was definitely more practical in terms of implementing adaptive filters than other textbooks like those from Haykin and Sayed, primarily because of the included Matlab code. However, like any topic in the area of adaptive filtering, I would use it with a ...

1

To do system identification using a driving function, it is necessary that the driving function $x[n]$ be broadbanded, meaning that the driving function has a Fourier Transform of non-zero value over a broad range of frequencies. The reason for this is that division by zero is a problem. Think of System Identification in terms of this most basic method: ...

1

To answer (1) the adaptive equalizer without a training sequence (blind equalization) can be used based on the decisions of the received sequence. This specifically is called a "decision directed equalizer". Of course it can not work in very low SNR conditions, where a training sequence would be required. A typical approach is to have the training sequence ...

1

For fair comparison of one algorithm to another, the value of step size does not need to be same. You can adjust the step sizes of both algorithm so that the mean-squared-error learning curves base floor gets same and in this way you will be able to differentiate the performance of algorithm. For base floor I mean the value at which the mean squared error ...

1

my guess is $$y[t]=\alpha y[t-1] + (1-\alpha) x[t]$$ This is a very common form in array processing. The $y$ and $x$ can be scalers, vectors, or matrices. It is sometimes called a leaky integrator, a forgetting average. I haven’t seen it called an alpha filter but there or only a few things that can be specified with a single parameter. The other ...

1

My guess is that it is an alpha filter, as defined in the context of alpha/beta filtering.

1

There is no hard rule regarding convergence speed of the block-LMS vs sample-by-sample LMS. It really depends on the scenario. On top of my head is the following two (stationary) scenarios: A very noisy scenario, where a single estimate of the gradient is not enough. In this case, the block-LMS has better gradient estimates and would usually result in ...

1

With a blind equalization technique like the constant modulus algorithm (which is often implemented using a least mean squares (LMS) filter as you indicated), you aren't directly estimating the channel impulse response itself. Instead, the signal model is like this: The receiver observes the following signal: $$x[k] = s[k] * c[k] + n[k]$$ where: $s[k]$ ...

1

Your formula/method for computing MSE between estimated and known inputs looks good to me. For symbol error rate you could use something like a Hamming distance which simply counts the number of times the estimated symbol is different from the actual symbol. In your 10 symbol example the error rate is 4/10 i.e 40%. In Matlab you can do something like: ...

1

I agree with AlexTP's idea of simply plotting the instantaneous error between the model's output and the system's output over time. The exact implementation is a bit tricky though, because you are not only estimating the impulse response (using LMS) but also doing an "inverse" filter operation to estimate the unknown inputs. One way is to use a standard ...

1

You're right. LMS equalizer uses a known input to minimize the error. For communication purposes, this is either provided by a training sequence, or in a decision directed mode, the detector decisions are fed back as known data. The delta function is also correct. Suppose that the channel impulse response is $h(t)$ and frequency response $H(f)$. Then the ...

1

Prior to upsampling, you have a white signal meaning every single frequency in the Nyquist bandwidth from $-\pi$ to $\pi$ is represented. This is a requirement to obtain an impulse (because the Fourier transform of an impulse is a white spectrum). The reason that white signals are often used as inputs for purposes of system identification is that they excite ...

1

Variable step size LMS is generally used to improve speed of convergence or decrease steady state error. Leaky adaptation is used to combat problems like potential instability of the filter in a finite-precision implementation. It is closely related to L2 norm regularization technique and results in continuous down scaling of filter coefficients (hence ...

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