Hello Kun, Could you please verify whether the input to the FFT call are supposed to be shifted or not?
Best, Aditya On Sun, Nov 2, 2014 at 10:44 AM, xianda <[email protected]> wrote: > 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 > > > > _______________________________________________ > Discuss-gnuradio mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > >
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
