DSPRelated.com
Forums

Half Sine pulse shaping filter question

Started by roger.kp March 18, 2006
Hi all,
Digital Communications interests me immensely and in order to achieve a
better understanding, I am using MATLAB to implement some of the concepts.

Recently, I was studying some of the theoritical concepts of pulse shaping
filters. I implemented several commonly used filters auch as Raised Cosine,
Root-Raised Cosine etc. I tested these filters by using them in Quadrature
Amplitude Modulation(QAM) and achieved satisfying outputs at the modulator
and demodulator ends.

However, I recently came across an article mentioning Half-Sine pulse
shaping filter used in the Zigbee standard. The standard says that the
Half-Sine pulse shape is given by,

p(t) = sin( pi / (2*T)) , 0 ≤ t ≤ 2T
p(t) = 0, elsewhere

where T = chip duration.

I used the above equation(which basically implies that filter coefficients
are non-zero for twice the symbol duration and assuming that T represents
the Symbol Duration) to implement the filter. The output at the QAM
modulator was good.
However, at the demodulator end, the output had no resemblance to the
message.

From this, I reached the conclusion that there is some problem with the
Matched Filter coefficients that I was using at the demodulator. The
Matched Filter that I used was the same as the Half-Sine pulse shaping
filter coefficients, since the Half-Sine wave is symmetrical.

My question is : Am I using the correct Matched filter coefficients at the
demodulator? Or, have I misinterpreted the Half-Sine pulse shaping filter
equation?

Sorry guys, for the long explanation of the problem but I thought it would
be necessary.

Regards,
Roger


