DSPRelated.com
Forums

GFSK matched filter design

Started by rbb November 18, 2010
In GFSK we use a Gaussian filter to shape the baseband transmit data to
reduce the occupied signal bandwidth.  As we all know and love; this
introduces ISI.

As I understand it the receiver matched filter is the reversed transmit
filter, which in this case is again a Gaussian filter.  

However this matched filter doesn't "undo" the ISI, correct?  If the
Gaussian filter is the only thing that introduces ISI (i.e. no multi-path),
then I would think that an optimal demodulator, would be able to somehow
“correct” or “undo” the ISI or at least minimize the ISI effects. 
Since the receiver knows the characteristics of the transmit shaping
filter.

Intuitively, I would think the data recovery portion of the receiver, would
need to examine the N-1, N, and N+1 samples to correctly "undo" the ISI and
optimally decode bit N.  Where we have some “high” number of samples
per symbol.

What am I missing?
I'd welcome any literature that may detail this.


rbb wrote:

> In GFSK we use a Gaussian filter to shape the baseband transmit data to > reduce the occupied signal bandwidth. As we all know and love; this > introduces ISI. > > As I understand it the receiver matched filter is the reversed transmit > filter, which in this case is again a Gaussian filter. > > However this matched filter doesn't "undo" the ISI, correct? If the > Gaussian filter is the only thing that introduces ISI (i.e. no multi-path), > then I would think that an optimal demodulator, would be able to somehow > ���correct��� or ���undo��� the ISI or at least minimize the ISI effects. > Since the receiver knows the characteristics of the transmit shaping > filter. > > Intuitively, I would think the data recovery portion of the receiver, would > need to examine the N-1, N, and N+1 samples to correctly "undo" the ISI and > optimally decode bit N. Where we have some ���high��� number of samples > per symbol. > > What am I missing? > I'd welcome any literature that may detail this.
I am sorry but you are missing everything. Your assumtions are so far off that there is nothing to discuss. Book to read: J. Proakis "Digital Communications" Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On 11/18/2010 10:14 AM, rbb wrote:
> In GFSK
Do you mean GFSK in general, or GMSK specifically?
> we use a Gaussian filter to shape the baseband transmit data to > reduce the occupied signal bandwidth. As we all know and love; this > introduces ISI. > > As I understand it the receiver matched filter is the reversed transmit > filter, which in this case is again a Gaussian filter.
Well, not really. The Gaussian filter is applied to the data _before_ the carrier is frequency modulated. The process is nonlinear, so if you're being a stickler the concept of a "matched filter" doesn't really apply. People do their best, though, and I assume they generally call it matched.
> However this matched filter doesn't "undo" the ISI, correct?
Correct.
> If the > Gaussian filter is the only thing that introduces ISI (i.e. no multi-path), > then I would think that an optimal demodulator, would be able to somehow > “correct” or “undo” the ISI or at least minimize the ISI effects. > Since the receiver knows the characteristics of the transmit shaping > filter.
You can demodulate, and operate on the demodulator output before you slice things down to bit decisions.
> Intuitively, I would think the data recovery portion of the receiver, would > need to examine the N-1, N, and N+1 samples to correctly "undo" the ISI and > optimally decode bit N. Where we have some “high” number of samples > per symbol.
Doing it with the continuous demodulator output at the bit times is pretty close to good enough. In theory you need to go back and forward an infinite number of bits, but in practice just the preceding and following bits are on the brink of "diminishing returns" territory.
> What am I missing? > I'd welcome any literature that may detail this.
I kind of figured this out as I went along. There's books out there on GMSK demodulation. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
>On 11/18/2010 10:14 AM, rbb wrote: >> In GFSK > >Do you mean GFSK in general, or GMSK specifically? >
No, I wasn't asking for GMSK specifically, rather for the general case of GFSK, where the modulation index could be greater than 0.5.
> >Well, not really. > >The Gaussian filter is applied to the data _before_ the carrier is >frequency modulated. The process is nonlinear, so if you're being a >stickler the concept of a "matched filter" doesn't really apply. People >do their best, though, and I assume they generally call it matched. >
Understood. I didn't phrase thay very well.
> >You can demodulate, and operate on the demodulator output before you >slice things down to bit decisions. >
Sure. This would all be functioning on the output of the demodulator or on "sliced" data, but some how be built into the clock and data recovery loop.
> >Doing it with the continuous demodulator output at the bit times is >pretty close to good enough. In theory you need to go back and forward >an infinite number of bits, but in practice just the preceding and >following bits are on the brink of "diminishing returns" territory. >
That's what I was "whiteboarding" that I could look at N-1, N, & N+1 bits to optimatally decoding bit N.
On Nov 18, 1:51&#4294967295;pm, "rbb" <Rory.Buchanan@n_o_s_p_a_m.onsemi.com>
wrote:
> >On 11/18/2010 10:14 AM, rbb wrote: > >> In GFSK > > >Do you mean GFSK in general, or GMSK specifically? > > No, I wasn't asking for GMSK specifically, rather for the general case of > GFSK, where the modulation index could be greater than 0.5. > > > > >Well, not really. > > >The Gaussian filter is applied to the data _before_ the carrier is > >frequency modulated. &#4294967295;The process is nonlinear, so if you're being a > >stickler the concept of a "matched filter" doesn't really apply. &#4294967295;People > >do their best, though, and I assume they generally call it matched. > > Understood. &#4294967295;I didn't phrase thay very well. > > > > >You can demodulate, and operate on the demodulator output before you > >slice things down to bit decisions. > > Sure. &#4294967295;This would all be functioning on the output of the demodulator or on > "sliced" data, but some how be built into the clock and data recovery > loop. > > > > >Doing it with the continuous demodulator output at the bit times is > >pretty close to good enough. &#4294967295;In theory you need to go back and forward > >an infinite number of bits, but in practice just the preceding and > >following bits are on the brink of "diminishing returns" territory. > > That's what I was "whiteboarding" that I could look at N-1, N, & N+1 bits > to optimatally decoding bit N.
Model the ISI as a finite state machine and use a Viterbi algorithm to decode sequences. This is sometimes called "Viterbi Equalization". There was a nice tutorial in IEEE SP Magazine back in 2003. It's called "How I Learned to Love the Trellis" by Sklar. John John
> >Model the ISI as a finite state machine and use a Viterbi algorithm to >decode sequences. This is sometimes called "Viterbi Equalization". >There was a nice tutorial in IEEE SP Magazine back in 2003. It's >called "How I Learned to Love the Trellis" by Sklar. > >John > >John >
Thanks for the article. I'll give it a read.
rbb <Rory.Buchanan@n_o_s_p_a_m.onsemi.com> wrote:

