Scipy Znajdź szczyty

Scipy Znajdź szczyty

Język programowania Python to język programowania na wysokim poziomie, który oferuje szeroki zakres pomocnych funkcji dla wszystkich rodzajów matematycznych, statystycznych i naukowych. Możemy wykonywać dowolną prostą i złożoną funkcję za pomocą funkcji i metod bibliotek Python. Ten przewodnik dotyczy funkcji SCIPY Find_Peaks () do analizy przetwarzania sygnału. Mówiąc dokładniej, ten przewodnik koncentruje się na tym, jak obliczyć i zidentyfikować piki włączone do sygnału.

Co to jest Scipy, znajdź szczyty?

Biblioteka Scipy oferuje funkcję Find_Peaks (), która ma być używana do znalezienia maksima, minima lub piku sygnału. Funkcja Find_Peaks () jest używana z sygnałami do ich analizy. Służy do znalezienia piku, minima lub maksimów sygnału. Znajduje piki wewnątrz podanych sygnałów na podstawie właściwości szczytowych. Porównując wartości pobliskich wartości, ta funkcja SCIPY analizuje dane w postaci jednowymiarowej tablicy w celu zidentyfikowania wszystkich lokalnych maksimów. Zrozumiemy składnię funkcji Find_Peaks (), a następnie przejdź do sekcji przykładowej, aby dowiedzieć się, jak funkcja Find_Peaks () działa w programie Python.

Składnia SCIPY Znajdź funkcję pików

Zaraz wykorzystamy funkcję Find_Peaks () dostarczoną przez bibliotekę Scipy i jej pakiet sygnałowy. Jak wcześniej omówiliśmy, funkcja Find_Peaks () służy do przetwarzania określonego sygnału w celu wyodrębnienia intensywności lub pozycji wielu pików sygnału. Zobacz składnię następującej funkcji:


Parametr „szczytowy” służy do zdefiniowania sygnału z pikami. Parametr „wysokości” służy do zdefiniowania wysokości pików. Parametr „progowy” to ndarray lub tylko liczba, która określa próg pików. Parametr „odległości” służy do zdefiniowania minimalnej odległości poziomej między sąsiednimi pikami. Parametr „znaczenia” służy do zdefiniowania znaczenia pików. Parametr „szerokości” określa szerokość pików. Parametr „Wlen” służy do obliczenia wyników piku. Parametr „rel_height” służy do obliczenia szerokości pików. Wreszcie parametr „płaskowyżu” służy do zdefiniowania płaskiego szczytu pików. Funkcja Find_Peaks () zwraca ndarray, która zawiera wszystkie wskaźniki szczytowe, które spełniają dane warunki wraz z ich właściwościami. Teraz zbadajmy kilka przydatnych przykładów programowania, aby dowiedzieć się, jak wdrożyć funkcję Find_Peaks.

Przykład 1:

Od ekonomii po nauki danych po elektronikę, praca z szczytami sygnałów ma fundamentalne znaczenie we wszystkich widocznych dziedzinach. Jak wspomniano wcześniej, szczytowe odkrycie to nie tylko znalezienie piku sygnału elektronicznego, ale minima lub maksima dowolnej funkcji matematycznej. Ponieważ znamy znaczenie posiadania niezawodnej i szybkiej funkcji, która pomaga nam znaleźć wartość i pozycję minima i maksima, użyjmy funkcji Find_Peaks () do automatycznych i szybkich obliczeń. Rozważ przykładowy program w następującym fragmencie kodu:

importować Numpy jako NP
importować matplotlib.Pyplot as Plt
od Scipy.Importuj sygnał Find_Peaks
#****** Deklaracja danych ******
x = np.Linspace (0, 100, 200)
y = x*np.losowy.Randn (200) ** 2
#****** Peak Finding ******
piki = find_peaks (y, wysokość = 2, próg = 2, odległość = 2)
h = piki [1] ['pide_heights']
pp = x [piki [0]]
#****** Minima Finding ******
y2 = y*-2
minima = Find_Peaks (Y2)
min_pos = x [minima [0]]
min_height = y2 [minima [0]]
#****** Dostosowanie danych ******
plt.Wykres (x, y)
plt.rozproszenie (pp, h, color = „r”, etykieta = „maxima”)
plt.rozproszenie (min_pos, min_height*-1, etykieta = „minima”)
plt.legenda()
plt.siatka()
plt.pokazywać()

Trzy biblioteki są importowane do programu - Numpy, Scipy i Matplotlib. Biblioteka Numpy służy do deklarowania tablic Numpy. Biblioteka Scipy służy do wywołania funkcji FIND_PEAKS (). A biblioteka MATPlotlib służy do wykreślania wykresu.

