Hello all:
Thank you in advance.I have two questions about the symbol used in ofdm example.
1.The first synchronization symbol is:
n1=0 0 0 0 0 0 0 1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 -1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 -1.41421353816986 0 -1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 -1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 1.41421353816986 0 0 0 0 0 0
As the algorithm said,the first half of the symbol is same to the second half of the symbol.
But i do ifft(n1) in matlab,and the result is
0.0441941730678082 + 0.00000000000000i 0.0644254533894132 + 0.175326551876726i -0.0367461119467220 - 0.0453679674017572i 0.0265416620395810 + 0.0320366536443552i -0.0985725617473446 - 0.0915672254739864i -0.0570202679872770 + 0.0717009594634221i 0.00862185545503520 - 0.0331748224844260i 0.0431267759560735 - 0.101430672698735i 0.0937499983955371 + 0.0624999989303581i -0.116910980048072 + 0.0875939237146428i 0.0433449944244991 + 0.00659888247777708i 0.0708002546250446 - 0.00739045916472342i 0.00700533627335824 - 0.105577898020703i -0.0292347816053780 + 0.0541379637893818i 0.0245529670293908 - 0.0678979614538899i -0.237561871221452 + 0.0681675029413550i 0.00000000000000 + 0.00000000000000i 0.237561871221452 + 0.0681675029413550i -0.0245529670293908 - 0.0678979614538899i 0.0292347816053780 + 0.0541379637893818i -0.00700533627335823 - 0.105577898020703i -0.0708002546250446 - 0.00739045916472342i -0.0433449944244991 + 0.00659888247777708i 0.116910980048072 + 0.0875939237146428i -0.0937499983955371 + 0.0624999989303581i -0.0431267759560735 - 0.101430672698735i -0.00862185545503520 - 0.0331748224844260i 0.0570202679872771 + 0.0717009594634221i 0.0985725617473446 - 0.0915672254739864i -0.0265416620395810 + 0.0320366536443552i 0.0367461119467220 - 0.0453679674017572i -0.0644254533894132 + 0.175326551876726i -0.0441941730678082 + 0.00000000000000i -0.0644254533894132 - 0.175326551876726i 0.0367461119467220 + 0.0453679674017572i -0.0265416620395810 - 0.0320366536443552i 0.0985725617473446 + 0.0915672254739864i 0.0570202679872770 - 0.0717009594634221i -0.00862185545503520 + 0.0331748224844260i -0.0431267759560735 + 0.101430672698735i -0.0937499983955371 - 0.0624999989303581i 0.116910980048072 - 0.0875939237146428i -0.0433449944244991 - 0.00659888247777708i -0.0708002546250446 + 0.00739045916472342i -0.00700533627335824 + 0.105577898020703i 0.0292347816053780 - 0.0541379637893818i -0.0245529670293908 + 0.0678979614538899i 0.237561871221452 - 0.0681675029413550i 0.00000000000000 + 0.00000000000000i -0.237561871221452 - 0.0681675029413550i 0.0245529670293908 + 0.0678979614538899i -0.0292347816053780 - 0.0541379637893818i 0.00700533627335823 + 0.105577898020703i 0.0708002546250446 + 0.00739045916472342i0.0433449944244991 - 0.00659888247777708i -0.116910980048072 - 0.0875939237146428i 0.0937499983955371 - 0.0624999989303581i 0.0431267759560735 + 0.101430672698735i 0.00862185545503520 + 0.0331748224844260i -0.0570202679872771 - 0.0717009594634221i -0.0985725617473446 + 0.0915672254739864i 0.0265416620395810 - 0.0320366536443552i -0.0367461119467220 + 0.0453679674017572i 0.0644254533894132 - 0.175326551876726i
The first half of the symbol in time domain isn't same to the second half of the symbol.It is a fault?
2.I read the document fft_vcc_fftw.cc
gr_complex *dst = d_fft->get_inbuf();
unsigned int len = (unsigned int)(floor(d_fft_size/2.0)); // half length of complex array
memcpy(&dst[0], &in[len], sizeof(gr_complex)*(d_fft_size - len));
memcpy(&dst[d_fft_size - len], &in[0], sizeof(gr_complex)*len);
Before doing the ifft operation,should I first do this?
Thank you very much.
Best regards,
kun