# How does MATLAB downsample the output of the linear equalizer in a fractional comm.LinearEqualizer?

조회 수: 12 (최근 30일)
Zachary Fritts 2024년 5월 1일
댓글: Sriram Narayanan 2024년 8월 31일 23:21
The documentation for the comm.LinearEqualizer explains that for fractionally spaced equalizers, where the sample rate of the input to the equalizer is an integer multiple of the symbol rate, the output of the equalizer has one sample per symbol. This seems to indicate that the equalizer is performing some sort of downsampling. How does this work?
If I take the final equalizer tap weights ("weights") and convolve them with the input to the equalizer, which is called "Data":
eq = comm.LinearEqualizer;
[FFEout,~,weights] = step(eq,Data,TrainingSequence);
FIRout = conv(Data,conj(weights),'same');
I would expect the output of the convolution to be equal to an interpolated (upsampled). In other words, "FFEout" should be a downsampled version of "FIRout". However, this is not the case, as can be seen in the below plot; the signal is QPSK modulated, so the exact values for the I and Q channels are either +1 or -1.
The plot shows that the equalizer is working as expected (FFEout lines up nicely with the exact data). However, the fact that convolving the signal with the filter tap weights does not seem to correspond to the output of the equalizer has me confused, since the equalizer is just performing a convolution with optimized tap weights. Does MATLAB do something fancier than simple downsampling to obtain the output symbols from the equalizer?
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
Sriram Narayanan 2024년 8월 31일 23:21
I have the same question. I want to bump this thread.

댓글을 달려면 로그인하십시오.

### 답변 (1개)

Sudarsanan A K 2024년 5월 2일
Hi Zachary,
The difference between MATLAB's "comm.LinearEqualizer" output ("FFEout") and the downsampled output from a direct convolution ("FIRout") on a QPSK signal can be explained by looking at some of the key aspects of how the equalizer operates:
• Adaptive Algorithm: The "comm.LinearEqualizer" utilizes an adaptive algorithm that continuously adjusts the equalizer coefficients based on the received signal and known training symbols. This adaptive process allows the equalizer to adapt to changing channel conditions, resulting in improved equalization performance.
• Fractionally Spaced Equalization: The equalizer operates at a rate higher than the symbol rate, employing fractionally spaced equalization. This involves interpolation and filtering techniques that align with the channel characteristics and the adaptive nature of the equalizer. It ensures accurate symbol recovery and enhances the equalization process.
• Complex Filtering Process: The "comm.LinearEqualizer" incorporates sophisticated filtering operations, including real-time adjustments to the filters. These filters are designed to capture the signal's characteristics more effectively, leading to improved symbol detection and better equalization performance.
I hope this helps!
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
Zachary Fritts 2024년 5월 2일
Hi Sudarsanan A K, thanks for your reply. I understand that the equalizer is adaptive. However, the output of the equalizer should agree with the output of the FIR filter after the training has ceased - at this point the tap wieghts of the equalizer become constant. It is these tap weights that I am using as the tap weights in my FIR filter. My FIR filter has the same number of samples per symbol as the input to the (fractionally spaced) equalizer: both have 4 samples per symbol. A look at the reference you provided should make it clear that the equalizer is essentially an adaptive FIR filter that somehow performs downsampling. (And in case you are wondering, I have turned off the filter mode which continues to adapt the tap weights after training). Because of this, I do not think any of the factors you mentioned in your answer are sufficient to explain the differences between the FIR filter output and the equalizer output.

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Matched Filter and Ambiguity Function에 대해 자세히 알아보기

R2022a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by