Hi! Do you have a idea how to design a root-raised cosine filter band-pass? I didn’t find a design tool on the web. There are several pages for low-pass variant but not for band-pass type in a OpAmp design.
Is this something secret?

The process applies only at lowpass. Which is to say only to the symbol shape which is presumed to be a lowpass signal.
It has two roles, one is pulse shaping and the other is filtering so you can see that it is doing both functions, one in time domain and the other in frequency domain.

It is a slower process when done in time domain (lowpass) and this is how it is done.
Usually upconverting is the last process you want to do before transmitting and you do not want to do much signal processing after that point other than frequency domain filtering.

Mathematically of course you can apply the RRC any where, it is just a multiplication by a shaping function at a particular symbol rate.
You can try that in Matlab. Take a square pulse, multiply it by a carrier and the multiply it by the shaping function. Do the FFT, the baseband shape is shifted to a carrier frequency, thats all.

But in hardware a passband RRC that would mean that we would have apply it now in the frequency domain and that is not nearly as practical as doing it in time domain.

Thank you Charan! Please drop me a PM. I will then send you an example of a time-domain RRCF band-pass. So you can see what I mean and try to simulate.

I sent you the answer PM but your email provider confuses to pass the mail because of SPAM consideration. Even another sending email address shows the same effect.

What did you mean with got email? The content of the mentioned web-link? That is a plain-email format every local email reader can read. Anyway, I added it as a text-file on this link:

In the first link, I only see a anti-aliasing filter. I dont see a RRC filter. In the second link, there is just the usual description of a RRC filter. RRC is a low pass or a baseband filter. As far as know, there is no way to make it into a bandpass filter. Of course you can always frequency shift a baseband signal but I am sure that is not you wanted.

Thanks Charan!
Do you know of a formula to mathematical simulate a RRC filter usable in time-domain in SPICE? So I can fit a filter per hand to the curve.
regards –
Henry

I am new to DSP and I was trying to understand ISI and reading your document on ISI

Can you kindly clarify the following?

The frequency domain representation ( for low pass) as indicated in the document, has values between -8 to +8. What to the values on x axis ( -8 to +8 ) represent, if it is frequency, what does a negative value indicate?

My understanding of the diagram is that, it indicates the amplitudes for various frequency components of the square pulse. Am I right? If so, what does the maximum amplitude at frequency 0 indicate?

The numbers represent the complex exponential and by proxy frequency. Yes, I know that sounds even more confusing than what you asked. But please read the Fourier Transform tutorials carefully and you will begin to understand the issue of negative frequency. Its a hard thing to explain in one line. I can do it flippantly and say that frequency is actually a vector and has a direction just like velocity, which is a scalar as well a vector with a direction. But that is only part of the story.

Thanks for your reply. I am new to this domain. I am trying to read fundamentals. So I understand that to get to the depths, it will take sometime.

I am trying to understand the receiver side of the communication. In particular I want to understand concepts behind frequency Offset , Phase Offset estimation and correction and Timing error and implement the same . Can you give me some good pointers to these ?

I am little confused over few things. Can you please clarify them:
1.Do we require pulse shaping in passband transmission (as analog symbols (sinsoids) will be transmitted over channel instead of pulses).
2.Will ISI occur in a case we are transmitting at higher rates in bandlimited channel but not a multipath. Here if we are doing passband transmission then what will the possible cause for ISI.

Hi Charan,
Can you please elaborate on your first point. My question is whether passband transmission require pulse shaping or not. I got this doubt because once we modulate(passband) we are sending high frequency sinusoid that represent the symbol and there is no question of transmitting pulses. Please clarify.
Thanks,
S Srikanth

We never transmit pulses (except in some cases). It is a shaped signal, not a sinusoid. It is a sine wave times the shape. That is all what passband means.
Yes, most definitely passband has pulse shaping. However keep in mind pulse-shaping is just a nomenclature. There are NO pulses anywhere.
Charan Langton

So transmitting pulse times sinewave will result in ISI, where transmitting shaped signal multiplied by sinewave will not result in ISI. Is this statement right.

No pulses are transmitted ( except for UWB) in a usual system. We only transit symbols. Each sysmbol in a sinusoid looks like a piece of the sing wave with at a particular stating phase. This is multiplied by a “shape”. This is called the process of pulse shaping. BUT there is no actual pulse.

This is cal called baseband.

