You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found while closing #163. REQ-DEM-052's criterion reads:
LMS mode converges on the same channel to within 1 dB of the least-squares EVM.
It holds on any measurement whose EVM is set by something real, and it cannot hold on a noiseless
synthetic. Implemented the first way; the measurements and the alternative are here.
Measured, on a 6 dB tilt, 42 taps, everything else at its default
Signal
Least squares
LMS (µ = 0.01)
Apart
noiseless
0.0174 %rms
0.0328 %rms
5.53 dB
40 dB SNR
0.5336
0.5878
0.84 dB
30 dB SNR
1.6852
1.8505
0.81 dB
25 dB SNR
2.9970
3.2874
0.80 dB
20 dB SNR
5.3289
5.8363
0.79 dB
At 25 dB with µ = 0.003 it is 0.24 dB, and normalised LMS at µ̃ = 0.1 is 0.21 dB.
Why the noiseless case is different in kind
On a noiseless signal the least-squares solution reaches the chain's own residual intersymbol
interference — the truncation and Tukey tapering of its measurement and reference filters, which #433 measured at 0.0287 %rms uncorrected and 0.0164 corrected. That residual is a linear channel like
any other and the exact solution removes it. A gradient method does not, and the reason is
structural rather than a matter of patience:
The correction lives in the directions the input has least energy in, and a gradient method
converges in each direction at a rate proportional to that energy.
Measured: µ = 0.003 over 1000 sweeps — half a million updates — still left 4.83 dB. Neither a
smaller step nor twenty times the sweeps closes it.
Started from the least-squares solution instead of a unit impulse, LMS stays at 0.0186 %rms
(0.6 dB). So it is not that the fixed point is wrong; it is that a finite budget cannot travel
the last part of the distance from a cold start.
A leak was tried, on the theory that the unit impulse's content in the unconstrained directions
was the problem. It is not: every leak from 0.3 to 30 e-foldings made the result worse
(0.026 %rms at best, 3.7 at worst), which says those directions carry signal the solution needs
rather than noise it should shed.
So the LMS mode lands, to a few per cent, on the unequalised clean-signal floor: it removes the
injected impairment and leaves the chain's own. That is exactly what a fractionally-spaced gradient
equaliser does, and it is why REQ-DEM-052 makes the one-shot solution the default in the first
place.
Implemented
EqualiserAlgorithmTests.LmsConvergesToWithinADecibelOfTheLeastSquaresSolution makes the comparison
at 25 dB SNR — an ordinary measurement — and at a step size whose own excess error leaves room
inside the decibel. The test's comment carries the table above and the misadjustment relationship µ·L·Pₓ/2, so the number is explained rather than merely asserted, and the help page states it for
users choosing a step size.
The alternative
Read the clause as applying to the noiseless synthetic too. Then it cannot be met by an LMS mode at
all, and one of these would have to give:
Drop the "within 1 dB" figure to something a gradient method can reach cold — 6 dB would do
it, and would be a fair description of what an incremental equaliser is for.
Seed the gradient modes from the least-squares solution. They then start 0.6 dB away and stay
there. It also makes the mode a fiction: the answer would be the exact one, refined by a method
that cannot improve it.
To adopt any of them: the comparison lives in one test method and one constant
(EqualiserAlgorithmTests.SignalToNoiseDb); nothing in GradientEqualiser depends on the reading.
Found while closing #163.
REQ-DEM-052's criterion reads:It holds on any measurement whose EVM is set by something real, and it cannot hold on a noiseless
synthetic. Implemented the first way; the measurements and the alternative are here.
Measured, on a 6 dB tilt, 42 taps, everything else at its default
At 25 dB with µ = 0.003 it is 0.24 dB, and normalised LMS at µ̃ = 0.1 is 0.21 dB.
Why the noiseless case is different in kind
On a noiseless signal the least-squares solution reaches the chain's own residual intersymbol
interference — the truncation and Tukey tapering of its measurement and reference filters, which
#433 measured at 0.0287 %rms uncorrected and 0.0164 corrected. That residual is a linear channel like
any other and the exact solution removes it. A gradient method does not, and the reason is
structural rather than a matter of patience:
converges in each direction at a rate proportional to that energy.
smaller step nor twenty times the sweeps closes it.
(0.6 dB). So it is not that the fixed point is wrong; it is that a finite budget cannot travel
the last part of the distance from a cold start.
was the problem. It is not: every leak from 0.3 to 30 e-foldings made the result worse
(0.026 %rms at best, 3.7 at worst), which says those directions carry signal the solution needs
rather than noise it should shed.
So the LMS mode lands, to a few per cent, on the unequalised clean-signal floor: it removes the
injected impairment and leaves the chain's own. That is exactly what a fractionally-spaced gradient
equaliser does, and it is why
REQ-DEM-052makes the one-shot solution the default in the firstplace.
Implemented
EqualiserAlgorithmTests.LmsConvergesToWithinADecibelOfTheLeastSquaresSolutionmakes the comparisonat 25 dB SNR — an ordinary measurement — and at a step size whose own excess error leaves room
inside the decibel. The test's comment carries the table above and the misadjustment relationship
µ·L·Pₓ/2, so the number is explained rather than merely asserted, and the help page states it forusers choosing a step size.
The alternative
Read the clause as applying to the noiseless synthetic too. Then it cannot be met by an LMS mode at
all, and one of these would have to give:
it, and would be a fair description of what an incremental equaliser is for.
there. It also makes the mode a fiction: the answer would be the exact one, refined by a method
that cannot improve it.
the exact solution to find that the gradient one misses. That is REQ-DEM-050 and REQ-DEM-053: two acceptance clauses that cannot both be met as written #433's second alternative and it
is a change to the filter design, not to the equaliser.
To adopt any of them: the comparison lives in one test method and one constant
(
EqualiserAlgorithmTests.SignalToNoiseDb); nothing inGradientEqualiserdepends on the reading.