What does filtering do to a signal in time domain? Does the signal gets distorted?

Started by amitjonak 2 months ago9 replieslatest reply 2 months ago112 views

Hello everyone!

When considering a transceiver system, if we do a certain filtering operation on the signal, will the BER of the system be affected? My point is, since filtering in frequency domain filters a portion of the spectrum, whereas in time domain it is basically a series of MAC operations depending on the number of filter taps. So, eventually my original signal after filtering should have a totally different waveform than the original. Now, if I want to get the original signal back in an ideal channel condition, do we have to do some sort of inverse filtering operations that compensate the operations done in the time domain? 

I will be grateful if you could help me in this regard. Thank you in advance!

[ - ]
Reply by Rick LyonsMarch 17, 2020

Hi amitjonak. I'm no expert on digital radio systems but I'll mention a few ideas here. In digital radio, a transmitter's filter that converts "symbols" (numbers) to an analog signal to be transmitted is called a "pulse shaping" filter. And at the receiver, the analog signal is applied to what I think is called a "receive filter." The receive filter's function is to minimize noise and interference corrupting the received analog signal in an attempt to recreate the transmitted analog signal.

The receive filter is NOT the inverse of the transmitter's pulse shaping filter. The receive filter and the pulse shaping filter are "matched filters." To learn more about all of this, you should search the Internet for "digital radio pulse shaping filters" and "intersymbol interference".

If you have a profound interest in digital radio I recommend the book "Software Receiver Design" by Johnson, Sethares, and Klein. Most digital communications books that I've seen are very difficult to read. The Johnson book is quite readable, and contains MATLAB code to demonstrate the signal processing topics covered in the book.
[ - ]
Reply by dgshaw6March 17, 2020

Very good overview Rick,

@amitjonak Very often, the design of the transmit and received filter pair are designed as root-raised-cosine pulse-shaping filters.
The TX filter does half the work and the RX filter does the other half to produce a channel with 0 inter-symbol interference (ISI).
With care, these pulse-shaping filters can easily be designed to match your excess bandwidth needs.
Another very good book for you reference (with lots of MatLab code), that is also unbelievably in-expensive is: "Digital Signal Processing in Modern Communications Systems" , Schwartzinger.

Disclosure.  I have no connection whatsoever to the author.

[ - ]
Reply by amitjonakMarch 18, 2020

Thank you very much sir for your kind suggestions. I am beholden!

[ - ]
Reply by amitjonakMarch 18, 2020

Thank you very much sir for replying me. Well, firstly I am sorry that I used the term "inverse" for the receive pulse shaping filter. What I meant is whatever the transmit pulse shaping filter does to the signal in time domain gets compensated by the pulse shaping filter at the receiver side. For example, the SRRC filter at the transmitter does an upsampling operation, which must be compensated at the receiver side by decimating it. So, in that case if we do not compensate the changes we make in the time domain, I wouldn't be able to get back my original signal without any distortion. That's how I thought the reason behind the problem of having a poor BER while using DUC and DDC in-built blocks in Simulink, because the filters that the in-built blocks use do not allow me to know either the filter coefficients or the pole-zero plot. So, in a way I do not know whether the filters at the DUC and the DDC are "matched" or not. Hence, I am now thinking of making my own subsystem of DUC and DDC. Thank you very much for your time and suggestions. I will definitely go through the book that you suggested.  

[ - ]
Reply by kazMarch 17, 2020

I will reply with respect to your previous posts as well.

if you are using bpsk at say 40 kbits/s rate then your symbol rate is also 40 ksymbols/s.

You are expected first to have a channel shaping filter that passes up to 20kHz. When doing that you must also upsample signal to achieve such cutoff point (minimum upsampling of 2 thus your filter cutoff must be .25 Fs, any further upsampling is up to your system). 

Your interpolation figures of 1,16,2 doesn't look right as it should be 2 first(though you can have one filter upsampling by 32 but with right cutoff at 20KHz relative to high Fs)

This passband is meant not to disturb other spectrum users,it also removes high frequencies of your signal for your own study. The cutoff point of 20KHz allows frequencies from dc up to 20KHz to pass and this means the highest rate of bpsk change when pattern is 01010101... as each sine cycle corresponds to 0/1 at peak/dip.