"roger.kp" <arvrvce@yahoo.co.in> wrote in message 
news:fbudnVH3F_cRZ4bZRVn-jA@giganews.com...
> Hi all, > Digital Communications interests me immensely and in order to achieve a > better understanding, I am using MATLAB to implement some of the concepts. > > Recently, I was studying some of the theoritical concepts of pulse shaping > filters. I implemented several commonly used filters auch as Raised > Cosine, > Root-Raised Cosine etc. I tested these filters by using them in Quadrature > Amplitude Modulation(QAM) and achieved satisfying outputs at the modulator > and demodulator ends. > > However, I recently came across an article mentioning Half-Sine pulse > shaping filter used in the Zigbee standard. The standard says that the > Half-Sine pulse shape is given by, > > p(t) = sin( pi / (2*T)) , 0 &#8804; t &#8804; 2T > p(t) = 0, elsewhere > > where T = chip duration.
I can't read this expression for p(t). Care to repeat it with something better? Fred
> >"roger.kp" <arvrvce@yahoo.co.in> wrote in message >news:fbudnVH3F_cRZ4bZRVn-jA@giganews.com... >> Hi all, >> Digital Communications interests me immensely and in order to achieve
a
>> better understanding, I am using MATLAB to implement some of the
concepts.
>> >> Recently, I was studying some of the theoritical concepts of pulse
shaping
>> filters. I implemented several commonly used filters auch as Raised >> Cosine, >> Root-Raised Cosine etc. I tested these filters by using them in
Quadrature
>> Amplitude Modulation(QAM) and achieved satisfying outputs at the
modulator
>> and demodulator ends. >> >> However, I recently came across an article mentioning Half-Sine pulse >> shaping filter used in the Zigbee standard. The standard says that the >> Half-Sine pulse shape is given by, >> >> p(t) = sin( pi / (2*T)) , 0 &#8804; t &#8804; 2T >> p(t) = 0, elsewhere >> >> where T = chip duration. > >I can't read this expression for p(t). >Care to repeat it with something better? > >Fred > > >
I am sorry for that. The expression for p(t) is, p(t) = sin( pi/ (2*T)) , 0 < t < 2T p(t) = 0 , elsewhere This is the expression given in the IEEE 802.15.4 (Zigbee) standard.
> >"roger.kp" <arvrvce@yahoo.co.in> wrote in message >news:fbudnVH3F_cRZ4bZRVn-jA@giganews.com... >> Hi all, >> Digital Communications interests me immensely and in order to achieve
a
>> better understanding, I am using MATLAB to implement some of the
concepts.
>> >> Recently, I was studying some of the theoritical concepts of pulse
shaping
>> filters. I implemented several commonly used filters auch as Raised >> Cosine, >> Root-Raised Cosine etc. I tested these filters by using them in
Quadrature
>> Amplitude Modulation(QAM) and achieved satisfying outputs at the
modulator
>> and demodulator ends. >> >> However, I recently came across an article mentioning Half-Sine pulse >> shaping filter used in the Zigbee standard. The standard says that the >> Half-Sine pulse shape is given by, >> >> p(t) = sin( pi / (2*T)) , 0 &#8804; t &#8804; 2T >> p(t) = 0, elsewhere >> >> where T = chip duration. > >I can't read this expression for p(t). >Care to repeat it with something better? > >Fred > > >
I am sorry for that. The expression is, p(t) = sin( (pi*t) / 2T) , 0 < t < 2T p(t) = 0 , elsewhere where T = chip duration This is the expression specified by the IEEE 802.15.4(Zigbee) standard.
"roger.kp" <arvrvce@yahoo.co.in> wrote in message 
news:SrudnUHHCtI9qYHZnZ2dnUVZ_uudnZ2d@giganews.com...
> > >>"roger.kp" <arvrvce@yahoo.co.in> wrote in message >>news:fbudnVH3F_cRZ4bZRVn-jA@giganews.com... >>> Hi all, >>> Digital Communications interests me immensely and in order to achieve > a >>> better understanding, I am using MATLAB to implement some of the > concepts. >>> >>> Recently, I was studying some of the theoritical concepts of pulse > shaping >>> filters. I implemented several commonly used filters auch as Raised >>> Cosine, >>> Root-Raised Cosine etc. I tested these filters by using them in > Quadrature >>> Amplitude Modulation(QAM) and achieved satisfying outputs at the > modulator >>> and demodulator ends. >>> >>> However, I recently came across an article mentioning Half-Sine pulse >>> shaping filter used in the Zigbee standard. The standard says that the >>> Half-Sine pulse shape is given by, >>> >>> p(t) = sin( pi / (2*T)) , 0 &#8804; t &#8804; 2T >>> p(t) = 0, elsewhere >>> >>> where T = chip duration. >> >>I can't read this expression for p(t). >>Care to repeat it with something better? >> >>Fred >> >> >> > > I am sorry for that. > > The expression is, > > p(t) = sin( (pi*t) / 2T) , 0 < t < 2T > p(t) = 0 , elsewhere > > where T = chip duration > > This is the expression specified by the IEEE 802.15.4(Zigbee) standard.
Well, I haven't read the spec yet but: the sharp leading and trailing edges of a half sine pulse are aligned with the symbol times and use up a lot of bandwidth OR you won't have exactly zero values at those points (it won't really be a half sine pulse shape). That would increase the intersymbol interference. What you really want (in that sense at least) is a pulse shape that has robust zeros at the symbol interval and I don't see how a half sine pulse can do that in a real system. But then, I'm not a QAM comm's expert.... Hmmmmm... I wonder if the half sine shape might be in the frequency domain? That would give you a windowed sinx/x in time and makes a lot more sense to me. Fred
"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message 
news:7s2dnYhBE_U75YDZnZ2dnUVZ_tWdnZ2d@centurytel.net...
> > "roger.kp" <arvrvce@yahoo.co.in> wrote in message > news:SrudnUHHCtI9qYHZnZ2dnUVZ_uudnZ2d@giganews.com... >> > >>>"roger.kp" <arvrvce@yahoo.co.in> wrote in message >>>news:fbudnVH3F_cRZ4bZRVn-jA@giganews.com... >>>> Hi all, >>>> Digital Communications interests me immensely and in order to achieve >> a >>>> better understanding, I am using MATLAB to implement some of the >> concepts. >>>> >>>> Recently, I was studying some of the theoritical concepts of pulse >> shaping >>>> filters. I implemented several commonly used filters auch as Raised >>>> Cosine, >>>> Root-Raised Cosine etc. I tested these filters by using them in >> Quadrature >>>> Amplitude Modulation(QAM) and achieved satisfying outputs at the >> modulator >>>> and demodulator ends. >>>> >>>> However, I recently came across an article mentioning Half-Sine pulse >>>> shaping filter used in the Zigbee standard. The standard says that the >>>> Half-Sine pulse shape is given by, >>>> >>>> p(t) = sin( pi / (2*T)) , 0 &#8804; t &#8804; 2T >>>> p(t) = 0, elsewhere >>>> >>>> where T = chip duration. >>> >>>I can't read this expression for p(t). >>>Care to repeat it with something better? >>> >>>Fred >>> >>> >>> >> >> I am sorry for that. >> >> The expression is, >> >> p(t) = sin( (pi*t) / 2T) , 0 < t < 2T >> p(t) = 0 , elsewhere >> >> where T = chip duration >> >> This is the expression specified by the IEEE 802.15.4(Zigbee) standard. > > Well, I haven't read the spec yet but: the sharp leading and trailing > edges of a half sine pulse are aligned with the symbol times and use up a > lot of bandwidth OR you won't have exactly zero values at those points (it > won't really be a half sine pulse shape). That would increase the > intersymbol interference. What you really want (in that sense at least) > is a pulse shape that has robust zeros at the symbol interval and I don't > see how a half sine pulse can do that in a real system. But then, I'm not > a QAM comm's expert.... > > Hmmmmm... I wonder if the half sine shape might be in the frequency > domain? That would give you a windowed sinx/x in time and makes a lot more > sense to me. > > Fred
Ah! It's OQPSK modulation so that there is much more continuous phase in the signal. So, that's what you have to implement. I presume that the half-sine "pulse" is the phase change profile? I'm unclear on that. Does this help? http://grouper.ieee.org/groups/802/15/pub/2003/15-03-0326-00-0040-802-15-4-discussion-report-july-2003.ppt#9 Fred
Thanks for your interest. I looked at the standard and found that the
Half-Sine shape is used alongwith O-QPSK modulation(as you have
mentioned). I implemented O-QPSK modulation. The signal constellation plot
looks perfectly fine at the modulator output.

My real problem is at the demodulator. I am confounded by the problem of
matched filter coefficients at the receiver. Since the half-Sine pulse
shape is symmetrical, naturally the matched filter coefficients would be
the same as that of the Half-Sine pulse shaping filter. But this does not
work.

However, I found an interesting thing. The use of a single impulse at the
matched filter inputs results in perfect demodulation. :)
This really surprised me. I am unable to figure out why this seems to work
and the one stated above does not work.

