Hi again,
I am working on a QPSK modulator and demodulator. Without pulse-
shaping everything was fine and I was able to demodulate the
transmitted data However the spec says I have to use pulse shaping so
I need someone to have a look at the screenshots and indicate whether
they look correct or not.
This first attachment shows the I and Q data streams, passing them
through a root raised cosine filter. Now does the output of the RRC
filters look correct. I am not sure. Should the pulses out of the RRC
be smoother?
http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
This next link is what I am getting at the demodulator. The top three
traces are the I channel data
1...The actual data being sent from the modulator
2...The received I channel data after being mixed with the recovered
carrier (Note the inversion..is this correct)
3...The output from the RRC filter on the receiver I-channel
(Again...does not look to be correct)
and similarly the bottom three are for the Q-channel
http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
I have spent a lot of time at this and I'm getting nowhere. If the
receiver RRC outputs are garbage, then I can't recover the clock. At
the moment, the PLL is looking at the RRC outputs and saying,,,What is
this...I can't lock to that !! ! any help out there folks.
Regards
Bob
|
|
0
|
|
|
|
Reply
|
stenasc (63)
|
2/16/2008 1:01:23 AM |
|
On Fri, 15 Feb 2008 17:01:23 -0800, Bob wrote:
> Hi again,
>
> I am working on a QPSK modulator and demodulator. Without pulse- shaping
> everything was fine and I was able to demodulate the transmitted data
> However the spec says I have to use pulse shaping so I need someone to
> have a look at the screenshots and indicate whether they look correct or
> not.
>
> This first attachment shows the I and Q data streams, passing them
> through a root raised cosine filter. Now does the output of the RRC
> filters look correct. I am not sure. Should the pulses out of the RRC be
> smoother?
>
> http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
It should be smoother. I see ringing at at least two frequencies (one is
about three times faster than your bit rate, the other appears to be a
hair longer than a bit). A root-raised cosine should not ring at all --
if there's no ringing in the prototype, the response to a square wave
shouldn't ring either.
> This next link is what I am getting at the demodulator. The top three
> traces are the I channel data
> 1...The actual data being sent from the modulator 2...The received I
> channel data after being mixed with the recovered carrier (Note the
> inversion..is this correct) 3...The output from the RRC filter on the
> receiver I-channel (Again...does not look to be correct)
>
> and similarly the bottom three are for the Q-channel
>
> http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
>
> I have spent a lot of time at this and I'm getting nowhere. If the
> receiver RRC outputs are garbage, then I can't recover the clock. At the
> moment, the PLL is looking at the RRC outputs and saying,,,What is
> this...I can't lock to that !! ! any help out there folks.
>
> Regards
> Bob
The demodulated traces look right, but the 'lpf' filtered versions
don't. They are smoothed much too much, and they don't appear to have
been run through either a RRC filter (at least not one of the correct
length) nor do they appear to have run through a linear filter that would
have turned your q_data into your q_filter_out trace in your first link.
I suspect that your RRC filter code is mangling your data. I very much
doubt that it is implementing a linear filter and it certainly isn't
implementing an RRC, certainly not one of the right length.
At the moment I don't know what to suggest you look for in your filter
beyond overflow, bit reversals (do you have that one bus specified as
[0..8] instead of [8..0]?), or other plain ol' bugs.
--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com
Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
|
|
0
|
|
|
|
Reply
|
tim177 (4405)
|
2/16/2008 2:57:35 AM
|
|
On Feb 15, 8:01 pm, Bob <sten...@yahoo.com> wrote:
> Hi again,
>
> I am working on a QPSK modulator and demodulator. Without pulse-
> shaping everything was fine and I was able to demodulate the
> transmitted data However the spec says I have to use pulse shaping so
> I need someone to have a look at the screenshots and indicate whether
> they look correct or not.
>
> This first attachment shows the I and Q data streams, passing them
> through a root raised cosine filter. Now does the output of the RRC
> filters look correct. I am not sure. Should the pulses out of the RRC
> be smoother?
>
> http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
>
> This next link is what I am getting at the demodulator. The top three
> traces are the I channel data
> 1...The actual data being sent from the modulator
> 2...The received I channel data after being mixed with the recovered
> carrier (Note the inversion..is this correct)
> 3...The output from the RRC filter on the receiver I-channel
> (Again...does not look to be correct)
>
> and similarly the bottom three are for the Q-channel
>
> http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
>
> I have spent a lot of time at this and I'm getting nowhere. If the
> receiver RRC outputs are garbage, then I can't recover the clock. At
> the moment, the PLL is looking at the RRC outputs and saying,,,What is
> this...I can't lock to that !! ! any help out there folks.
>
> Regards
> Bob
As was pointed out, this could be a bug in the filter implementation
or the taps themselves. Is your RRC designed to be driven by
rectangular inputs? The standard textbook RRC impulse response formula
obviously needs to be driven with impulses.
John
|
|
0
|
|
|
|
Reply
|
sampson164 (493)
|
2/16/2008 12:55:48 PM
|
|
On Feb 16, 7:55=A0am, John <sampson...@gmail.com> wrote:
> On Feb 15, 8:01 pm, Bob <sten...@yahoo.com> wrote:
>
>
>
>
>
> > Hi again,
>
> > I am working on a QPSK modulator and demodulator. Without pulse-
> > shaping everything was fine and I was able to demodulate the
> > transmitted data =A0However the spec says I have to use pulse shaping so=
> > I need someone to have a look at the screenshots and indicate whether
> > they look correct or not.
>
> > This first attachment shows the I and Q data streams, passing them
> > through a root raised cosine filter. Now does the output of the RRC
> > filters look correct. I am not sure. Should the pulses out of the RRC
> > be smoother?
>
> >http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
>
> > This next link is what I am getting at the demodulator. The top three
> > traces are the I channel data
> > 1...The actual data being sent from the modulator
> > 2...The received I channel data after being mixed with the recovered
> > carrier (Note the inversion..is this correct)
> > 3...The output from the RRC filter on the receiver I-channel
> > (Again...does not look to be correct)
>
> > and similarly the bottom three are for the Q-channel
>
> >http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
>
> > I have spent a lot of time at this and I'm getting nowhere. If the
> > receiver RRC outputs are garbage, then I can't recover the clock. At
> > the moment, the PLL is looking at the RRC outputs and saying,,,What is
> > this...I can't lock to that !! ! any help out there folks.
>
> > Regards
> > Bob
>
> As was pointed out, this could be a bug in the filter implementation
> or the taps themselves. Is your RRC designed to be driven by
> rectangular inputs? The standard textbook RRC impulse response formula
> obviously needs to be driven with impulses.
>
> John- Hide quoted text -
>
> - Show quoted text -
I agree with John, you can use sinx/x correction in the filter design
if you are going to drive it with rectangualr inputs instead of
impulses.
I disagree with the comment about ringing, a RRC will ring at near the
sybol rate. The amount of ring will depend upon the ALPHA factor.
The point of Nyquist filtering is that the ringing is such that the
value of the ringing passes through zero at the symbol times to
elimintate ISI.
To the OP, what is the ALPHA factor in your system?
Mark
|
|
0
|
|
|
|
Reply
|
makolber (607)
|
2/16/2008 7:07:43 PM
|
|
[... snip ]
>I agree with John, you can use sinx/x correction in the filter design
i>f you are going to drive it with rectangualr inputs instead of
> impulses.
Mark, can you point to reference or elaborate more on using the sinx/x
correction when using retangular inputs? I've always seen sinx/x
correction before a DAC. Can this be done with other pulse shapes?
Thanks.
|
|
0
|
|
|
|
Reply
|
nospam80 (325)
|
2/16/2008 8:23:37 PM
|
|
On Sat, 16 Feb 2008 15:23:37 -0500, "mx" <nospam@yahoo.com> wrote:
>
>[... snip ]
>
>>I agree with John, you can use sinx/x correction in the filter design
>i>f you are going to drive it with rectangualr inputs instead of
>> impulses.
>
>Mark, can you point to reference or elaborate more on using the sinx/x
>correction when using retangular inputs? I've always seen sinx/x
>correction before a DAC. Can this be done with other pulse shapes?
>
>Thanks.
It's the same thing. The zero-order hold of the DAC creates the
rectangular output shape, which is the same as using rectangular
pulses (which can be thought of as impulses passed through a
zero-order hold). Correcting the sinx/x response of the zero-order
hold for the DAC is the same process as correcting the rectangular
pulse shape of the input to a digital filter.
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.ericjacobsen.org
|
|
0
|
|
|
|
Reply
|
eric.jacobsen (2389)
|
2/16/2008 9:20:14 PM
|
|
On 16 Feb, 19:07, Mark <makol...@yahoo.com> wrote:
> On Feb 16, 7:55=A0am, John <sampson...@gmail.com> wrote:
>
>
>
>
>
> > On Feb 15, 8:01 pm, Bob <sten...@yahoo.com> wrote:
>
> > > Hi again,
>
> > > I am working on a QPSK modulator and demodulator. Without pulse-
> > > shaping everything was fine and I was able to demodulate the
> > > transmitted data =A0However the spec says I have to use pulse shaping =
so
> > > I need someone to have a look at the screenshots and indicate whether
> > > they look correct or not.
>
> > > This first attachment shows the I and Q data streams, passing them
> > > through a root raised cosine filter. Now does the output of the RRC
> > > filters look correct. I am not sure. Should the pulses out of the RRC
> > > be smoother?
>
> > >http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
>
> > > This next link is what I am getting at the demodulator. The top three
> > > traces are the I channel data
> > > 1...The actual data being sent from the modulator
> > > 2...The received I channel data after being mixed with the recovered
> > > carrier (Note the inversion..is this correct)
> > > 3...The output from the RRC filter on the receiver I-channel
> > > (Again...does not look to be correct)
>
> > > and similarly the bottom three are for the Q-channel
>
> > >http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
>
> > > I have spent a lot of time at this and I'm getting nowhere. If the
> > > receiver RRC outputs are garbage, then I can't recover the clock. At
> > > the moment, the PLL is looking at the RRC outputs and saying,,,What is=
> > > this...I can't lock to that !! ! any help out there folks.
>
> > > Regards
> > > Bob
>
> > As was pointed out, this could be a bug in the filter implementation
> > or the taps themselves. Is your RRC designed to be driven by
> > rectangular inputs? The standard textbook RRC impulse response formula
> > obviously needs to be driven with impulses.
>
> > John- Hide quoted text -
>
> > - Show quoted text -
>
> I agree with John, you can use sinx/x correction in the filter design
> if you are going to drive it with rectangualr inputs instead of
> impulses.
>
> I disagree with the comment about ringing, a RRC will ring at near the
> sybol rate. =A0The amount of ring will depend upon the ALPHA factor.
> The point of Nyquist filtering is that the ringing is such that the
> value of the ringing passes through =A0zero at the symbol times to
> elimintate ISI.
>
> To the OP, what is the ALPHA factor in your system?
>
> Mark- Hide quoted text -
>
> - Show quoted text -
Hi Mark,
The alpha or roll-off factor is 0.25 With this in mind, are the RRC
output from the modulator as expected?
Bob
|
|
0
|
|
|
|
Reply
|
stenasc (63)
|
2/16/2008 10:32:42 PM
|
|
"Eric Jacobsen" <eric.jacobsen@ieee.org> wrote in message
news:6oker3tnudsaoripv750b6bianef7m5onq@4ax.com...
> On Sat, 16 Feb 2008 15:23:37 -0500, "mx" <nospam@yahoo.com> wrote:
>
>>
>>[... snip ]
>>
>>>I agree with John, you can use sinx/x correction in the filter design
>>i>f you are going to drive it with rectangualr inputs instead of
>>> impulses.
>>
>>Mark, can you point to reference or elaborate more on using the sinx/x
>>correction when using retangular inputs? I've always seen sinx/x
>>correction before a DAC. Can this be done with other pulse shapes?
>>
>>Thanks.
>
> It's the same thing. The zero-order hold of the DAC creates the
> rectangular output shape, which is the same as using rectangular
> pulses (which can be thought of as impulses passed through a
> zero-order hold). Correcting the sinx/x response of the zero-order
> hold for the DAC is the same process as correcting the rectangular
> pulse shape of the input to a digital filter.
Eric,
Thanks for the info. I've never really thought about in that way since I've
always seen the filter get upsampled data rather then rectangular pulses.
Is there any advantage to filtering the rectangular data vs upsampled data?
|
|
0
|
|
|
|
Reply
|
nospam80 (325)
|
2/17/2008 6:42:16 AM
|
|
On Sun, 17 Feb 2008 01:42:16 -0500, "mx" <nospam@yahoo.com> wrote:
>
>"Eric Jacobsen" <eric.jacobsen@ieee.org> wrote in message
>news:6oker3tnudsaoripv750b6bianef7m5onq@4ax.com...
>> On Sat, 16 Feb 2008 15:23:37 -0500, "mx" <nospam@yahoo.com> wrote:
>>
>>>
>>>[... snip ]
>>>
>>>>I agree with John, you can use sinx/x correction in the filter design
>>>i>f you are going to drive it with rectangualr inputs instead of
>>>> impulses.
>>>
>>>Mark, can you point to reference or elaborate more on using the sinx/x
>>>correction when using retangular inputs? I've always seen sinx/x
>>>correction before a DAC. Can this be done with other pulse shapes?
>>>
>>>Thanks.
>>
>> It's the same thing. The zero-order hold of the DAC creates the
>> rectangular output shape, which is the same as using rectangular
>> pulses (which can be thought of as impulses passed through a
>> zero-order hold). Correcting the sinx/x response of the zero-order
>> hold for the DAC is the same process as correcting the rectangular
>> pulse shape of the input to a digital filter.
>
>Eric,
>
>Thanks for the info. I've never really thought about in that way since I've
>always seen the filter get upsampled data rather then rectangular pulses.
>Is there any advantage to filtering the rectangular data vs upsampled data?
I think the differences are really implementation dependent. There
can be advantages to using rectangular pulses (repetition) in the
architecture, e.g., at clock boundaries if you can't or don't want to
use pulse synchronization. For the most part, though, in my
experience upsampling with filters is often easier and a bit more
flexible.
Depending on the system, though, the differences are probably not
large.
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.ericjacobsen.org
|
|
0
|
|
|
|
Reply
|
eric.jacobsen (2389)
|
2/17/2008 3:56:04 PM
|
|
On Feb 16, 5:32 pm, Bob <sten...@yahoo.com> wrote:
> On 16 Feb, 19:07, Mark <makol...@yahoo.com> wrote:
>
>
>
> > On Feb 16, 7:55 am, John <sampson...@gmail.com> wrote:
>
> > > On Feb 15, 8:01 pm, Bob <sten...@yahoo.com> wrote:
>
> > > > Hi again,
>
> > > > I am working on a QPSK modulator and demodulator. Without pulse-
> > > > shaping everything was fine and I was able to demodulate the
> > > > transmitted data However the spec says I have to use pulse shaping so
> > > > I need someone to have a look at the screenshots and indicate whether
> > > > they look correct or not.
>
> > > > This first attachment shows the I and Q data streams, passing them
> > > > through a root raised cosine filter. Now does the output of the RRC
> > > > filters look correct. I am not sure. Should the pulses out of the RRC
> > > > be smoother?
>
> > > >http://i248.photobucket.com/albums/gg170/stenasc/RRc_pulses.jpg
>
> > > > This next link is what I am getting at the demodulator. The top three
> > > > traces are the I channel data
> > > > 1...The actual data being sent from the modulator
> > > > 2...The received I channel data after being mixed with the recovered
> > > > carrier (Note the inversion..is this correct)
> > > > 3...The output from the RRC filter on the receiver I-channel
> > > > (Again...does not look to be correct)
>
> > > > and similarly the bottom three are for the Q-channel
>
> > > >http://i248.photobucket.com/albums/gg170/stenasc/RX_Data.jpg
>
> > > > I have spent a lot of time at this and I'm getting nowhere. If the
> > > > receiver RRC outputs are garbage, then I can't recover the clock. At
> > > > the moment, the PLL is looking at the RRC outputs and saying,,,What is
> > > > this...I can't lock to that !! ! any help out there folks.
>
> > > > Regards
> > > > Bob
>
> > > As was pointed out, this could be a bug in the filter implementation
> > > or the taps themselves. Is your RRC designed to be driven by
> > > rectangular inputs? The standard textbook RRC impulse response formula
> > > obviously needs to be driven with impulses.
>
> > > John- Hide quoted text -
>
> > > - Show quoted text -
>
> > I agree with John, you can use sinx/x correction in the filter design
> > if you are going to drive it with rectangualr inputs instead of
> > impulses.
>
> > I disagree with the comment about ringing, a RRC will ring at near the
> > sybol rate. The amount of ring will depend upon the ALPHA factor.
> > The point of Nyquist filtering is that the ringing is such that the
> > value of the ringing passes through zero at the symbol times to
> > elimintate ISI.
>
> > To the OP, what is the ALPHA factor in your system?
>
> > Mark- Hide quoted text -
>
> > - Show quoted text -
>
> Hi Mark,
>
> The alpha or roll-off factor is 0.25 With this in mind, are the RRC
> output from the modulator as expected?
>
> Bob
Yes and No. Yes, if you have indeed put them through a RRC filter, No
if you would like to bandlimit and recover the data easily. Questions
for you i think, what is the time span of the RRC filter in relation
to the symbol duration? If you can't answer that, then can you post
the coefficients or at least the code/formula to generate your RRC
filter coefficients? Once you get the RRC fixed, i think your
problems will go away, but at the moment, it doesn't look right.
col
|
|
0
|
|
|
|
Reply
|
cb135 (82)
|
2/18/2008 1:40:24 PM
|
|
|
9 Replies
31 Views
(page loaded in 0.16 seconds)
|