> (attribution lost) wrote,
>>Model the ISI as a finite state machine and use a Viterbi algorithm to >>decode sequences. This is sometimes called "Viterbi Equalization". >>There was a nice tutorial in IEEE SP Magazine back in 2003. It's >>called "How I Learned to Love the Trellis" by Sklar.
>Thanks for the article. I'll give it a read.
You will also hear this called a "Forney Equalizer". Steve
> >Model the ISI as a finite state machine and use a Viterbi algorithm to >decode sequences. This is sometimes called "Viterbi Equalization". >There was a nice tutorial in IEEE SP Magazine back in 2003. It's >called "How I Learned to Love the Trellis" by Sklar. > >John > >John >
I read that article. It's a good one. I'm familiar with Viterbi decoding, I've built one before, but that seems like overkill. I'm choosing to ignore any channel induced ISI, and I am only concerning myself with the ISI created by the transmitter, for which I know the characteristics of ahead of time.
 &#4294967295;I'm choosing to
> ignore any channel induced ISI, and I am only concerning myself with the > ISI created by the transmitter, for which I know the characteristics of > ahead of time.
Google "multisymbol demodulator" Mark
On Nov 18, 6:32&#4294967295;pm, "rbb" <Rory.Buchanan@n_o_s_p_a_m.onsemi.com>
wrote:
> >Model the ISI as a finite state machine and use a Viterbi algorithm to > >decode sequences. This is sometimes called "Viterbi Equalization". > >There was a nice tutorial in IEEE SP Magazine back in 2003. It's > >called "How I Learned to Love the Trellis" by Sklar. > > >John > > >John > > I read that article. &#4294967295;It's a good one. &#4294967295;I'm familiar with Viterbi decoding, > I've built one before, but that seems like overkill. &#4294967295;I'm choosing to > ignore any channel induced ISI, and I am only concerning myself with the > ISI created by the transmitter, for which I know the characteristics of > ahead of time.
The Viterbi EQ is easy in that case, because the FSM is fixed. If you don't want a Viterbi EQ then options include a multisymbol matched filterbank or a Decision Feedback EQ.