"roger.kp" <arvrvce@yahoo.co.in> wrote in message 
news:WaKdnbeRM7jYGYDZnZ2dnUVZ_sadnZ2d@giganews.com...
> Thanks for your interest. I looked at the standard and found that the > Half-Sine shape is used alongwith O-QPSK modulation(as you have > mentioned). I implemented O-QPSK modulation. The signal constellation plot > looks perfectly fine at the modulator output. > > My real problem is at the demodulator. I am confounded by the problem of > matched filter coefficients at the receiver. Since the half-Sine pulse > shape is symmetrical, naturally the matched filter coefficients would be > the same as that of the Half-Sine pulse shaping filter. But this does not > work. > > However, I found an interesting thing. The use of a single impulse at the > matched filter inputs results in perfect demodulation. :) > This really surprised me. I am unable to figure out why this seems to work > and the one stated above does not work.
I have no ideas. By "a single impulse" do you mean "a single pulse"? Is the matched filter and sample rate matched to the pulse time scale? I found a diagram showing that these half sine pulses can be widely separated to get UWB - are therefore quite narrow. Fred
By a "single impulse" I mean :  the matched filter has a length 1, withe
the coeff also being equal to 1. This might seem absurd, but it works. I
have no idea how it works with this.

I guess I have to approach this problem from a different angle.

Thanks for your responses, Mr Fred.

Regards,
Roger 
"roger.kp" <arvrvce@yahoo.co.in> wrote in message 
news:nOudnejUL6f-BYDZnZ2dnUVZ_v2dnZ2d@giganews.com...
> By a "single impulse" I mean : the matched filter has a length 1, withe > the coeff also being equal to 1. This might seem absurd, but it works. I > have no idea how it works with this. > > I guess I have to approach this problem from a different angle. > > Thanks for your responses, Mr Fred. > > Regards, > Roger
Well, if you don't have any noise in the simulation then you don't need a filter and the one you describe is a NO OP kind of filter isn't it? So, with no noise and no matched filter at the receiver the output is the input and that's generally close to what you'd like to get and can't get with a matched filter. (Well, FM slides are compressed in time using a matched filter so that's a counter example to what I just said). But with tone pulses you can't do better than an output that looks like the pulse. When noise is introduced you need to filter. When you filter, you spread out the energy in time. When you match filter you spread out the energy in time by a factor of 2. You may want to think of the matched filter in the frequency domain. What it does in simple terms is to match the spectral weighting of the waveform. Where the waveform has zero energy, the filter passes zero energy. Where the waveform has maximum energy, the filter passes maximum energy, and then everything in between is weighted according the the signal spectrum. That's intuitively pleasing I should think. Now, with UWB waveforms the spectrum is quite broad. So, what really is the point of a matched filter? Probably not a matched filter for a single pulse because the spectrum is pretty flat. Then perhaps a matched filter for a sequence of pulses - like the pulse repetition frequency or some such thing. Normally I would think that a UWB signal would be coded so that one is looking for a binary sequence that matches the code. That's why you see diagrams that look like a RAKE receiver: input signal chip delay 1 * code sgn 1 > chip delay 2 * code sgn 2 > chip delay 3 * code sgn 3 > . sum > output . . chip delay N * code sgn N > where code sgn 1 is +/-1 for each chip and each chip may be a phase state in the signal. The point is to add up a bunch of pulses that happen at different times - according to a preset polarity sequence. It's this structure that's the "matched filter" and not a receiver filter block (necessarily) at the input. It could look like a FIR filter from above: input delay delay delay delay delay delay delay delay delay coeff: 1 -1 1 1 -1 1 -1 -1 1 -1 sum: output where the delays are the chip delays and the coefficients are the coded signal polarities. The chip with the greatest delay in the signal structure is subjected to the least delay in the filter in order to line up the chips in time. Fred