Reply by John October 21, 20132013-10-21
On Thursday, September 12, 2013 3:00:29 PM UTC-4, Randy Yates wrote:
> julius <> writes: > > > [...] > > > If the ISI is mild, that is, there is no in-band null (example: > > > RC-type response), then you can simply use a linear equalizer or > > > decision-feedback if it is long. > > > > Here is the shape and spectrum of the pulse at 4800 baud: > > > > http://www.digitalsignallabs.com/pulse-shape-4800.svg > > http://www.digitalsignallabs.com/pulse-spectrum-4800.svg > > > > One thing I don't quite "get" is what exactly constitutes the > > "bandwidth"? Is it to the first null (4800 Hz), or does filtering past > > the first null screw things up? It seems from the BER I'm getting that > > the answer is the latter. > > -- > > Randy Yates > > Digital Signal Labs > > http://www.digitalsignallabs.com
This seems like a good application for a Viterbi Equalizer. It is easier than you might think because the ISI is in the transmitter and hence there is no estimation required. Here is a good article on it: How I learned to love the trellis, Sklar, B. Signal Processing Magazine, IEEE Publication Date: May 2003 Volume: 20, Issue: 3 On page(s): 87- 102 ISSN: 1053-5888 INSPEC Accession Number: 7623271 Digital Object Identifier: 10.1109/MSP.2003.1203212 Posted online: 2003-06-11 15:49:40.0
Reply by julius October 21, 20132013-10-21
On Thursday, September 12, 2013 3:00:29 PM UTC-4, Randy Yates wrote:
> julius <juliusk@gmail.com> writes: > > > [...] > > > If the ISI is mild, that is, there is no in-band null (example: > > > RC-type response), then you can simply use a linear equalizer or > > > decision-feedback if it is long. > > > > Here is the shape and spectrum of the pulse at 4800 baud: > > > > http://www.digitalsignallabs.com/pulse-shape-4800.svg > > http://www.digitalsignallabs.com/pulse-spectrum-4800.svg > > > > One thing I don't quite "get" is what exactly constitutes the > > "bandwidth"? Is it to the first null (4800 Hz), or does filtering past > > the first null screw things up? It seems from the BER I'm getting that > > the answer is the latter. >
Sorry for the delay in responding. If you are running this thing at 4800 baud then you have pretty bad Signal-to-ISI, and the worst part is the precursor energy (prior to peak energy in impulse response). Looking at the time domain response, I bet a linear equalizer will do poorly no matter what, you'll need a DFE or MLSE. I think there is a good chance a DFE will work. Is that your actual channel or is that synthetic? If I were you I'd image the channel myself, that symmetric shape is suspicious. Most things in life are causal, unless it is digitally generated. I often get symmetric, non-causal time domain responses from EM modelers and EE designers, which aren't accurate at all. They usually mistakenly take frequency domain samples and without actual phase modeling, take the inverse DFT assuming zero phase. This gives what looks like a symmetric time response, but it is nothing realistic.
Reply by commsignal September 12, 20132013-09-12
>julius <juliusk@gmail.com> writes: >> [...] >> If the ISI is mild, that is, there is no in-band null (example: >> RC-type response), then you can simply use a linear equalizer or >> decision-feedback if it is long. > >Here is the shape and spectrum of the pulse at 4800 baud: > > http://www.digitalsignallabs.com/pulse-shape-4800.svg > http://www.digitalsignallabs.com/pulse-spectrum-4800.svg > >One thing I don't quite "get" is what exactly constitutes the >"bandwidth"? Is it to the first null (4800 Hz), or does filtering past >the first null screw things up? It seems from the BER I'm getting that >the answer is the latter. >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com >
Ideally, the bandwidth is half your symbol rate and then the rolloff of the pulse shape in addition. In the figure, there is equal ISI contribution from the next and previous 1st symbols (+- 0.0002), but none from 2nd onwards. If this pulse was designed as a square root Nyquist, then the same pulse at Rx will compensate for everything, but it seems that this is not the case. The ISI seems to be bad from the shape, and linear equalizer will not probably suffice. ML sequence estimation can be affordable here depending on the tx modulation scheme. The number of states is M^L (where M is the bits per symbol, while L is the channel length). If you are using 4ary modulation scheme, you will have 16 states, as your channel length is 3-1. If it can'e be done, then try decision feedback equalizer. _____________________________ Posted through www.DSPRelated.com
Reply by Randy Yates September 12, 20132013-09-12
julius <juliusk@gmail.com> writes:
> [...] > If the ISI is mild, that is, there is no in-band null (example: > RC-type response), then you can simply use a linear equalizer or > decision-feedback if it is long.
Here is the shape and spectrum of the pulse at 4800 baud: http://www.digitalsignallabs.com/pulse-shape-4800.svg http://www.digitalsignallabs.com/pulse-spectrum-4800.svg One thing I don't quite "get" is what exactly constitutes the "bandwidth"? Is it to the first null (4800 Hz), or does filtering past the first null screw things up? It seems from the BER I'm getting that the answer is the latter. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Reply by Randy Yates September 12, 20132013-09-12
Hey Julius,