When decimating back to 40kbits/sec you will have at the end two phases from your filter if your last decimator is by 2 and you need to choose the correct phase (either odd samples or even samples) to get your symbols back.

Apart from that any upconversion/downconversion frequncy translation must match in frequency and phase with downconversion being negative of upconversion.

when downconverting a real signal you get two copies of your signal, you should only keep the dc copy and filter off the other copy which moves away from dc depending on your system.

[ - ]
Reply by amitjonakMarch 17, 2020

Thank you very much for the time spent on my last post as well. I think I realize now where the problem lies. As I mentioned earlier that the DUC and DDC blocks does 3-stage filtering and that the filter properties are non-tunable. I do get correct spectrums and I achieve the correct frequency translation along with the sampling rate conversion. But, the problem lies with the time domain side. Let's say the DUC does 3-stage filtering first. Just like all the other properties, the filtering in the DDC must be inversely related to the DUC as well right? But this I couldn't verify as I do not have the access inside those CIC filters and FIR filters. Now, what I tried to do instead is to include a pulse shaping filter, followed by an upsampler block to achieve the required sampling rate for frequency translation with the help of a normal sine wave oscillator. The same reverse operation I use it to downsample and downconvert, along with a raised cosine pulse shaping receive filter. Now, I am getting the signal back as the BER shows 0 in an ideal channel. 

Thank you very much once again for the clarification. 

[ - ]
Reply by MichaelRWMarch 17, 2020

Filtering a signal, whether it is done in the frequency domain or the time domain, will change the signal.  How the signal will change (i.e. phase shift, distortion due to group delay, etc.) will depend on the characteristics of the filtering operation applied to it.

It is possible, in some cases, to restore/recover a signal that has been filtered.  In the discrete time-domain, a digital filter's transfer function is defined H(z) = B(z)/A(z).  The zeros (from numerator polynomial) and poles (form denominator polynomial) map onto the complex z-plane.  The inverse filter is defined by the function A(z)/B(z).  This is only possible, however, if the zeros of B(z) are inside the Unit Circle (UC).  If the zeros are on the outside of the UC, then the inverse filter will have poles on the outside of the UC and will be unstable.

As with the discrete time-domain, there is a corollary for the continuous time-domain. 

I don't have practical experience with transceiver systems.  Filtering a received signal will likely affect BER performance of a system, but the level of impact will depend on the type of filtering employed.

[ - ]
Reply by amitjonakMarch 17, 2020

Thank you so much for making me understand. Actually a week ago I asked a question regarding the transceiver system where I try to achieve wideband hopping through the use of a Digital Up-Converter (DUC) and downconvert the signal back on the receiver side with the help of a Digital Down-Converter (DDC). Since I was using the DUC and DDC blocks which were in-built in Simulink, I didn't have access to the filter coefficients inside those blocks. So because of that I was having a very poor BER. Now I finally understand that the problem might be the non-tunable filters inside the blocks in the sense that the filtering operation in the DUC and the DDC are not inversely related to each other, and hence I get a very poor BER. Thank you once again!

[ - ]
Reply by Rick LyonsMarch 20, 2020

Hi amitjonak. Again, I'm no expert on digital radio systems and I do not fully understand some of the "Replies" here in this thread, but I'll mention one more idea here.

In digital radios that use amplitude-shift keying (ASK) modulation, we want to generate a signal in the receiver that is a series of very special "Nyquist pulses" where each pulse may have a different amplitude depending on the transmitted information (multi-level "symbols"). The shape of those individual Nyquist pulses minimize inter-symbol interference in order to minimize received bit error rates.

The square root raised cosine (SRRC) "pulse shaping" filter in a transmitter does NOT generate Nyquist pulses. The pulse shaping filter in a transmitter generates pulses that are eventually received and applied to an SRRC filter in the receiver. And it's the output of the receiver's filter that are the sequence of Nyquist pulses!!

The point is, it's the convolution of the transmitter's "pulse shaping" filter's impulse response and "receive filter's" impulse response that is a Nyquist pulse.