DSPRelated.com
Forums

Pulse Shaping using RRC filter (again)

Started by Bob February 20, 2008
Hi again,

Follup from thread started 16 Feb 08...Thanks to everyone who
responded. I didn't get a chance to respond as I was disecting the
filters to see where the problem lay....(it took me a while, but it
eventually turned out to be the phase of the signal reading out the
data from the filter)

Managed to get a decent output from the RRC filters on the TX side
(see link).

http://i248.photobucket.com/albums/gg170/stenasc/RRC_pulses2.jpg

So now I see something,,,notice the small peak to the left of the
cursor on the second and fourth traces. Should this not be the same as
the peaks beside it?

The next two links are what I see on the I and Q branches on the demod
side. I have zoomed in on one of the pics. The RRC on both branches
are exactly the same as on the I and Q branches of the
modulator.Again, I ask the question...is this what is expected? If so,
how on earth does one try to decode this into something sensible. The
peaks are of varying amplitudes, some are inverted (see just left of
the cursor on the second trace.

http://i248.photobucket.com/albums/gg170/stenasc/RX_Data1.jpg
http://i248.photobucket.com/albums/gg170/stenasc/RRC_pulses2.jpg

I had constructed a PLL for the non-RRC version of the QPSK
demodulator, and I could easily get it to recover timing by hanging it
of the I or Q branches after the LPF following the mixer, but with
this, it drifts all over the place and won't lock. Are there better
methods like early-late, Gardner that would be more suitable for
timing recovery?

I would be grateful if someone could check the filter spec. to see if
the coeffs are correct.

Regards
Bob

Here is the detail of the filter
fsym = 128
Beta = 0.25
Fsamp = 1024

No of Coefficients = 81

-0.0070229023149443
-0.0101567256377105
-0.0106995463613499
-0.0081513284932908
-0.0027454853524680
0.0045119843518652
0.0119844900085342
0.0177165731088947
0.0198637673884311
0.0171561105887407
0.0092932360980081
-0.0028279163188171
-0.0171265141152235
-0.0306220077689427
-0.0399632629130674
-0.0421207092441888
-0.0351145115424028
-0.0186283183298937
0.0056366964189598
0.0339772545072063
0.0611209771631681
0.0810472328405277
0.0880859678347950
0.0781178174747294
0.0496594184521266
0.0046158687756456
-0.0514788123965642
-0.1098366649262891
-0.1594084600837957
-0.1883864949522413
-0.1860109812352232
-0.1444040487260019
-0.0601297025887537
0.0647967923675360
0.2226524648114345
0.4005929560133712
0.5820384315208919
0.7486846121353156
0.8828574301801004
0.9698660159441028
1.0000000000000000
0.9698660159441028
0.8828574301801004
0.7486846121353156
0.5820384315208919
0.4005929560133712
0.2226524648114345
0.0647967923675360
-0.0601297025887537
-0.1444040487260019
-0.1860109812352232
-0.1883864949522413
-0.1594084600837957
-0.1098366649262891
-0.0514788123965642
0.0046158687756456
0.0496594184521266
0.0781178174747294
0.0880859678347950
0.0810472328405277
0.0611209771631681
0.0339772545072063
0.0056366964189598
-0.0186283183298937
-0.0351145115424028
-0.0421207092441888
-0.0399632629130674
-0.0306220077689427
-0.0171265141152235
-0.0028279163188171
0.0092932360980081
0.0171561105887407
0.0198637673884311
0.0177165731088947
0.0119844900085342
0.0045119843518652
-0.0027454853524680
-0.0081513284932908
-0.0106995463613499
-0.0101567256377105
-0.0070229023149443
> > So now I see something,,,notice the small peak to the left of the > cursor on the second and fourth traces. Should this not be the same as > the peaks beside it? >
remember you are looking at the RRC filter..which is only 1/2 the picture pass this output though another RRC filter so that you have the full RC filter and you will see what the receiver sees... the Rx and Tx have matched filters and the NYquist filter is both of them in cascade, you are looking 1/2 way through the cascade.. Mark
On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote:
> > So now I see something,,,notice the small peak to the left of the > > cursor on the second and fourth traces. Should this not be the same as > > the peaks beside it? > > remember you are looking at the RRC filter..which is only 1/2 the > picture > > pass this output though another RRC filter so that you have the full > RC filter and you will see what the receiver sees... > > the Rx and Tx have matched filters and the NYquist filter is both of > them in cascade, > > you are looking 1/2 way through the cascade.. > > Mark
Hi Mark, The pulses you see on the first link is what happens when I pass the data through the RRC on the TX link. On the demod side links 2 and 3 are when the data from the modulator is passed through idential RRCs. So, in effect I already have the RC response at the receiver. But is it correct...that's what I would like to know? Bob
On Feb 20, 4:38&#4294967295;pm, Bob <sten...@yahoo.com> wrote:
> On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote: > > > > > > > > So now I see something,,,notice the small peak to the left of the > > > cursor on the second and fourth traces. Should this not be the same as > > > the peaks beside it? > > > remember you are looking at the RRC filter..which is only 1/2 the > > picture > > > pass this output though another RRC filter so that you have the full > > RC filter and you will see what the receiver sees... > > > the Rx and Tx have matched filters and the NYquist filter is both of > > them in cascade, > > > you are looking 1/2 way through the cascade.. > > > Mark > > Hi Mark, > > The pulses you see on the first link is what happens when I pass the > data through the RRC on the TX link. On the demod side links 2 and 3 > are when the data from the modulator is passed through idential RRCs. > So, in effect I already have the RC response at the receiver. But is > it correct...that's what I would like to know? > > Bob- Hide quoted text - > > - Show quoted text -
Hello Bob, The feeding of pulses into the RRC filter (via convolution) assumes your pulses become Kronecker deltas. Don't feed rectangular pulses, instead feed spikes into the RRC filter. Then after going through two of these in sucession, you will see a nice looking signal. You are currenly getting a bunch of ringing resulting from the rectangular pulse's response comingled (convolved) with the RRC's response. For simplifying the testing, just try an RC filter and look at its output. Two RRCs convolved is an RC. Try it! IHTH, Clay
On 21 Feb, 08:14, c...@claysturner.com wrote:
> On Feb 20, 4:38&#4294967295;pm, Bob <sten...@yahoo.com> wrote: > > > > > > > On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote: > > > > > So now I see something,,,notice the small peak to the left of the > > > > cursor on the second and fourth traces. Should this not be the same as > > > > the peaks beside it? > > > > remember you are looking at the RRC filter..which is only 1/2 the > > > picture > > > > pass this output though another RRC filter so that you have the full > > > RC filter and you will see what the receiver sees... > > > > the Rx and Tx have matched filters and the NYquist filter is both of > > > them in cascade, > > > > you are looking 1/2 way through the cascade.. > > > > Mark > > > Hi Mark, > > > The pulses you see on the first link is what happens when I pass the > > data through the RRC on the TX link. On the demod side links 2 and 3 > > are when the data from the modulator is passed through idential RRCs. > > So, in effect I already have the RC response at the receiver. But is > > it correct...that's what I would like to know? > > > Bob- Hide quoted text - > > > - Show quoted text - > > Hello Bob, > > The feeding of pulses into the RRC filter (via convolution) assumes > your pulses become Kronecker deltas. Don't feed rectangular pulses, > instead feed spikes into the RRC filter. Then after going through two > of these in sucession, you will see a nice looking signal. You are > currenly getting a bunch of ringing resulting from the rectangular > pulse's response comingled (convolved) with the RRC's response. For > simplifying the testing, just try an RC filter and look at its output. > Two RRCs convolved is an RC. Try it! > > IHTH, > > Clay- Hide quoted text - > > - Show quoted text -
Hi Clay, I did already try it. I fed the output of one RRC into another and you're correct...I did get a nice RC pulse output. In the test case, this was done for spikes well seperated. However, for real test data, I don't have much choice as I have strings of 1's and in most cases very few 0's between them. In this case, what are my options? Regards Bob
On Feb 21, 5:35&#4294967295;am, Bob <sten...@yahoo.com> wrote:
> On 21 Feb, 08:14, c...@claysturner.com wrote: > > > > > > > On Feb 20, 4:38&#4294967295;pm, Bob <sten...@yahoo.com> wrote: > > > > On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote: > > > > > > So now I see something,,,notice the small peak to the left of the > > > > > cursor on the second and fourth traces. Should this not be the same as > > > > > the peaks beside it? > > > > > remember you are looking at the RRC filter..which is only 1/2 the > > > > picture > > > > > pass this output though another RRC filter so that you have the full > > > > RC filter and you will see what the receiver sees... > > > > > the Rx and Tx have matched filters and the NYquist filter is both of > > > > them in cascade, > > > > > you are looking 1/2 way through the cascade.. > > > > > Mark > > > > Hi Mark, > > > > The pulses you see on the first link is what happens when I pass the > > > data through the RRC on the TX link. On the demod side links 2 and 3 > > > are when the data from the modulator is passed through idential RRCs. > > > So, in effect I already have the RC response at the receiver. But is > > > it correct...that's what I would like to know? > > > > Bob- Hide quoted text - > > > > - Show quoted text - > > > Hello Bob, > > > The feeding of pulses into the RRC filter (via convolution) assumes > > your pulses become Kronecker deltas. Don't feed rectangular pulses, > > instead feed spikes into the RRC filter. Then after going through two > > of these in sucession, you will see a nice looking signal. You are > > currenly getting a bunch of ringing resulting from the rectangular > > pulse's response comingled (convolved) with the RRC's response. For > > simplifying the testing, just try an RC filter and look at its output. > > Two RRCs convolved is an RC. Try it! > > > IHTH, > > > Clay- Hide quoted text - > > > - Show quoted text - > > Hi Clay, > > I did already try it. I fed the output of one RRC into another and > you're correct...I did get a nice RC pulse output. > In the test case, this was done for spikes well seperated. However, > for real test data, I don't have much choice as I have strings of 1's > and in most cases very few 0's between them. In this case, what are my > options? > > Regards > Bob- Hide quoted text - > > - Show quoted text -
Hello Bob, The overall RC response does two major things for you. First it limits your spectral splattering by effectively making your spectral shape fit inside of a rectangular window[1]. And second you have periodic zeroes so your ISI is kept down to a minimum. Look at your data's eye pattern and make sure the eye is open enough at the decision points to tell your ones from your zeroes. The data under a low S/N is going to look bad. IHTH, Clay [1] The rectangular shape ideally will have vertical sides made up as pieces of cosines. But a practical implementation will have other distortion as you will end up limiting your impulse repsonse's duration to something finite.
On Thu, 21 Feb 2008 02:35:33 -0800 (PST), Bob <stenasc@yahoo.com>
wrote:

>On 21 Feb, 08:14, c...@claysturner.com wrote: >> On Feb 20, 4:38&#4294967295;pm, Bob <sten...@yahoo.com> wrote: >> >> >> >> >> >> > On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote: >> >> > > > So now I see something,,,notice the small peak to the left of the >> > > > cursor on the second and fourth traces. Should this not be the same as >> > > > the peaks beside it? >> >> > > remember you are looking at the RRC filter..which is only 1/2 the >> > > picture >> >> > > pass this output though another RRC filter so that you have the full >> > > RC filter and you will see what the receiver sees... >> >> > > the Rx and Tx have matched filters and the NYquist filter is both of >> > > them in cascade, >> >> > > you are looking 1/2 way through the cascade.. >> >> > > Mark >> >> > Hi Mark, >> >> > The pulses you see on the first link is what happens when I pass the >> > data through the RRC on the TX link. On the demod side links 2 and 3 >> > are when the data from the modulator is passed through idential RRCs. >> > So, in effect I already have the RC response at the receiver. But is >> > it correct...that's what I would like to know? >> >> > Bob- Hide quoted text - >> >> > - Show quoted text - >> >> Hello Bob, >> >> The feeding of pulses into the RRC filter (via convolution) assumes >> your pulses become Kronecker deltas. Don't feed rectangular pulses, >> instead feed spikes into the RRC filter. Then after going through two >> of these in sucession, you will see a nice looking signal. You are >> currenly getting a bunch of ringing resulting from the rectangular >> pulse's response comingled (convolved) with the RRC's response. For >> simplifying the testing, just try an RC filter and look at its output. >> Two RRCs convolved is an RC. Try it! >> >> IHTH, >> >> Clay- Hide quoted text - >> >> - Show quoted text - > >Hi Clay, > >I did already try it. I fed the output of one RRC into another and >you're correct...I did get a nice RC pulse output. >In the test case, this was done for spikes well seperated. However, >for real test data, I don't have much choice as I have strings of 1's >and in most cases very few 0's between them. In this case, what are my >options? > >Regards >Bob
I haven't looked at your latest plots, but I'm a little confused by your last statement. How many samples per symbol are there going into the transmit RRC filter? If the answer is one, then you don't have to worry about the rectangular symbol problem. If the answer is more than one, then only one of those samples per symbol should be non-zero if you want to avoid an additional sinx/x response in the filtering. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org
On 21 Feb, 16:38, Eric Jacobsen <eric.jacob...@ieee.org> wrote:
> On Thu, 21 Feb 2008 02:35:33 -0800 (PST), Bob <sten...@yahoo.com> > wrote: > > > > > > >On 21 Feb, 08:14, c...@claysturner.com wrote: > >> On Feb 20, 4:38&#4294967295;pm, Bob <sten...@yahoo.com> wrote: > > >> > On 20 Feb, 20:41, Mark <makol...@yahoo.com> wrote: > > >> > > > So now I see something,,,notice the small peak to the left of the > >> > > > cursor on the second and fourth traces. Should this not be the same as > >> > > > the peaks beside it? > > >> > > remember you are looking at the RRC filter..which is only 1/2 the > >> > > picture > > >> > > pass this output though another RRC filter so that you have the full > >> > > RC filter and you will see what the receiver sees... > > >> > > the Rx and Tx have matched filters and the NYquist filter is both of > >> > > them in cascade, > > >> > > you are looking 1/2 way through the cascade.. > > >> > > Mark > > >> > Hi Mark, > > >> > The pulses you see on the first link is what happens when I pass the > >> > data through the RRC on the TX link. On the demod side links 2 and 3 > >> > are when the data from the modulator is passed through idential RRCs. > >> > So, in effect I already have the RC response at the receiver. But is > >> > it correct...that's what I would like to know? > > >> > Bob- Hide quoted text - > > >> > - Show quoted text - > > >> Hello Bob, > > >> The feeding of pulses into the RRC filter (via convolution) assumes > >> your pulses become Kronecker deltas. Don't feed rectangular pulses, > >> instead feed spikes into the RRC filter. Then after going through two > >> of these in sucession, you will see a nice looking signal. You are > >> currenly getting a bunch of ringing resulting from the rectangular > >> pulse's response comingled (convolved) with the RRC's response. For > >> simplifying the testing, just try an RC filter and look at its output. > >> Two RRCs convolved is an RC. Try it! > > >> IHTH, > > >> Clay- Hide quoted text - > > >> - Show quoted text - > > >Hi Clay, > > >I did already try it. I fed the output of one RRC into another and > >you're correct...I did get a nice RC pulse output. > >In the test case, this was done for spikes well seperated. However, > >for real test data, I don't have much choice as I have strings of 1's > >and in most cases very few 0's between them. In this case, what are my > >options? > > >Regards > >Bob > > I haven't looked at your latest plots, but I'm a little confused by > your last statement. &#4294967295; How many samples per symbol are there going > into the transmit RRC filter? &#4294967295; If the answer is one, then you don't > have to worry about the rectangular symbol problem. &#4294967295; If the answer is > more than one, then only one of those samples per symbol should be > non-zero if you want to avoid an additional sinx/x response in the > filtering. > > Eric Jacobsen > Minister of Algorithms > Abineau Communicationshttp://www.ericjacobsen.org- Hide quoted text - > > - Show quoted text -
Hi Eric, Hi Eric, One sample per symbol into each RRC filter. Bob
Bob <stenasc@yahoo.com> writes:
> [...] > Hi Eric, > > Hi Eric,
Multipath? -- % Randy Yates % "So now it's getting late, %% Fuquay-Varina, NC % and those who hesitate %%% 919-577-9882 % got no one..." %%%% <yates@ieee.org> % 'Waterfall', *Face The Music*, ELO http://www.digitalsignallabs.com
On Thu, 21 Feb 2008 13:13:11 -0500, Randy Yates <yates@ieee.org>
wrote:

>Bob <stenasc@yahoo.com> writes: >> [...] >> Hi Eric, >> >> Hi Eric, > >Multipath?
lol Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org