- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Allo,
I would like to have a output of 8192 samples @ 16bits real only with IFFT core. I have a input of 4096 samples@16bits in real only (imaginary is 0) !! It's correct ? I set the Transform length to 8192 @16 bits and 8 bits twiddle !!! It's correct or the Transform length must be 4096 to produce 8192 output in IFFT Mode ? Thank you JeanLink Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No you can't.
Given 4096 points vector in frequency domain(before ifft) your frequency points are relative to your vector size. By doubling the transform you create distortion. If you have Matlab, you can see:
x= real(fft(cos(2*pi**1/10))); % example of your input
y1= real(ifft(x));
y2 = real(ifft(x,8192));
plot(real(y1(1:200)));hold
plot(real(y2(1:200)),'r')
Don't get mixed up with zero padding of time vectors or increasing fft resolution(this is possible) An alternative for you is to to repeat a copy of 4096 samples mirrorwise then do ifft on 8192 points, this is equivalent to upsampling in time domain.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok,
If I understood it, I must have a input vector of 8192 points ( 4096 samples + 4096 to zero) ? Jean- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It will help if I know why you think your input vector is 4096 points(this can't be arbitrary, I mean you are in frequency domain and frequency content is dependant on the grid). So make sure what you are after before getting sucked into further complications.
For example a vector indexed 1:100 in the frequency domain implies: frequencies [0: .5Fs] are represented by values indexed 1:50(positive frequenies) frequencies from [.5Fs:Fs] are represented by values indexed 51:100(also means negative frequencies). For real signals, the values indexed 1:50 must be a reflection copy of values indexed 51:100(symmetrical) In other words your original 4096 vector must make sense. And your 8192 can't be constructed by zero padding(your original vector must show reflection around midpoint of 4096/2, then you must reflect around new midpoint for new resolution at 8192/2).- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My design is very simple,
I want to make a OFDM transmitter with 4096 carriers in natural order Index(0) = frequency 0 Index(1) = frequency 1 (12.207 kHz) . . Index(4095) = frequency 4095 (50MHz) My sampling rate is 100MHz and no négatif frequency ------------------------------------------------------------------------------------------------------------------------------------------------------- Also, I try to simulate in fonctional mode and the FFT core not work! In burst mode, Sink_ready signal is still high (active) and according to the doc, it should be active only for the length of a block (FIFO) and this length, I do not know !!!!! Do you have a idea about this ? Thank you to help me.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't know about your IP core but can talk cofdm theory:
Your vector is 4096 points, Your Fs = 100MHz , your target is that first point on this grid(frequency 1 after dc) = 12.207KHz All you have to do is think of an input that has a grid of 8192 in the first place. Then you set this vector to values for amplitude at all frequencies up to 50MHz: (100MHz * 1/8192 = 12.207KHz). (100MHz * 4096/8192 = 50MHz). If you are constructing the vector then yes you first think of 4096 then make amplitudes beyond 4096 a reflection of 1:4096 as below vector_8192 = [1:4096 4096:1] Though strictly speaking I believe, the dc value should not be repeated at reflection.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The IP core is the Altera IP core version:
core version v9.0 Build 235 release date February, 2009 ordering code(s) IP-FFT product id(s) 0034 vendor id 0x6AF7 The 4096 to 8192 Is to meet nyquist theorem
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page