julius <juliusk@gmail.com> writes:

> On Saturday, September 7, 2013 5:42:12 PM UTC-4, Randy Yates wrote: >> Hi Folks, >> >> I am working on a system that, incredibly, has a known bad TX filter >> that introduces ISI at the high bit rates. >
> As others have pointed out, you should first try to quantify exactly > how bad this ISI is, and how long it is. Is it possible to "image" it > using a test signal?
I know it precisely - it is defined in the specification.
>> I know some type of inverse filter can be used to improve ISI, but I'm >> not sure which type to use: one in which the composite response is a >> Nyquist filter, or one in which the composite response is the >> (near-)ideal filter. > > What you are suggesting is called the "Zero-forcing" equalizer, > basically an inverse filter. As others have said, this can be bad in > low-to-mid SNR and also if there is a null in your channel. > >> I believe this type of distortion can also be improvied by a maximum >> likelihood sequence estimator, e.g., a viterbi decoder. However, I don't >> know how to go from a known impulse response to the state transition >> probabilities. > > This is the optimal solution but in many cases not necessary. > > If the ISI is mild, that is, there is no in-band null (example: > RC-type response), then you can simply use a linear equalizer or > decision-feedback if it is long.
I assume the "zero-forcing equalizer" is the "linear equalizer" you're referring to here, right? If so, then what happened to the "bad in the low-to-mid SNR" problem?
> It sounds to me that you are not tweaking the modulation format, so > this is an exercise in making a receiver that can put the system into > an acceptable operating regime.
That is correct.
> So rather than start with the optimal but complicated solution, I'd > try something simple.
Well..., I guess it depends on how important performance is. If it's very important, then I'd say it makes more sense to endure the pain of development and implement the optimal solution; then you're done. Versus doing two designs and throwing away the first.
> It sounds that you have measured the ISI and that it is fixed since it > is due to transmitter snafu, so your problem is already 6-9 dB easier > than if ISI weren't fixed.
Yes, you are right. Thanks for your input. By the way, great to hear from you again on comp.dsp. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Reply by julius September 12, 20132013-09-12
On Saturday, September 7, 2013 5:42:12 PM UTC-4, Randy Yates wrote:
> Hi Folks, > > I am working on a system that, incredibly, has a known bad TX filter > that introduces ISI at the high bit rates.
As others have pointed out, you should first try to quantify exactly how bad this ISI is, and how long it is. Is it possible to "image" it using a test signal?
> I know some type of inverse filter can be used to improve ISI, but I'm > not sure which type to use: one in which the composite response is a > Nyquist filter, or one in which the composite response is the > (near-)ideal filter.
What you are suggesting is called the "Zero-forcing" equalizer, basically an inverse filter. As others have said, this can be bad in low-to-mid SNR and also if there is a null in your channel.
> I believe this type of distortion can also be improvied by a maximum > likelihood sequence estimator, e.g., a viterbi decoder. However, I don't > know how to go from a known impulse response to the state transition > probabilities.
This is the optimal solution but in many cases not necessary. If the ISI is mild, that is, there is no in-band null (example: RC-type response), then you can simply use a linear equalizer or decision-feedback if it is long. It sounds to me that you are not tweaking the modulation format, so this is an exercise in making a receiver that can put the system into an acceptable operating regime. So rather than start with the optimal but complicated solution, I'd try something simple. It sounds that you have measured the ISI and that it is fixed since it is due to transmitter snafu, so your problem is already 6-9 dB easier than if ISI weren't fixed.
Reply by commsignal September 8, 20132013-09-08
>Hi Folks, > >I am working on a system that, incredibly, has a known bad TX filter >that introduces ISI at the high bit rates. > >I know some type of inverse filter can be used to improve ISI, but I'm >not sure which type to use: one in which the composite response is a >Nyquist filter, or one in which the composite response is the >(near-)ideal filter. > >I believe this type of distortion can also be improvied by a maximum >likelihood sequence estimator, e.g., a viterbi decoder. However, I don't >know how to go from a known impulse response to the state transition >probabilities. > >Any guidance would be much appreciated. >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com >
The most important parameter here is the 'channel length'. How far does the Tx filter introduce ISI in terms of number of symbols? Only then a proper Rx equalizer can be chosen. _____________________________ Posted through www.DSPRelated.com
Reply by mnentwig September 8, 20132013-09-08
Hi,

