# How to filter an OFDM signal? [closed]

Across the channel bandwidth there shoudd be 100 RBs (central 1200 sub carriers in a 2048 bin). Max power normalized to 0dB, the first OOB lobe should be -34dB. This 1st lobe on either side is at 5 MHz across the x axis from the symbol.

I am trying to get hold of filtering but I still have rookie doubts.

I need to apply a filter to 6 symbols of a time domain OFDM signal. Each symbol is a 2048 FFT/IFFT bin having 1200 central subcarriers and has CP of 512 samples added (therefore total 2560 samples).

I am representing the PSD w.r.t FFT points - so 2048 samples?

While designing filters in matlab using fir1:

1. Do I select the cut off freq as 1200/2048 or is that wrong?
2. Do I filter all the symbols one by one in a loop without zero padding after every symbol gets filtered (for flushing the tail)?
3. Do I clone the same coeff's and filter in the receiver side?

## closed as unclear what you're asking by Marcus Müller, Stanley Pawlukiewicz, lennon310, Matt L., A_AJan 17 at 10:32

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

• You're not telling us why you want to filter, what the purpose of that filter is. We really can't tell you how to design a filter when you don't tell us the purpose. It's the same old story as with your previous questions. Your signal already has low-pass characteristics (i.e. it only occupies roughly the lower 1200/2048 part of your spectrum), so I'm really doubtful you should be filtering here, at all. Again, if you need to filter, that's an aspect of your system that you're not telling us, and since you omit that critical info, we can't help you. – Marcus Müller Jan 12 at 12:59
• Maybe it would help if you could describe your overall OFDM system and where that filter sits in that, and what role it plays in what you need to do. – Marcus Müller Jan 12 at 13:03
• The spectral mask requirement says I need to have side lobe/Out of band emissions as low as -34 dB. Normal OFDM does not provide that. So I need to apply a low pass FIR filter to see to what extent can I lower these out of band emissions. Actual goal is to lower these OOBs and to have the data from different filters that I would apply in terms of BER and EVM and see which filter would suit the requirements best. – samz12 Jan 12 at 13:13
• but you're nowhere defining where your band ends and where out of band starts, so we still don't know what you need. edit your question to include all info on the spectral mask! It's –quite frankly obviously– central to your problem! (also, only now we know that you want to filter on the TX side; this wasn't clear before, so thanks for clarifying that :) ) – Marcus Müller Jan 12 at 15:32
• Dear @MarcusMüller, I have added the actual spec mask picture in the ques above, PLease lemme know if you need to know something else. Also the spec mask for my case needs to be handled for 100 Resource blocks (LTE std). – samz12 Jan 13 at 11:23

Let's do the following, in this order:

1. figure out how much power your signal has at the beginning of the stop band (i.e. 5 MHz away from the lowest or highest of the 1200 used carriers)
2. compare that to how much attenuation you need relative to the peak power region
3. convert the result to a filter specification

# How much power does this OFDM system have 5 MHz from the used carriers?

I hope that number's right, but as far as I could find, the LTE subcarrier spacing is 15 kHz.

That means that within your 5 MHz transition width, 333 subcarriers fit.

Let's look at each sinc (the spectral shape of an OFDM subcarrier!) individually first:

The energy in its sidelobe monotonously falls with the "number" of the side lobe. The exact value is rather hard to come up with, so I just wrote a python script that simply calculates the energy for the sidelobe in the middle between the sinc zeros; it's rather compact, so here it goes:

def f(k, N=1200):
positions = numpy.arange(k, k+N, 1)+0.5
return numpy.sum(numpy.sinc(positions)**2)


So, calling f(13) will give you the sum energy of all the 1200 sidelobes that fall into the 13. sidelobe centre from the edge of the band of used subcarriers; that's a slight miscalculation for the maximum energy in the sidelobe (as the maxima don't exactly hit the center between zeros), but the error should be negligible. (If you think it's not: calculate the probability of the event "one of the two symbols that lead to the actual maximum energy is transmitted" and see that we really don't have to be afraid of regulators knocking on our doors.)

So, plotting that in a dB scale yielded this fine figure:

The orange vertical marks the 333. sidelobe – which, if the 15 kHz subcarrier spacing is right, is the sidelobe at 5 MHz from the highest used carrier.

# Compare to how much attenuation you need

From the simulation, the 333. sidelobe has -36 dB power relative to main lobe.

You need -34 dB attenuation.

Hence, to little surprise, the number of occupied carriers (1200) relative to the full bandwidth of the system was chosen exactly to guarantee sufficient out-of-band suppression.

# Convert the result to a filter specification

As predicted, an LTE signal fulfills the LTE spectral mask by itself.

You hence don't need any filters to fulfill the spectral mask.

Hence, you also shouldn't use any filters, to allow the flexibility of the OFDM system to correct the channel, not your superfluous filtering.

Hence, the filter specification is: do a FIR filter with taps [1.0]. Or don't do one at all ;)

• Dear Marcus, Thank you soooo much for your detailed explanation and for the time you spent describing and analyzing all the issues. I talked with my superiors on this and now we have to see how much below the specs we can take the power of these 333 subcarriers while maintaining the overall EVM at -48dB. By below I mean reducing below -34 dB to account for any any non linearities down the transmission chain (Keep as a buffer). – samz12 Jan 22 at 9:38
• honestly, the LTE specs were written with available hardware and the math in mind. I don't know if this project is going to be a large benefit. – Marcus Müller Jan 22 at 17:56