DSPRelated.com
Forums

IFFT fixed point and AWGN channel

Started by shan_100 March 17, 2006
Hi,

I am building an fixed point OFDM for 802.16,using 2^10 quantisation(ie
the floating point values are multiplied by 1024). The system was working
fine, so I decided to test with AWGN channel. The problem is that the code
for AWGN that I have is for Floating point.

I normalised the output of the IFFT by- 

IFFt symbol = Symbol / sqrt(real*real+imag*imag), and converted this to
float. Then I added noise. Since I am using 2^10, I multiplied this final
noisy signal with 1024, and reconverted back to fixed point.

I am getting very poor BER(10e-2 even at 10db). Now if I remove the IFFT
and FFT, I get good BER.

I tested the IFFT-FFT by itself, taking a MATLAB output as reference. I
get very good performance, very close to MATLAB results(floating point,
converted to fixed point at end of calculation).

The only problem I can think of is that way I am adding noise to IFFT is
wrong. Does anyone know how we add AWGN noise to fixed point IFFT- am I
missing any steps?

Thanks
Shan


shan_100 said the following on 17/03/2006 17:11:
> I am building an fixed point OFDM for 802.16,using 2^10 quantisation(ie > the floating point values are multiplied by 1024). The system was working > fine, so I decided to test with AWGN channel. The problem is that the code > for AWGN that I have is for Floating point. > > I normalised the output of the IFFT by- > > IFFt symbol = Symbol / sqrt(real*real+imag*imag), and converted this to > float.
If you're doing the division in fixed point, won't you get horrendous rounding errors?
> I am getting very poor BER(10e-2 even at 10db). Now if I remove the IFFT > and FFT, I get good BER.
10dB what? SNR or Eb/No? What constellation are you using? -- Oli

>If you're doing the division in fixed point, won't you get horrendous >rounding errors?
I convert it to float for adding AWGN noise.
>> I am getting very poor BER(10e-2 even at 10db). Now if I remove the
IFFT
>> and FFT, I get good BER. > >10dB what? SNR or Eb/No? What constellation are you using?
Eb/N0 with QPSK shan