Jak widać, zgrupowaliśmy linie kodu zgodnie z funkcją, którą wykonują. Najpierw mamy sekcję „Deklaracja danych”, w której definiujemy dane dla funkcji FIND_PEAKS (). Druga sekcja to „Szczytowe znalezienie”, w której używamy funkcji Find_Peaks (), przekazując niedawno zadeklarowane dane.

Trzecia sekcja programu to „znalezienie minimów”, w którym obliczamy minima i maksima danych danych. Ostatnia sekcja to „wykreślanie danych”, w którym wykreślamy dane za pomocą PLT.fabuła () i plt.show () funkcje. Aby zobaczyć wykres generowany przez dany program, patrz następujące wygenerowane dane wyjściowe:

Przykład 2:

Praca ze sygnałami jest nie tylko ważna dla dziedziny danych lub elektroniki, ale może być również używana w dziedzinie medycyny. Elektroniczne przetwarzanie sygnału jest najczęściej stosowane i ma większe znaczenie w dziedzinie medycyny niż w jakiejkolwiek innej dziedzinie. W tym przykładzie wykorzystamy funkcję elektrokardiogramu do interpretacji sygnału elektronicznego. Zobacz przykładowy kod w następującym fragmencie kodu:

importować matplotlib.Pyplot as Plt
od Scipy.Importuj sygnał Find_Peaks
od Scipy.Misc Import Electrocardiogram
#****** Peak Finding ******
x = elektrokardiogram () [1000: 3000]
Peaks, _ = Find_Peaks (x, wysokość = 1)
#****** Dostosowanie danych ******
plt.Wykres (x)
plt.Wykres (szczyty, x [piki], „x”)
plt.Wykres (NP.Zeros_ Like (x), „-”, color = „Gray”)
plt.pokazywać()


Biblioteka MATPlotlib jest zawarta w programie do wykreślenia wykresu. Biblioteka Scipy służy do wywoływania pakietu sygnału i misc, aby funkcje Find_Peaks i elektrokardiogramy można wywołać z odpowiedniego pakietu. Teraz, podobnie jak w poprzednim przykładzie, podzielamy program na sekcje. Pierwsza sekcja to sekcja „Szczytowe znalezienie”, w których używamy funkcji Find_Peaks () i elektrokardiogram (), aby znaleźć piki wygenerowanego elektrokardiogramu. Ostatnia sekcja to sekcja „Wykreślenie danych”, w której wykreślamy wykres. Teraz zobaczmy wykreślony wykres w następującym wyjściu:

Przykład 3:

Przejdźmy do innego przykładu, abyś mógł wyraźnie zobaczyć, jak działa funkcja FindPeaks (). Rozważ następujący przykładowy kod:

importować Numpy jako NP
Z sygnału importu Scipy
importować matplotlib.Pyplot as Plt
#****** Deklaracja danych ******
Data = NP.Linspace (0, 4 * np.PI, 100)
sig = np.sin (dane) + 0.4 * np.grzech (1.8 * Dane)
#****** Peak Finding ******
SP, _ = sygnał.Find_Peaks (sig)
Promina = sygnał.Peak_pominences (SIG, SP) [0]
h = sig [sp] - promina
#****** Dostosowanie danych ******
plt.fabuła (sig)
plt.fabuła (sp, sig [sp], „*”)
plt.vlines (x = sp, ymmin = h, ymax = sig [sp])
plt.pokazywać()


Ponownie program jest podzielony na różne sekcje, ponieważ każda sekcja wykonuje inną funkcję. Dane są zadeklarowane w sekcji „Deklaracja danych”. Funkcja wyszukiwania szczytowego jest wykonywana w sekcji „Szczytowe znalezienie”. Wreszcie wykres jest wykreślany w sekcji „Wykreślanie danych”. Teraz sprawdźmy wykreślony wykres w następnym wyjściu:

Wniosek

Ten przewodnik dotyczy przetwarzania i analizy sygnałów za pomocą funkcji Find_Peaks (). Find_peaks () to funkcja przetwarzania sygnału zdefiniowana w bibliotece Scipy w Python. Służy do znalezienia pików sygnału, maksimów i minimów dowolnej funkcji matematycznej. Zbadaliśmy kilka prostych i złożonych przykładów, aby zrozumieć, w jaki sposób funkcja Find_Peaks () można wdrożyć w programie Python. W szczególności skupiliśmy się na obliczaniu i znalezieniu pików zawartych w podanych danych, a nie na znalezieniu maksimów lub minima danych danych.