
STATLAB/Zadanie zaliczeniowe3: Różnice pomiędzy wersjami
Z Brain-wiki
m  | 
				|||
| Linia 16: | Linia 16: | ||
* Dla każdego fragmentu estymujemy widmo gęstości energii za pomocą ''periodogramu'' z okienkiem '''okno'''  | * Dla każdego fragmentu estymujemy widmo gęstości energii za pomocą ''periodogramu'' z okienkiem '''okno'''  | ||
* Widma kolejnych fragmentów zapisujemy w macierzy numpy, tak, że i-ta kolumna zawiera widmo i-tego fragmentu  | * Widma kolejnych fragmentów zapisujemy w macierzy numpy, tak, że i-ta kolumna zawiera widmo i-tego fragmentu  | ||
| − | * Macierz wykreśl przy pomocy funkcji <tt>pylab.imshow</tt>, podając zakresy poszczególnych osi przy użyciu parametru    | + | * Macierz wykreśl przy pomocy funkcji <tt>pylab.imshow</tt>, podając zakresy poszczególnych osi przy użyciu parametru <tt>extent</tt>  | 
| − | <  | ||
| − | |||
| − | </  | ||
| − | Kod należy przygotować tak aby łatwo było modyfikować:  | + | Kod należy przygotować tak, aby łatwo było modyfikować:  | 
* typ okna, jego długość i stopień nachodzenia okien.  | * typ okna, jego długość i stopień nachodzenia okien.  | ||
* zakres czasu i częstości wyświetlanej reprezentacji  | * zakres czasu i częstości wyświetlanej reprezentacji  | ||
Wersja z 10:04, 19 lis 2016
1. Dane
Poniżej znajdyją się linki do dwóch fragmentów utworów audio. Zapisane są w formacie wav. Pliki takie można wczytać do programu pythonowego za pomocą funkcji scipy.io.wavfile.read( dokumentacja tej funkcji.)
Candy_Dulfer_-_Lily_Was_Here.wav
Rupert_Blaise_-_06_-_What_A_Wonderful_World.wav
2. Analiza czasowa widma
Programistyczna część projektu polega na samodzielnej implementacji spektrogramu: reprezentacji rozkładu energii sygnału w dzeidzinie czas-częstość. Idea tworzenia tej reprezentacji przedctawiona jest na poniższym rysunku.
Spektrogram otrzymujemy w następujący sposób:
- Sygnał dzielimy na fragmenty o długości N_okna
 - Fragmenty mogą ale nie muszą na siebie nachodzić. Liczba próbek nachodzących niech będzie oznaczona N_wsp
 - Dla każdego fragmentu estymujemy widmo gęstości energii za pomocą periodogramu z okienkiem okno
 - Widma kolejnych fragmentów zapisujemy w macierzy numpy, tak, że i-ta kolumna zawiera widmo i-tego fragmentu
 - Macierz wykreśl przy pomocy funkcji pylab.imshow, podając zakresy poszczególnych osi przy użyciu parametru extent
 
Kod należy przygotować tak, aby łatwo było modyfikować:
- typ okna, jego długość i stopień nachodzenia okien.
 - zakres czasu i częstości wyświetlanej reprezentacji
 - ważne jest też wyświetlenie właściwych skal czasu i częstości
 - wersja bardziej rozwinięta powinna także wyświetlać rozkłady brzegowe mocy tj.:
- wzdłuż osi poziomej moc sygnału w czasie
 - wzdłuż osi pionowej widmo mocy z całego prezentowanego odcinka czasu
 
 
3. Interpretacja wyniku
- Powtórz punkt 3 dla kilku różnych długości okien N_okna i zinterpretuj widoczne różnice.
 - Czy na podstawie takich spektrogramów jesteśmy w stanie odróżnić kiedy grał który instrument, lub kiedy był to głos ludzki?
 - Czy dałoby się w ten sposób określić tony podstawowe?