Now if we multiply this shape by a higher frequency carrier, then it becomes a passband signal because it has now “passed” into a higher frequency region, its frequency from half in the negative region has now passed to all positive and has doubled.

If you have Matlab, it is best to try this or do it in Excel. A picture is worth a thousand words.

No pulses are transmitted ( except for UWB) in a usual system. We only transit symbols. Each sysmbol in a sinusoid that looks like a piece of the sine wave with at a particular starting phase. This is multiplied by a “shape”. This is called the process of pulse shaping. BUT there is no actual pulse.

This is called baseband.

Now if we multiply this shape by a higher frequency carrier, then it becomes a passband signal because it has now “passed” into a higher frequency region, its frequency from half in the negative region has now passed to all positive and has doubled.

If you have Matlab, it is best to try this or do it in Excel. A picture is worth a thousand words.

In case anyone is looking for the practical side of ISI, I’ve came across this great tutorial which discusses the implementation of pulse shaping to reduce the bandwidth and avoid ISI in modems of amateur radio satellites: http://www.sss-mag.com/G3RUH/index1.html

I looked at the article and it does not contradict what I said. The pulse shaping acts to reduce the bandwidth of the baseband signal, hence it can also act like a filter.
It is always done before modulation.

In the figure 11 :page 8 , you have mentioned that the required low pass bandwidth is one-half of symbol rate.
So in the figure, for s1= symbol time = 0.5+0.5 =1 second , therefore symbol rate is also 1 symbol/sec.

But as per the author Bernard Sklar ” Digital communications .Fundamentals and applications ” 2nd edition page 137 : Figure 3.16,

when the Total symbol time of Sinc pulse is 2T ( see .Fig=3.16 b),
then the single sided Bandwidth( the ideal Nyquist filter ) is = 1/2T = 1 /( 2*0.5) = 1 Hz.see fig 3.16 a

So here the Bandwidth = 1hz and symbol rate is also 1 symbol per second..

How did you get 0.5 as the single sided bandwidth for S1 ( the red rectangle ) in your Figure-11

Hi Charan,
From what I understand from different texts, I think I agree with arun’s comment above.
In fig 11. The bandwidths shown for sinc pulses, must all be doubled. That is, the single sided bandwidths of the red, green and blue curves must be 1, 0.5 and 0.25 respectively. Can you please check and clarify.
Thanks.

Thank you for the tutorial.
I am trying to use root raised cosine filter at the receiver for offline data processing. I captured downconverted signal which has 2.5 GHz baseband data using a digital oscilloscope. My question is on the signal recovery and equalization. I wrote a program in Matlab when i try to plot constellation diagram for QPSK i get a slanted straight line. I used the formula given on your tutorial to calculate the filter rolloff value which is 0.7. Could you kindly advise how to perform signal equalization and recovery?
Thank you very much!

A slanted line for the constellation tells me that you are way off on your point of bit recovery. The I or the Q channel is off by a full half symbol in time. Thats because both I and Q are being mapped with same phase. First fix that.
Charan

You just add a slight time shift to the I or the Q channel relative to the other. Or you can add a much smaller copy of your signal (say -10 dB), time shifted by a fraction of the sample, to the the main signal. These are two ideas for adding an artificial form of ISI. They will both add jitter which is a form of ISI.
Charan

I have been following your tutorials for the last five years…and they are really helpful. Thanks

thanks a lot for providing ISI notes .I will be thankful to u if u provide gram schmidt orthonormalization notes .

Hi! Do you have a idea how to design a root-raised cosine filter band-pass? I didn’t find a design tool on the web. There are several pages for low-pass variant but not for band-pass type in a OpAmp design.

Is this something secret?

Thank you!

The process applies only at lowpass. Which is to say only to the symbol shape which is presumed to be a lowpass signal.

It has two roles, one is pulse shaping and the other is filtering so you can see that it is doing both functions, one in time domain and the other in frequency domain.

It is a slower process when done in time domain (lowpass) and this is how it is done.

Usually upconverting is the last process you want to do before transmitting and you do not want to do much signal processing after that point other than frequency domain filtering.

Mathematically of course you can apply the RRC any where, it is just a multiplication by a shaping function at a particular symbol rate.

You can try that in Matlab. Take a square pulse, multiply it by a carrier and the multiply it by the shaping function. Do the FFT, the baseband shape is shifted to a carrier frequency, thats all.

