Przetwarzanie sygnału Scipy

Przetwarzanie sygnału Scipy
Python to pełnoprawny język programowania, który pomaga programistom tworzyć strony internetowe, aplikacje, złomowanie stron internetowych, automatyzacja zadań itp. Python nie jest wyspecjalizowany dla żadnego pola; Pozwala programistom i naukowcom rozwiązywać problemy naukowe i matematyczne. SCIPY to biblioteka Pythona i obejmuje wysoce zoptymalizowane implementacje. SCIPY służy do przetwarzania sygnału, optymalizacji, interpolacji i integracji. SCIPY sprawia, że ​​życie programisty jest bezpieczniejsze i proste, zapewniając podwodne pakiety, takie jak optymalizowane, sygnały, IO, NDIMAGE i wiele innych. Omawiamy przetwarzanie sygnału SCIPY, które przyniesie korzyści na wdrażaniu funkcji przetwarzania sygnału w Python.

Co to jest przetwarzanie sygnału Scipy w języku Python?

Scipy to najbardziej wymagająca biblioteka Pythona i opiera się na tablicy Numpy używanej do obliczeń naukowych. SCIPY odziedziczone moduły, takie jak przetwarzanie obrazu, transformacje Fouriera itp. SCIPY to pierwsza biblioteka, o której myślą programiści, rozważając przetwarzanie sygnału. Scipy zapewnia pakiet sygnałowy zawierający funkcje filtra z narzędziami do projektowania filtru.

Scipy moduł Scipy.Sygnał służy do przetwarzania sygnału. Przetwarzanie sygnału to zestaw narzędzi zawierający dwie odmiany filtrów do wykonywania różnych rodzajów operacji: liniowy i nieliniowy. Analiza, manipulowanie i generowanie sygnałów, takich jak dźwięki, zdjęcia itp., jest przedmiotem przetwarzania sygnału. Projektujemy, filtrujemy i interpolujemy dane jednowymiarowe i dwuwymiarowe przy użyciu niektórych funkcji oferowanych przez Scipy. Sygnał w przetwarzaniu sygnału jest szeregiem liczb rzeczywistych lub złożonych. Istnieje wiele funkcji filtrowania i analizy różnych rodzajów sygnałów w pakiecie Sigip Scipy.

Składnia przetwarzania sygnału Scipy

Składnia pakietu przetwarzania sygnału SCIPY ma wiele funkcji, takich jak B-splajny, filtrowanie itp.

Funkcja zależy od liczby argumentów, a nazwa funkcji jest inna; Jak omówiliśmy powyżej, dwa rodzaje działań w filtrowaniu są liniowe i nieliniowe. Uwzględniane są równania liniowe, konwencjonalne i różnice. W poniższej sesji szczegółowo omówimy pakiet sygnału za pomocą prostych i zrozumiałych przykładów. Jak wiemy, pakiety mają wiele modułów lub funkcji, dlatego wykonujemy praktyczne przykłady za pomocą kilku wymienionych funkcji pikantnych.sygnalizować w łatwy sposób.

Przykład 1

Ten przykład jest bardzo prosty i należy do liniowej operacji filtrowania. Proces splotu implikuje pomnożenie dwóch tablic zaangażowanych również w filtrowanie, co jest funkcją pakietu sygnału. Do splotu potrzebujemy dwóch parametrów w sygnale.Konwencja funkcji. Parametry muszą być w postaci tablic. W tym przykładzie wyraźnie zrozumiemy działanie biblioteki sygnałowej. Poniższy przykładowy kod jest podany w celu odniesienia:

importować Numpy jako NP
Z sygnału importu Scipy
z Scipy Import Optimalize
importować matplotlib.Pyplot as Plt
array1 = np.tablica ([12.0, 14.0, 16.0])
array2 = np.tablica ([2.0, 6.0, 3.0, 1.0])
wynik = sygnał. Konwencja (Array1, Array2)
Drukuj (wynik)

W poprzednim przykładzie wzięliśmy tablicę N-D i wykonaliśmy splot dwóch tablic o nazwie Array 1 i Array 2. Objaśnienie kodu to import wszystkich bibliotek jeden po drugim. Numpy jest używany do tablicy numerycznej i scipy.Biblioteka sygnałów służy do filtrowania. W końcu zadeklarowane i zainicjowane tablice z nazwami, takimi jak Array1 i Array2, są tablicami jednowymiarowymi. Te tablice zawierały pływające wartości. Biblioteka Numpy jest wywoływana dla każdej tablicy w tym programie.

W końcu przekazał obie tablice jako parametr w sygnale.funkcja zempinuj () i przypisz wartość zwracaną funkcji do zmiennej wyniku. Zadzwoń do zmiennej wyniku w instrukcji wydruku, aby wyświetlić wyjście na ekranie. Poniższy zrzut ekranu pokazuje nam wygenerowane wyjście:

Tutaj, po pomnożeniu dwóch tablic, wynik jest [24.0 100.0 152.0 150.0 62.0 16.0]

Przykład 2

Ten przykład dotyczy filtra różnicowego, który jest funkcją pakietu sygnału. Funkcja filtra równania różnicowego służy do znalezienia wektorów początkowych. Różnica w programie jest napisana jako słowo kluczowe LFILTER.

importować Numpy jako NP
Z sygnału importu Scipy
A = NP.tablica ([3.0, 0.0, 2.0, 6.0])
B = NP.tablica ([5.0/2, 1.0/5])
y = np.tablica ([2.0, -2.0/5])
var = sygnał.LFILTER (A, B, Y)
print („Wartość filtra równania różnicy to: ', var)

Pierwsza linia importuj bibliotekę Numpy Alias ​​NP. Teraz tablica Numpy jest używana w programie jako NP. W drugim wierszu zaimportuj pakiet sygnału z biblioteki Scipy. W trzecim wierszu zadeklarował i zainicjował tablicę o imieniu „A”. Na czwartym wierszu zadeklarował i zainicjował tablicę o imieniu „B”. Na piątym wierszu zadeklarował i zainicjował tablicę o nazwie „Y”. Zadzwoniliśmy do wszystkich tablic z pomocą biblioteki Numpy. Po tej linii nazwaliśmy funkcję równania różnicowego za pomocą pakietu sygnału. Minęliśmy tablice jako parametr funkcji. Zadeklarowaliśmy zmienną „var” i przypisaliśmy wartość funkcji. W końcu wyświetlamy wyjście na ekranie według instrukcji drukowania. Poniższy zrzut ekranu to wygenerowane dane wyjściowe tego programu:

Początkowy stan wektora wynosi [2.4 -0.672]

Przykład 3

Ten przykład dotyczy nowego scipy.Funkcja sygnału używana do projektowania filtra IIR, która jest iirfilter. W tej funkcji przekazaliśmy argumenty i rodzaj filtra, który jest eliptyczny.

importować Numpy jako NP
Z sygnału importu Scipy
importować matplotlib.Pyplot as Plt
a, d = sygnał.iirfilter (2, wn = 0.4, rp = 6, rs = 70, btype = „highpass”, ftype = „elips”)
f, x = sygnał.Freqz (A, D)
plt.Tytuł („Odpowiedź częstotliwości cyfrowej”)
plt.Wykres (f, 30*np.log10 (NP.ABS (x)))
plt.YLABEL („Amplitute”)
plt.xlabel („częstotliwość”)
plt.pokazywać()

W poprzednim zrzucie ekranu kodu pomyślnie importuj biblioteki Numpy, Signal i Pyplot. Po zaimportowaniu bibliotek i pakietów, zwanych sygnałem.IrrFilter () i prawidłowo przekazywanie argumentów, typ filtra musi być elips. Deklarowaliśmy odpowiednio dwie zmienne i przypisaliśmy wartość funkcji do tych dwóch zmiennych. Tutaj przyjmujemy dwie zmienne obok siebie, ponieważ rysujemy wykresy z wartościami X i osi Y.

Następnie nazwaliśmy funkcję związaną z częstotliwością, która jest freqz i przekazaliśmy poprzednie zmienne jako parametr sygnału.Freqz (). Zadeklarowaliśmy zmienne F i X i przypisaliśmy wartość sygnału.freqz () do F i x. Następnie zadzwoniliśmy do biblioteki MATPlotlib, aby narysować fabułę z tytułem „Odpowiedź częstotliwości cyfrowej”. Oznacza to, że tytuł wykresu to „odpowiedź częstotliwości cyfrowej”. Następnie wykreślamy wykres według etykiety osi x i osi y. W końcu wywołujemy funkcję show (), aby wyświetlić wykres na wyjściu. Poniższy zrzut ekranu jest wygenerowanym wyjściem tego kodu:

Ten wykres pokazuje nam eliptykę o wysokim przejściu.

Wniosek

Doszliśmy do wniosku, że ten artykuł dotyczy przetwarzania sygnału Scipy używanego do filtrowania i generowania różnych rodzajów. Ten pakiet zawiera różne funkcje używane do różnych celów. Za pomocą podanych przykładów dowiedzieliśmy się, w jaki sposób użyliśmy przetwarzania sygnału i w której sytuacji użyliśmy przetwarzania sygnału, który jest pakietem biblioteki scipy w języku Python. Możesz także generować swoje programy po ćwiczeniu poprzednich przykładów i modyfikacji tych przykładów.