• Nie Znaleziono Wyników

Transformata Fouriera

N/A
N/A
Protected

Academic year: 2021

Share "Transformata Fouriera"

Copied!
3
0
0

Pełen tekst

(1)

Transformata Fouriera

Marcin Orchel

1 Zadania

1.1 Zadania na 3.0

Napisać skrypt w R. W skrypcie

• Dla sumy funkcji trygonometrycznych wykonać analizę częstotliwościową.

• Dodać szum do danych i powtórzyć eksperyment.

• Dokonać analizy częstotliwościowej na wybranym rzeczywistym szeregu czasowym z sezonowością.

• przetestować fft i operację odwrotną

• narysować wykres częstotliwości i amplitudy

• przetestować różne wartości fazy za pomocą atan2

• dokonać transformacji dwuwymiarowej i trójwymiarowej

• obliczyć współczynnik Fouriera wybranej funkcji

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z badań.

Wskazówki:

http://www.wolframalpha.com/input/?i=sin+(x),+x+over+(0,1)

• jak wyplotować fazęhttps://www.gaussianwaves.com/2015/11/interpreting- fft-results-obtaining-magnitude-and-phase-information/

Wskazówki do R:

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/fft.html

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/filter.html

https://www.rdocumentation.org/packages/dtt/topics/dst

1

(2)

https://www.rdocumentation.org/packages/fftwtools/topics/fftw

• alternatywnie do fft można użyć polecenia https://stat.ethz.ch/R-manual/R- devel/library/stats/html/spectrum.html

• atan2,https://stat.ethz.ch/R-manual/R-devel/library/base/html/Trig.html

• Re, Im, Mod, https://stat.ethz.ch/R-manual/R-devel/library/base/html/

complex.html

http://www.di.fc.ul.pt/~jpn/r/fourier/fourier.html Wskazówki do Matlaba:

• można dokonać analizy za pomocą sptool

http://www.mathworks.com/help/matlab/ref/fft.html Przykłady w R

plot.frequency.spectrum <- function(X.k, xlimits=c(0,length(X.k))) {

plot.data <- cbind(0:(length(X.k)-1), Mod(X.k)/length(X.k)) plot.data[2:length(X.k),2] <- 2*plot.data[2:length(X.k),2]

plot(plot.data, t="h", lwd=2, main="",

xlab="Frequency (Hz)", ylab="Strength",

xlim=xlimits, ylim=c(0,max(Mod(plot.data[,2])))) }

acq.freq <- 100 time <- 6

ts <- seq(0,time-1/acq.freq,1/acq.freq) f.0 <- 1/time

dc.component <- 1

component.freqs <- c(3,7,10) component.delay <- c(0,0,0)

component.strength <- c(1.5,.5,.75) f <- function(t,w) { dc.component +

sum( component.strength * sin(component.freqs*w*t + component.delay)) }

w <- 2*pi*f.0

trajectory <- sapply(ts, function(t) f(t,w)) head(trajectory,n=30)

X.k <- fft(trajectory)

plot.frequency.spectrum(X.k, xlimits=c(0,20))

• wyplotowanie przesunięcia

2

(3)

X2<-X.k

X2[abs(X.k) < 0.01] <- 0 phase=atan2(Im(X2),Re(X2)) plot(phase)

1.2 Zadania na 4.0

• Dokonać porównania dwóch sygnałów w Matlabie.

Wskazówki:

http://www.mathworks.com/help/signal/examples/measuring-signal-similarities.

html?prodcode=SG&language=en

1.3 Zadania na 5.0

• Dokonać analizy częstotliwościowej wybranego sygnału rzeczywistego w Matlabie.

3

Cytaty

Powiązane dokumenty

każda ze stron jest ograniczona z góry przez drugą z dokładnością do stałej multiplikatywnej zależnej tylko od d, s..

[r]

Pokrywanie się obu przebiegów jest tym lepsze im większa jest częstotliwość próbkowania (na rysunku N=16 384, proszę spróbować dla większych

Jednym z jego aspektów jest to, i» zamiast rozpatrywa¢ funkcj¦ falow¡ jako funkcj¦ poªo»enia, mo»na równowa»nie rozpatrywa¢.. j¡ jako funkcj¦

Pomniejsze własności transformaty

[r]

Transformata Fouriera — zadania do samodzielnego

a) transformata splotu