If you have a measured frequency response (S-parameters), you could try my
FIR design script, here:

http://www.dsprelated.com/showcode/210.php
See Fig 12, demo("equalize")
The S-parameters go via 

H = interp1(yourFreqVec, yourComplexS21Vec, f_Hz)

into getExampleLaplaceDomainFilter.m.

Relax the weight at the passband edges a little, there is no point in
enforcing full ripple specs up to the edge (cutting some corners here.
Specifying good passband targets is not trivial, depends also on what
you're transmitting). 

Typically, you'd approximate the nominal pulse shaping response from the
radio standard, or your system design, but I can guarantee that the whole
job will involve quite a bit of "cooking" if there are adjacent channel
requirements etc. 

Note that for group delay equalization, the optimal delay of an asymmetric
FIR equalizer is unknown and needs to be found by iteration, unless the
filter size doesn't matter. 	 

_____________________________		
Posted through www.DSPRelated.com
Reply by September 7, 20132013-09-07
On Saturday, September 7, 2013 2:42:12 PM UTC-7, Randy Yates wrote:
> Hi Folks, > I am working on a system that, incredibly, has a known bad TX filter > that introduces ISI at the high bit rates. > > I know some type of inverse filter can be used to improve ISI, but I'm > not sure which type to use: one in which the composite response is a > Nyquist filter, or one in which the composite response is the > (near-)ideal filter. >
Instead of an inverse filter which might cause noise amplification, I'd start with an equalizer which takes noise into consideration. First try a linear adaptive filter and see if that's good enough. You can always add a decision feedback section to get better results.
> I believe this type of distortion can also be improvied by a maximum > likelihood sequence estimator, e.g., a viterbi decoder. However, I don't > know how to go from a known impulse response to the state transition > probabilities.
I think it's easier to treat the TX filter as a channel coder; if you have (or can get) a discrete impulse response, you can use it as your convolutional encoder which defines how you move through the trellis and make a decoder for it at the receiver. This encoder is fully deterministic, the only probabilistic component is the distribution of the input data to the encoder.
Reply by Randy Yates September 7, 20132013-09-07
Hi Folks,

I am working on a system that, incredibly, has a known bad TX filter
that introduces ISI at the high bit rates.

I know some type of inverse filter can be used to improve ISI, but I'm
not sure which type to use: one in which the composite response is a
Nyquist filter, or one in which the composite response is the
(near-)ideal filter. 

I believe this type of distortion can also be improvied by a maximum
likelihood sequence estimator, e.g., a viterbi decoder. However, I don't
know how to go from a known impulse response to the state transition
probabilities.

Any guidance would be much appreciated.
-- 
Randy Yates
Digital Signal Labs
http://www.digitalsignallabs.com