Hi all,
Digital Communications interests me immensely and in order to achieve
better understanding, I am using MATLAB to implement some of the concepts
Recently, I was studying some of the theoritical concepts of pulse shapin
filters. I implemented several commonly used filters auch as Raised Cosine
Root-Raised Cosine etc. I tested these filters by using them in Quadratur
Amplitude Modulation(QAM) and achieved satisfying outputs at the modulato
and demodulator ends.
However, I recently came across an article mentioning Half-Sine puls
shaping filter used in the Zigbee standard. The standard says that th
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 coefficient
are non-zero for twice the symbol duration and assuming that T represent
the Symbol Duration) to implement the filter. The output at the QA
modulator was good.
However, at the demodulator end, the output had no resemblance to th
message.
From this, I reached the conclusion that there is some problem with th
Matched Filter coefficients that I was using at the demodulator. Th
Matched Filter that I used was the same as the Half-Sine pulse shapin
filter coefficients, since the Half-Sine wave is symmetrical.
My question is : Am I using the correct Matched filter coefficients at th
demodulator? Or, have I misinterpreted the Half-Sine pulse shaping filte
equation?
Sorry guys, for the long explanation of the problem but I thought it woul
be necessary.
"roger.kp" <[email protected]> wrote in message
news:[email protected]..
> 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 can't read this expression for p(t).
Care to repeat it with something better?
>
>"roger.kp" <[email protected]> wrote in message
>news:fbudnVH3F_cRZ4bZRVn-jA@giganews[email protected]..
>> Hi all,
>> Digital Communications interests me immensely and in order to achiev
a
>> better understanding, I am using MATLAB to implement some of th
concepts.
>>
>> Recently, I was studying some of the theoritical concepts of puls
shaping
>> filters. I implemented several commonly used filters auch as Raised
>> Cosine,
>> Root-Raised Cosine etc. I tested these filters by using them i
Quadrature
>> Amplitude Modulation(QAM) and achieved satisfying outputs at th
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 can't read this expression for p(t).
>Care to repeat it with something better?
>
>Fred
>
>
>
>
>"roger.kp" <[email protected]> wrote in message
>news:[email protected]..
>> Hi all,
>> Digital Communications interests me immensely and in order to achiev
a
>> better understanding, I am using MATLAB to implement some of th
concepts.
>>
>> Recently, I was studying some of the theoritical concepts of puls
shaping
>> filters. I implemented several commonly used filters auch as Raised
>> Cosine,
>> Root-Raised Cosine etc. I tested these filters by using them i
Quadrature
>> Amplitude Modulation(QAM) and achieved satisfying outputs at th
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 can't read this expression for p(t).
>Care to repeat it with something better?
>
>Fred
>
>
>
"roger.kp" <[email protected]> wrote in message
news:[email protected] ...
> >
>>"roger.kp" <[email protected]> wrote in message
>>news:[email protected]..
>>> 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 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 Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:[email protected] et...
>
> "roger.kp" <[email protected]> wrote in message
> news:[email protected] ...
>> >
>>>"roger.kp" <[email protected]> wrote in message
>>>news:[email protected]..
>>>> 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 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/1...uly-2003.ppt#9
Thanks for your interest. I looked at the standard and found that th
Half-Sine shape is used alongwith O-QPSK modulation(as you hav
mentioned). I implemented O-QPSK modulation. The signal constellation plo
looks perfectly fine at the modulator output.
My real problem is at the demodulator. I am confounded by the problem o
matched filter coefficients at the receiver. Since the half-Sine puls
shape is symmetrical, naturally the matched filter coefficients would b
the same as that of the Half-Sine pulse shaping filter. But this does no
work.
However, I found an interesting thing. The use of a single impulse at th
matched filter inputs results in perfect demodulation.
This really surprised me. I am unable to figure out why this seems to wor
and the one stated above does not work.
"roger.kp" <[email protected]> wrote in message
news:[email protected] ...
> 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.
By a "single impulse" I mean : the matched filter has a length 1, with
the coeff also being equal to 1. This might seem absurd, but it works.
have no idea how it works with this.
I guess I have to approach this problem from a different angle.
"roger.kp" <[email protected]> wrote in message
news:[email protected]..
> 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:
I don't know how you're trying to demodulate the OQPSK signal, but I
think I know why you're not getting the result you expect.
The OQPSK specified in the 802.15.4 standard uses a half-sine shaping
pulse on each of the quadrature carriers (sin and cos). The symbol
period on each of these carriers is 2T (where T is the chip period). If
we consider demodulating only a single of these quadrature carriers
(e.g. sin), then the waveform is a set of half-sine pulses every 2T
seconds of duration 2T seconds (plus some noise and assuming no
distortion).
To recover the original data signal it is sufficient to use a matched
filter (or equivalently correlating) and then choose as the received
data samples spaced 2T seconds apart and beginning T seconds after the
peak of the input waveform. This can be done for each quadrature
carrier separately. Note also that there is an assumption here of
correct timing in the receiver.
802.15.4 uses this OQPSK modulation to modulate chip sequences of
length 16 (8 on each of the quadrature carriers) and thus by examining
the received chip sequence the original 16-ary signal may be decoded.
This is one simple possibility which I hope is relevant and helps you.