But in hardware a passband RRC that would mean that we would have apply it now in the frequency domain and that is not nearly as practical as doing it in time domain.

Charan Langton

Thank you Charan! Please drop me a PM. I will then send you an example of a time-domain RRCF band-pass. So you can see what I mean and try to simulate.

Hi Charan!

I sent you the answer PM but your email provider confuses to pass the mail because of SPAM consideration. Even another sending email address shows the same effect.

You can read the PM here including attached files:

http://ehydra.dyndns.info/name/chla/

And please unlock my email adress.

Thanks!

Hello Charan –

Did you read the reply? I sent comcast an unblock message.

If you don’t like to email with me just say it. I like to be informed.

regards –

Henry

Hi Henry, I did get an email from you but what you sent I can not read.

Charan

Hi Charan –

What did you mean with got email? The content of the mentioned web-link? That is a plain-email format every local email reader can read. Anyway, I added it as a text-file on this link:

Thanks!

What is the link, can you post it here, please.

Hi Charan –

Here is the link and it is now in text-format. Thx. -H.

http://ehydra.dyndns.info/name/chla/20130808-Re_Hi%20Henry-201701576.txt

In the first link, I only see a anti-aliasing filter. I dont see a RRC filter. In the second link, there is just the usual description of a RRC filter. RRC is a low pass or a baseband filter. As far as know, there is no way to make it into a bandpass filter. Of course you can always frequency shift a baseband signal but I am sure that is not you wanted.

Charan

Thanks Charan!

Do you know of a formula to mathematical simulate a RRC filter usable in time-domain in SPICE? So I can fit a filter per hand to the curve.

regards –

Henry

Hi

I am new to DSP and I was trying to understand ISI and reading your document on ISI

Can you kindly clarify the following?

The frequency domain representation ( for low pass) as indicated in the document, has values between -8 to +8. What to the values on x axis ( -8 to +8 ) represent, if it is frequency, what does a negative value indicate?

My understanding of the diagram is that, it indicates the amplitudes for various frequency components of the square pulse. Am I right? If so, what does the maximum amplitude at frequency 0 indicate?

Can you kindly explain?

Regards

Kalpa

Hi Kalpa,

The numbers represent the complex exponential and by proxy frequency. Yes, I know that sounds even more confusing than what you asked. But please read the Fourier Transform tutorials carefully and you will begin to understand the issue of negative frequency. Its a hard thing to explain in one line. I can do it flippantly and say that frequency is actually a vector and has a direction just like velocity, which is a scalar as well a vector with a direction. But that is only part of the story.

Charan Langton

Hi Charan

Thanks for your reply. I am new to this domain. I am trying to read fundamentals. So I understand that to get to the depths, it will take sometime.

I am trying to understand the receiver side of the communication. In particular I want to understand concepts behind frequency Offset , Phase Offset estimation and correction and Timing error and implement the same . Can you give me some good pointers to these ?

Regards

Kalpa

I am little confused over few things. Can you please clarify them:

1.Do we require pulse shaping in passband transmission (as analog symbols (sinsoids) will be transmitted over channel instead of pulses).

2.Will ISI occur in a case we are transmitting at higher rates in bandlimited channel but not a multipath. Here if we are doing passband transmission then what will the possible cause for ISI.

Thanks,

S Srikanth

1. pulse shaping occurs only at baseband, before modulation.

2. ISI can and does occur in all types of channels, AWGN, bandwidth limited, filtered, non-linear, multipath etc.

Hi Charan,

Can you please elaborate on your first point. My question is whether passband transmission require pulse shaping or not. I got this doubt because once we modulate(passband) we are sending high frequency sinusoid that represent the symbol and there is no question of transmitting pulses. Please clarify.

Thanks,

S Srikanth

We never transmit pulses (except in some cases). It is a shaped signal, not a sinusoid. It is a sine wave times the shape. That is all what passband means.

Yes, most definitely passband has pulse shaping. However keep in mind pulse-shaping is just a nomenclature. There are NO pulses anywhere.

Charan Langton

So transmitting pulse times sinewave will result in ISI, where transmitting shaped signal multiplied by sinewave will not result in ISI. Is this statement right.

Thanks

S Srikanth

No pulses are transmitted ( except for UWB) in a usual system. We only transit symbols. Each sysmbol in a sinusoid looks like a piece of the sing wave with at a particular stating phase. This is multiplied by a “shape”. This is called the process of pulse shaping. BUT there is no actual pulse.

