• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Transformata Fouriera sinusów

0 głosów
53 wizyt
pytanie zadane 10 czerwca w Python przez Michasiaa19 Nowicjusz (120 p.)
zamknięte 11 czerwca przez Michasiaa19

Dzień dobry. W swojej pracy licencjackiej mam zrobić transformate Fouriera funkcji x(n) = sin(0.1n) + 1.5*sin(0.5n) + 1.25*sin(0.7n) n ∈ {0, 1, ..., 70}.Na początku zabrałam się za to ręcznie , jednak nie jest orłem programowania, później znalazłam kod na internecie. Wyszedł z niego dobry wykres, jednak mojemu wykładowcy nie odpowiada liczba próbek. Powiedział, że częstotliwość ma być 1/10, a n = {0,1,...,70}., a t = np.arange(0,70,ts) powinno zwracać 70 próbek ,a nie 700. Próbowałam przerobić ten wykres jednak wtedy wartości na wykresie mi się psuły. W jaki sposób mogłabym to przerobić ? Dziękuję za każde odpowiedzi.

# sampling rate
s = 10
# sampling interval
ts = 1/10
t = np.arange(0,70,ts)
x = np.sin(2*np.pi*0.1*t) + 1.5*np.sin(2*np.pi*0.5*t) + 1.25*np.sin(2*np.pi*0.7*t)
X=fftpack.fft(x)

# calculate the frequency
N = len(X)
n = np.arange(N)
T = N/s
freq = n/T 

# Get the one-sided specturm
n_oneside = N//2
# get the one side frequency
f_oneside = freq[:n_oneside]

# normalize the amplitude
X_oneside =X[:n_oneside]/n_oneside
X_oneside = X_oneside[0:70]
f_oneside=f_oneside[0:70]

plt.stem(f_oneside, abs(X_oneside), 'b', \
         markerfmt=" ", basefmt="-b")
plt.xlabel('Freq (Hz)')
plt.ylabel('Normalized FFT Amplitude |X(freq)|')
plt.tight_layout()
plt.show()

 

komentarz zamknięcia: Rozstrzygnięty problem.

1 odpowiedź

+1 głos
odpowiedź 10 czerwca przez Wiciorny VIP (144,800 p.)
ts = 1/10
t = np.arange(0,70,ts)

zwraca 700 próbek gdyż ts- 1/10 czyli 0.1 - ostatnie to liczba kroków czyli od 0,70 dla kazdego przejscia masz 10 razy bo przechodzi po 0.1 :) 

freq = n/T
n- akurat jest zbyt duże więc majac 
s=10 możesz też

freq = 1/s ; 

tak definiujesz częstotliwosć z tego co rozumiem ma być stała : 
freq = 1/10

Podobne pytania

0 głosów
0 odpowiedzi 143 wizyt
+1 głos
1 odpowiedź 74 wizyt
pytanie zadane 18 kwietnia w C# przez Avernis Nałogowiec (27,240 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

83,603 zapytań

132,253 odpowiedzi

291,740 komentarzy

55,204 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...