Spektrogram MATPlotlib

Spektrogram MATPlotlib
Spektrogram to graficzna reprezentacja długości fali w czasie, która przedstawia moc transmisji w danym momencie. Mówiąc prosto, spektrogram jest reprezentacją dźwięku. Jest to również znane jako gramy głosowe lub odcisk głosowy. Poziomy sygnału są reprezentowane przez spektrogram, który jest wyświetlany w różnych kolorach. Jeśli odcień sygnału jest jasny, oznacza to, że intensywność sygnału jest silna.

Innymi słowy, szybkość próbkowania spektrogramu jest bezpośrednio związana z luminancją koloru. Krótka seria Fouriera służy do wykonywania spektrogramów. Wykonuje prostą ocenę częstotliwości zmieniającej się w czasie. Główną ideą jest rozbicie fali dźwiękowej na małe kawałki, które następnie pokazano na wykresie na czas trwania. Metoda specygram () została zastosowana z odpowiednimi argumentami dla tej wizualnej reprezentacji.

W tym artykule szczegółowo przyjrzymy się, jak narysować spektrogram w Pythonie za pomocą modułu Matplotlib.

Użyj PLT.metoda specygram ()

Tutaj omówimy, jak wykorzystać funkcję PLT.Specgram (), aby narysować spektrogram w Pythonie.

importować matplotlib.Pyplot as Plt
importować Numpy jako NP
Importuj matematyka
Czas_diff = 0.0005
Time_arr = np.Linspace (1, 6, matematyka.Ceil (6 / time_diff))
D = 30*(NP.Sin (4 * np.PI * TIME_ARR))
plt.Specgram (d, fs = 8, cmap = „Rainbow”)
plt.Tytuł („Rysunek 1”)
plt.xlabel („osi x”)
plt.YLABEL („Oś y”)
plt.pokazywać()

Przed rozpoczęciem kodu musimy wprowadzić różne biblioteki. Matplotlib.Pyplot służy do tworzenia animowanych lub statycznych wizualizacji. Biblioteka Numpy zapewnia dużą liczbę danych ilościowych. A biblioteka matematyczna jest wykorzystywana do wykonywania obliczeń matematycznych.

W kolejnym etapie musimy stwierdzić przedział czasu, aby zrobić obraz wytworzonego sygnału. Teraz inicjujemy szereg wartości za pomocą biblioteki Numpy. Tutaj nazywamy matematykę funkcji.Ceil () i wartość różnicy czasu jest dostarczana jako parametr tej funkcji.

Ponadto tworzymy nową tablicę zawierającą rzeczywiste punkty danych, które chcemy narysować. Zastosujemy metodę sin (). Jako parametr tej funkcji pomnożamy wartości 3 i Pi przez już istniejącą tablicę. Spektrogram jest tworzony przy użyciu PLT.metoda specygram ().

Dane, częstotliwość i kolor wykresu są przekazywane jako parametr tej funkcji. Podobnie ustawiamy tytuł osi x i osi y za pomocą PLT.Funkcja etykieta (). Ostatecznie reprezentujemy wykres za pomocą PLT.Metoda show ().

Rysuj spektrogram z kolorystyką tęczy

Możemy stworzyć spektrogram za pomocą PLT.funkcja specygram (). I tutaj możemy określić mapę kolorów, podając argument „CMAP” do funkcji PLT.Specgram ().

importować matplotlib.Pyplot as Plt
importować Numpy jako NP
NP.losowy.ziarno (9360801)
d_t = 0.0007
czas = np.Arange (1.0, 30.0, D_T)
sig1 = np.Sin (5 * np.PI * 150 * czas)
sig2 = 1.4 * np.grzech (1.4 * np.PI * 450 * czas)
sig2 [czas <= 11] = sig2[14 <= time] = 0
hałas = 0.8 * np.losowy.losowe (rozmiar = len (czas))
a = sig1 + sig2 + szum
Nfft = 620
Fs = int (2.5 / d_t)
plt.Specgram (a, fs = fs, cmap = „Rainbow”)
plt.tytuł („Rysunek 2”,
fontsize = 22, fontwe] ight = „normal”)
plt.pokazywać()

Po pierwsze, importujemy nasze biblioteki wymagane do wizualizacji graficznych i analizy ilościowej. Teraz stosujemy funkcję Random () biblioteki Numpy, aby zadeklarować losowy zestaw danych. Określamy wartość różnicy czasu. Weźmy nową zmienną i deklarujemy ją za pomocą metody aranżacji () biblioteki Numpy.

Ponadto integrujemy dane dla dwóch sygnałów za pomocą metody sin () biblioteki Numpy. Tworzymy nową zmienną dla szumu metodą Random (). Tutaj przekazujemy funkcję size (), aby znaleźć długość sygnału przedziału czasu.

Teraz tworzymy nową zmienną, która przechowuje dane szumu i pozostałe dwa sygnały. Oprócz tego definiujemy wartość długości segmentu i częstotliwości próbkowania. Funkcja plt.Specgram () jest wywoływany do narysowania spektrogramu. Ta funkcja zawiera trzy parametry, w tym zestaw danych osi x, częstotliwość próbkowania i kolor mapy.

Tuż przed wyświetleniem wykresu określamy tytuł wykresu za pomocą PLT.Metoda tytułu (). Tutaj możemy ustawić czcionkę i fontwęetkę tytułu.

Użycie NFFT do rysowania spektrogramu

W tym etapie utworzymy spektrogram za pomocą parametru NFFT.

Po zintegrowaniu bibliotek musimy naprawić stan losowy za pomocą metody Random (). Teraz określamy różnicę czasu. Tutaj jego wartość wynosi 0.0007. Ponadto deklarujemy wartość przedziału czasowego za pomocą funkcji biblioteki Numpy biblioteki Numpy.

W następnym kroku nabywamy wartości obu fal sygnałowych za pomocą funkcji sin (). Teraz tworzymy tymczasowy ćwierkanie drugiego sygnału. Dodajemy wartość szumu do mieszanki za pomocą funkcji Random (). Długość fali szumu otrzymujemy.

Ponadto ustawiamy wartość NFFT. Posiada liczbę zestawów danych zaangażowanych w każdy blok. Zdefiniowana jest również wartość częstotliwości próbkowania. Aby utworzyć wykresy, najpierw tworzymy dwa obiekty, a następnie stosujemy PLT.metoda wątka (). Tutaj ustawiamy nie. rzędów jako parametr.

Oprócz tego wykorzystujemy metodę specygram () do narysowania spektrogramu. Tutaj przekazaliśmy wartość nakładania się jako parametr. To pokazuje nie. punktów nakładających się na kawałki. Wreszcie w końcu musimy pokazać wykres za pomocą PLT.show () funkcja.

Wniosek

Wyjaśniliśmy metodę utworzenia spektrogramu w Pythonie. Obserwujemy wykorzystanie metody specygram () dla tego rodzaju wizualizacji. Możemy określić schemat kolorystyki spektrogramu, przekazując „cmap” jako parametr do funkcji specygram (). Ponadto otrzymujemy spektrogram o wzorze tęczowej.