This is cal called baseband.

Now if we multiply this shape by a higher frequency carrier, then it becomes a passband signal because it has now “passed” into a higher frequency region, its frequency from half in the negative region has now passed to all positive and has doubled.

If you have Matlab, it is best to try this or do it in Excel. A picture is worth a thousand words.

Charan Langton

No pulses are transmitted ( except for UWB) in a usual system. We only transit symbols. Each sysmbol in a sinusoid that looks like a piece of the sine wave with at a particular starting phase. This is multiplied by a “shape”. This is called the process of pulse shaping. BUT there is no actual pulse.

This is called baseband.

Now if we multiply this shape by a higher frequency carrier, then it becomes a passband signal because it has now “passed” into a higher frequency region, its frequency from half in the negative region has now passed to all positive and has doubled.

If you have Matlab, it is best to try this or do it in Excel. A picture is worth a thousand words.

Charan Langton

Your service is a glowing candle from which i get my light called knowledge.

You should have been a poet! – Charan

Thanks.

In case anyone is looking for the practical side of ISI, I’ve came across this great tutorial which discusses the implementation of pulse shaping to reduce the bandwidth and avoid ISI in modems of amateur radio satellites:

http://www.sss-mag.com/G3RUH/index1.html

Idmond

1. pulse shaping occurs only at baseband, before modulation.

I think you are wrong. If you have time, please look at one article from ni white papers. The link is below

http://www.ni.com/white-paper/3876/en/

I looked at the article and it does not contradict what I said. The pulse shaping acts to reduce the bandwidth of the baseband signal, hence it can also act like a filter.

It is always done before modulation.

Charan Langton

Hi charan,

In the figure 11 :page 8 , you have mentioned that the required low pass bandwidth is one-half of symbol rate.

So in the figure, for s1= symbol time = 0.5+0.5 =1 second , therefore symbol rate is also 1 symbol/sec.

But as per the author Bernard Sklar ” Digital communications .Fundamentals and applications ” 2nd edition page 137 : Figure 3.16,

when the Total symbol time of Sinc pulse is 2T ( see .Fig=3.16 b),

then the single sided Bandwidth( the ideal Nyquist filter ) is = 1/2T = 1 /( 2*0.5) = 1 Hz.see fig 3.16 a

So here the Bandwidth = 1hz and symbol rate is also 1 symbol per second..

How did you get 0.5 as the single sided bandwidth for S1 ( the red rectangle ) in your Figure-11

Am I missing some thing here.please correct.

Thanks

Arun

In Fig-10, I think the labels need to be swapped for correctness.

Thank you for the lucid tutorial!

Which chapter are you referring to.

Hi Charan,

From what I understand from different texts, I think I agree with arun’s comment above.

In fig 11. The bandwidths shown for sinc pulses, must all be doubled. That is, the single sided bandwidths of the red, green and blue curves must be 1, 0.5 and 0.25 respectively. Can you please check and clarify.

Thanks.

Yes, you are right, all those numbers in the lower figure 11, should be double.

Thanks for pointing it out.

Hi Charan

Can you share your Matlab code for this tutorial

I did some of these graphs in Synopys Coware SPW program and not Matlab. I no longer have access to the program or the files.

Charan Langton

Hi Charan

Thank you for the tutorial.

I am trying to use root raised cosine filter at the receiver for offline data processing. I captured downconverted signal which has 2.5 GHz baseband data using a digital oscilloscope. My question is on the signal recovery and equalization. I wrote a program in Matlab when i try to plot constellation diagram for QPSK i get a slanted straight line. I used the formula given on your tutorial to calculate the filter rolloff value which is 0.7. Could you kindly advise how to perform signal equalization and recovery?

Thank you very much!

A slanted line for the constellation tells me that you are way off on your point of bit recovery. The I or the Q channel is off by a full half symbol in time. Thats because both I and Q are being mapped with same phase. First fix that.

Charan

Can anyone help me as to how i can add ISI to my signal in MATLAB?

You just add a slight time shift to the I or the Q channel relative to the other. Or you can add a much smaller copy of your signal (say -10 dB), time shifted by a fraction of the sample, to the the main signal. These are two ideas for adding an artificial form of ISI. They will both add jitter which is a form of ISI.

Charan