# In OFDM, what is the length of the cyclic suffix that is added before windowing?

I searched for length of cyclic suffix but all I can find information about is the cyclic prefix, I want to know also if there is short guard interval and long guard interval does it affect the length of the suffix

• That's a design parameter, so it would depend on the implementation. In LTE e.g., there is a normal and extended mode.
– vaz
Feb 4, 2019 at 10:39

You, as the designer of an OFDM system, define the length of the CP based on your requirements.

The main requirements are:

1. Long enough to "swallow" the duration of the longest expected channel impulse response to inhibit ISI / make the linear convolution channel effect look like a circular convolution
2. Not longer than necessary, since it "wastes" transmit time, and thus reduces data rate
3. (optional, depending) in a length that allows for efficient synchronization (e.g. via Schmidl&Cox)

So, there's no single answer to this. The answer is:

It depends, and when you've fully understood the reason why we use CP in OFDM systems, this will become very much more intuitive.

• thank you for the answer but another question please, does the cyclic suffix length have to be equal to the cyclic prefix length? Feb 28, 2019 at 6:48
• You only ever use either, and it's extremely rare that you use a cyclic suffix. That really doesn't make much sense in OFDM; it's not harder to do a cyclic prefix than a suffix, and you get nicer timing properties. Anyway, mathematically, you can't tell the two apart unless you start looking at the symbols that you get under either decoding assumption, so your question makes no sense. Feb 28, 2019 at 8:12
• seriously, where did you find an OFDM system with a cyclic suffix? Coming to think of it, I don't know a single one! And no matter whether you're doing cyclic suffix or prefix, you'd always "cut away" the start of the symbol at the receiver since it contains ISI; in the cyclic suffix case, you then have to do a cyclic shifting of the whole symbol. Feb 28, 2019 at 8:16
• It is a really nice question about why there is mainly mentioning of cyclic prefix in OFDM systems, and why not a cyclic suffix. The questions would be - is there any advantage of one over the other? Or the performance/functionality would be the same? Another way of looking at the situation with cyclic prefix or suffix is - when they are used and when their length is adequate, then the output waveform (the convolution between the message waveform and the channel impulse response) will at least have individual symbol information preserved (smeared, but still 'fully preserved' within it). Apr 27, 2021 at 4:30
• Cyclic suffixes aren't useful, as you need to take the FFT after the length of it has gone through the channel, not before. So, that's why nobody uses them. it's a bit hard to explain this in a comment, but look at how a cyclic prefix is used to make the convolution with the physical channel (which is acyclic) look like a cyclic convolution at the receiver, for the FFT to convert that cyclic convolution to a point-wise multiplication in frequency domain. Apr 27, 2021 at 10:06

It is true - that cyclic suffixes are not going to be helpful. I think it's just the way (which is probably not good enough) that text books and other sources have attempted to explain the reason for using cyclic prefixes for digital OFDM communications. The teaching should probably be something like --- suppose we have a sequence x[n] having a length of L, and we have an impulse response h[n] with length of Lh. Then an 'L'-element circular convolution (not regular convolution ... but circular one) between x and h will yield a sequence of length L, having a particular pattern, p[n]. In matlab, that would be cconv(x,h,L). Example - if L is '8', then it's cconv(x,h,8). We'll just ignore the usefulness of that pattern (in relation to fast fourier transform relations). But will mention that - if we want to see that same pattern p[n] fully occuring in a practical transmission of sequence x[n] through a medium having impulse response h[n], then we need to tack on (to the front end of x[n]) a cyclic prefix ---- and that cyclic prefix needs to have a length (call it Lc) that is at least equal to 'c'. And what is the value c? It will be one less than the length of the impulse response --- ie. c = (Lh - 1). This means Lc must be at least equal to 'c'. So if h[n] has a length of 3, then Lc would be 2 or more. That is, for an impulse response length of 3, we would require the cyclic prefix length to be 'at least' equal to 2, so that the pattern p[n] would definitely show up fully somewhere ----- in among the sequence of the 'regular' (ie. linear) convolution between h[n] and x1[n]. In matlab, that would be conv(x1,h). And x1[n] is just the cyclic-prefixed version of x[n]. This very clever method that was developed by somebody - in the past - is indeed very clever. And it only works with cyclic prefix having a suitable length. It doesn't work with cyclic 'suffixes'.