Does the MATLAB's ifft()/fft() do any spectral shaping ?

2 views (last 30 days)
Greetings,
I generate an OFDM signal using :
Qam = qammod(randi([0 3],Nfft,1),M);
OFDMsym = ifft(Qam,Nfft);
OFDMsym_CP = [OFDMsym(end-Ncp+1:end); OFDMsym];
This is then transmitted using SDR (USRP2+RFX2400). When I view the spectrum it looks like the following:
It appears that there is some spectral shaping happening at the ends of the bands. The bandwidth I am using to transmit is well within the bandwidth limit offered by the hardware so it was suggested from the support mailing list that MATLAB was doing some spectral shaping. When I turn off say, 50-75 subcarriers on opposite sides of my OFDM band, I see a normal 'OFDM-like' spectrum:
How can I fix this? In these sub carriers I see my QAM constellation points drawn towards the origin. For ex. :
Thanks in advance. Best Regards, Sanat

Accepted Answer

Walter Roberson
Walter Roberson on 30 Aug 2012
I would be pretty sure that fft() and ifft() do not do any spectral shaping. I do not have any information about qammod() though.

More Answers (1)

Rick Rosson
Rick Rosson on 31 Aug 2012
Walter is correct. FFT does not do any shaping. It is an implementation of the DFT, plain and simple. MATLAB does provide additional functions that do provide windowing and shaping. Please search the doc for PSD, pwelch, and windowing for more info.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!