[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r4161 - gnuradio/branches/developers/n4hy/ofdm/gnuradi
From: |
trondeau |
Subject: |
[Commit-gnuradio] r4161 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general |
Date: |
Wed, 20 Dec 2006 10:20:56 -0700 (MST) |
Author: trondeau
Date: 2006-12-20 10:20:56 -0700 (Wed, 20 Dec 2006)
New Revision: 4161
Modified:
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_fft_vcc.cc
Log:
fixed up fftshift and ifftshift
Modified:
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_fft_vcc.cc
===================================================================
---
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_fft_vcc.cc
2006-12-20 07:40:04 UTC (rev 4160)
+++
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_fft_vcc.cc
2006-12-20 17:20:56 UTC (rev 4161)
@@ -77,14 +77,9 @@
else {
if(!d_forward && d_shift) { // apply an ifft shift on the data
gr_complex *dst = d_fft->get_inbuf();
- unsigned int len = (unsigned int)(floor(d_fft_size/2.0));
- unsigned int i=0,j=0;
- for(i=0; i < d_fft_size-len; i++) {
- dst[i] = in[len+i];
- }
- for(; i < d_fft_size; i++) {
- dst[i] = in[j++];
- }
+ 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);
}
else {
memcpy (d_fft->get_inbuf(), in, input_data_size);
@@ -97,8 +92,8 @@
// copy result to our output
if(d_forward && d_shift) { // apply a fft shift on the data
unsigned int len = (unsigned int)(ceil(d_fft_size/2.0));
- memcpy(&out[0], &d_fft->get_outbuf()[len], d_fft_size - len);
- memcpy(&out[d_fft_size - len], &d_fft->get_outbuf()[0], len);
+ memcpy(&out[0], &d_fft->get_outbuf()[len],
sizeof(gr_complex)*(d_fft_size - len));
+ memcpy(&out[d_fft_size - len], &d_fft->get_outbuf()[0],
sizeof(gr_complex)*len);
}
else {
memcpy (out, d_fft->get_outbuf (), output_data_size);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r4161 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general,
trondeau <=