Why do we do upsampling before convolving the impulse response of filter and transmitted signal

Started by chess 5 years ago8 replieslatest reply 5 years ago1913 views


I have seen in various codes for implementing the digital communication systems, people before performing the convolution of matched filter and transmitted signal, they first upsample the transmitted signal. What is  the reason for this ?What will happen if I do not do that ?Is there any equation or mathematical reasoning behind this ?


[ - ]
Reply by SlartibartfastMay 10, 2018

Consider what the frequency domain looks like when the signal is sampled only at the symbol rate, and if the spectrum were shaped what the alias behavior would be.  Pushing the sample rate out by upsampling provides room to shape the spectrum as needed for transmit mask as well as matching.

The same thing can be seen in the time domain.   Shaping the eye pattern can only be done if there are more than one sample per symbol.

There are some good diagrams in this article that might help:

[ - ]
Reply by chessMay 10, 2018

That clear up some confusion. However 1- we usaully upsamle by the filter length, is this to get the symbol time right ? 

Can you please elaborate on the time domain effect? I get the frequency domain effect and alias, also I understand we need more than one sample per symbol, but if the length of filter is fixed L can I upsample the signal by any other value like m that is greater than 1 and smaller than L or some thing that is even greater than L?

[ - ]
Reply by SlartibartfastMay 10, 2018

Not sure what you mean by upsampling by the filter length.  A filter may be N symbols long, but with M samples per symbol the final length of the convolutional filter will be L = MxN.   M and N can vary.

To answer your other question, looking at the time-domain eye diagrams in the previously linked article, you can see that the eye, which is one symbol long, changes shape within a symbol period depending on the shape of the filter.  Clearly obtaining that shape with a time-domain filter requires more than one sample per symbol.  It's pretty much that simple.

[ - ]
Reply by artmezMay 10, 2018

While I have no definitive answer, my guess is that up-sampling is like a high-pass process, and introduces noise. This noise is then smoothed by the subsequent filtering process.

And while we're at it: up-sampling seems to be universally defined as "inserting zeroes", when it really should be defined as inserting the window's average value (i.e. the signal's DC) or bin 0 in an FFT. Otherwise, one introduces time-domain impulses, especially bad if the signal has a large DC offset. Of course, if your real-world process includes capacitively coupled inputs, as most do, then its DC should be small (but most RF amps introduce DC offsets). This also applies to "padding" when trying to extend the frequency resolution of a sample window (esp. prior to an FFT, which is an interpolation process).

[ - ]
Reply by SlartibartfastMay 10, 2018

Inserting anything other than zeros prior to filtering in an interpolation process adds energy and information, and if it's not part of the original signal energy and information it will add distortion to the original signal.

e.g., a baseband signal will exhibit a spike at DC in the frequency domain that wasn't previously there if non-zero constants are used as fill rather than zeros.

The job of a good interpolating filter is to fill in values that are consistent with the energy spectrum and information in the original signal.

[ - ]
Reply by kazMay 10, 2018

I think the question is not right. You can filter a signal without any upsampling.

But for shaping pulses in comms you must upsample by a minimum of 2 since you cannot shape symbols (smooth out corners) with one sample (it is one sample anyway). 

For other cases you may upsample then filter or combine filter + upsampling as filter helps implementation of upsampling and vice versa.

But when you want to only upsample (using zero insertion) you must filter off the copies of spectrum that result from zero insertion.

[ - ]
Reply by napiermMay 10, 2018

Another way to look at it is to ask what is the purpose of a Nyquist filter.  It is used so when the waveform is received it can be processed so that it has minimal inter-symbol interference.  So while the system diagram my show upsampling what really happens is that zeros are inserted between symbols and the result is passed through the filter.  This is usually part of the process to take a base-band signal and transfer it up in frequency (and sampling rate) so that it can be transmitted.

When the received signal is then passed through the matching filter (and sync'ed in time, frequency and phase) it will have "ideal" signal levels at the symbol sampling instant.

Hope this helps,

Mark Napier

[ - ]
Reply by Mannai_MuraliMay 10, 2018

1.For practical digital communication to work we need some excess band width above minimum.This is because we need timing and frequency synchronization to be done which need excess bandwidth.

2.If we use symbol rate sampling we need ideal low pass filer which is sinc in time domain.This is rectangle in frequency which is difficult to implement by

Analog Lowpass Filters.If oversampled the separation between images increases.

This makes the job of Analog low pas filter trivial as sharp transitions are NOT needed.