# 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 ...

4

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 ...

3

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 ...

3

as the others have said you are best looking at practical examples of uses of LMS. once examples is noise cancellation. think of a system where we have two microphones, one mic is the source which contains speech and background noise. the other microphone will just contain noise. in this system we try to eliminate the noise from the speech. so the inputs to ...

3

An adaptive FIR filter is a FIR filter, that uses some kind of an adaptive algorithm to change the filter weights and reach a desired state. In case of using an LMS algorithm the general update equation is the following: $$\mathbf{w}(n+1) = \mathbf{w}(n) + \mu\cdot e(n) \cdot \mathbf{x}(n),$$ where $\mathbf{w}(n)$, $e(n)$ and $\mathbf{x}(n)$ are ...

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

Let's see: Maximum Likelihood (ML) - A Method to estimate parameters (MLE - Maximum Likelihood Estimator). Given a PDF of samples, what is the parameter value which maximizes the probability of the observations. Least Squares (LS) - Least Squares model for estimating parameters. Sometime coincides with the MLE (Usually in the case of Gaussian Noise). ...

2

here is a short and little (a.k.a. "consise but terse") derivation of the LMS and normalized LMS adaptive filter. once the LMS has converged on a reasonably stable equilibrium for $h_n[k]$, they won't move around that much. then it doesn't matter so much how long the block is. and the only difference between block-LMS and the plain-old ordinary LMS is the ...

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

As applesoup says in the comments the term $$\mathbf{u}(kL+i)e(kL+i)$$ is a vector, not a single value (some integer). Why do you think it's a scalar? To answer your question: no, it's incorrect to state that all the algorithm does is add a constant to all elements of $\hat{w}(k)$. As per this slide from here the block LMS error is still a scalar. It's ...

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 ...

2

As mentioned in the comment, I modified the code given here and was able to adapt the LMS filter with error tapering to zero. The only assumption I made is that (since I am not an audio expert and do not know how the channel from speaker to the microphone would look like), I assumed a 10 tap channel with only first 3 non-zero values (multi-path reflection ...

2

In that range it is guaranteed to converge. It doesn't mean it will necesseraly won't converge for higher values. If you want deeper understanding you can read about the step size in Convex Optimization context where there the step size related to the Lipschitz Constant of the function (Which matches the eigen value for Quadratic functions). If you share ...

1

From my experience EVM is defined as $$EVM = \sqrt{\frac{1}{NP_{avg}}\sum_{n=0}^{n=N-1}(|x_n-x^*_n|^2)}\\ EVM_{\%} = EVM \times 100$$ where $x_n$ is the equalized symbol, and $x^*_n$ is the corresponding ideal value of the symbol. $N$ is the number of symbols, and $P_{avg}$ is the average power of equalized constellation. $P_{avg}=\frac{1}{N}\sum_0^{N-1} |... 1 The Error Vector is the Euclidean distance from the actual sample at the optimum timing location in each symbol to the actual symbol location in a reference constellation (as the distance to closest decision boundary, just prior to decision). The measurement metric Error Vector Magnitude (EVM) is computed as an rms quantity over multiple error vectors, where ... 1 I make no claim this is optimal and I also do not think that the overshooting you mention is necessarily incorrect. Nothing can change instantaneously, so you are bound to see some range of frequencies when you transition from one sinusoid to the next. The first idea I had for a least-squares estimate was to use an itegrator on the unwrapped phase. Since ... 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 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 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 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 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 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: ...

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