|
| Matlab FFT Fra : nebis | Vist : 409 gange 120 point Dato : 29-11-04 19:33 |
|
Jeg sidder med Matlab og benytter FFT til at finde Fourier koefficienterne, Fr, af funktionen
f[k] = 2*cos[3.2*pi*(k-3)]
Jeg har regnet dem ud i hånden, hvor jeg får magnitude plottet, |Fr|, til at stemmeoverens, dvs. at kun kofficienterne F2 og F3 er forskellige fra nul, disse to har ligeledes en fasedrejning, hvor faseplottet har en peaks ved hver af de to koefficienter, alle andre er nul.
Ok så langt er jeg, men mit problem er så, at benytter jeg Matlab's fft, så får jeg, at fasen af alle koefficienterne er forskellige fra nul.
Hvordan kan det være, herunder er den kode jeg har brugt. Fasen af en koefficient lig nul, kan da ikke være andet end nul.
Kode N = 5; k = 0:N-1;
f = 2*cos(3.2*pi*(k-3));
Fr = 1/N*fft(f);
figure
subplot(2,1,1), stem(k, abs(Fr)), grid on
subplot(2,1,2), stem(k, angle(Fr)), grid on |
| |
| Accepteret svar Fra : pbp_et | Modtaget 120 point Dato : 30-11-04 16:25 |
|
Der kan muligvis være noget numerisk snavs, men så længe koefficienten er nul, kan du jo blæse fasen af det nul en hatfuld.
mvh
pbp
I "gamle dage" var det et hyppigt optrædende problem i programmer til analyse af elektriske kredsløb. Når der ikke var lavet tilstrækkelig smart afrunding af mellemresultater, dukkede der noget fnuller op de mærkværdigste steder, og først en nærlæsning afslørede, at delresultaterne lå og rodede nede omkring 1.33897783E-27.
| |
| Godkendelse af svar Fra : nebis |
Dato : 13-02-05 18:37 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|