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.
GFSK matched filter design
Started by ●November 18, 2010
Reply by ●November 18, 20102010-11-18
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
Reply by ●November 18, 20102010-11-18
On 11/18/2010 10:14 AM, rbb wrote:> In GFSKDo 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
Reply by ●November 18, 20102010-11-18
>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.
Reply by ●November 18, 20102010-11-18
On Nov 18, 1:51�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. �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.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
Reply by ●November 18, 20102010-11-18
> >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.
Reply by ●November 18, 20102010-11-18
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
Reply by ●November 18, 20102010-11-18
> >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.
Reply by ●November 18, 20102010-11-18
�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
Reply by ●November 18, 20102010-11-18
On Nov 18, 6:32�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. �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.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.






