FFT-kern met de omvang alleen gegevens?

R

Rob B

Guest
Ik vroeg me af of dit moet in de DSP-afdeling, maar het gaat om de Xilinx Core Generator.

Na het kijken naar de Core Generator FFT module datasheet, zie ik dat de FFT-core verwacht dat de gegevens in complexe indeling.

De gegevens die ik wil transformeren is van een ADC en zal gehouden worden in een array is, zal de bemonstering worden constante snelheid.

Moet ik naar de fase te berekenen uit de steekproef nummer, waarna de gegevens van toepassing op de FFT-core?
.

Ik moet The Scientist & Engineer's Guide te
lezen om te Digital Signal Processing.

"?

Ik neem aan dat wat ik vraag is "kan ik een kern voor echte DFT"?
 
Zet uw echte gegevens ADC's in complexe formaat door simpelweg de vaststelling van de imaginaire delen aan nul.Dan voer dat in de FFT.

 
Ik dacht dat op het eerste, maar het leek me te simpel en mijn FPGA leercurve laatste tijd deed me wel twee keer nadenken als ik probeer short-cuts!

Ik probeerde te denken aan de manier waarop de punten zouden worden geplaatst zonder Imaginary waarden aanwezig zijn.

Ik zal proberen ofwel gesimuleerd dat of het krijgen van de kern in het toestel naast de MicroBlaze (een andere machtige taak voor mij!).

Op dit moment denk ik dat ik geïnteresseerd ben in STFT omvang waarden langs een monster.

Ik heb hoofdstuk 9 lezen, en een paar anderen, van de bovenstaande titel PDF, een zeer goed boek en zijn gratis beschikbaar.
to do in my project but I get lost in some of the detail.

Ik weet wat ik wil
doen in mijn project, maar ik verdwaal in een aantal van de details.Ik zou moeten verschillende disciplines tegelijkertijd beheersen om echt te begrijpen alles, het ding dat hij heeft alles bij elkaar is de FPGA zelf wel.Ik ben aan het leren maar, en zal weer in EDABoard wat als ik het kan een dergelijke hulp is mij onlangs

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />

.

 
u kunt uitvoeren, 2 veranderen aan de prijs van 1 enkele FFT-core, plaats de N gegevens in real-deel voor de 1e transformeren en N gegevens in het imaginaire deel van de 2e transformeren, het uitvoeren van een oneven zelfs ontbinding van de output en u krijgt wat je wilt.

btw, het bovenstaande is slechts een simpele uitleg, lees het boek tot in detail te doen wat googlen en je moet goede info te vinden op.

ps.je niet hoeft te converteren naar complexe vorm

 
Ja, hier is een MATLAB demonstratie van de techniek die bcktang beschreven.Merk op dat slechts een FFT wordt gebruikt, en de twee golfvormen uitgang overeenkomt met de input golfvormen.Blauw is de reële component, groen is de imaginaire component.Let wel dat de ontleding stap, ook al is het alleen maar een eenvoudig rekensommetje, neemt veel tijd in vergelijking met een goed geoptimaliseerd FFT.

Code:

% Bereken twee echte FFTs met behulp van slechts een complexe FFT

duidelijk;

N = 100;% aantal monsters

n = 0: N-1;

% Generate twee echte ingangssignalen (noisy offset sinewaves)

a = sin (5,3 * 2 * pi * n / N - 0,9) (rand (1, N) -0,5) 0,2;

b = sin (7,3 * 2 * pi * n / N 0,8) (rand (1, N) -0,5) - 0,3;

subplot (2,2,1), plot (n, real (a), n, imag (a)); titel ( 'Input-signaal een');

subplot (2,2,2), plot (n, real (b), n, imag (b)), titel ( 'Input-signaal b');

% Combineer de twee echte signalen, bereken gecombineerde complexe FFT

ab = a j * b;

yab = fft (ab);

% Dwingen de FFT-resultaat in de spectra van signalen a en b

zelfs = (yab fliplr (circshift (yab, [0 -1]))) / 2;% zelfs oneven-decompositie

oneven = (yab - fliplr (circshift (yab, [0 -1]))) / 2;

YA = echt (even) j * imag (oneven);

YB = imag (even) - j * real (oneven);

% Toon aan dat de spectra van YA en YB overeenkomen met de oorspronkelijke ingangssignalen

A = ifft (YA);

B = ifft (YB);

subplot (2,2,3), plot (n, real (A), n, imag (A)); titel ( 'Output A');

subplot (2,2,4), plot (n, real (B), n, imag (B)); titel ( 'Uitgang B');

 
Erg interessant inderdaad

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />

.

Ik denk niet dat ik heb geleerd dat in het DSP.

Het zou leuk zijn om het te testen in de hardware aan de tijd genomen voor een enkele en dubbele FFT FFT met software ontleding te meten.Er zijn misschien nog een paar toepassingen voor deze in mijn project, zoals de overgangstijd van de oorspronkelijke gegevens arrays is niet belangrijk.

Ik heb problemen met het verkrijgen van de FFT-module in mijn MicoBlaze bouwen (of een module voor die materie), zal de hele boel waarschijnlijk omhoog wordt gedaan in de software!

 

Welcome to EDABoard.com

Sponsor

Back
Top