Scipy -Signalverarbeitung

Scipy -Signalverarbeitung
Python ist eine vollwertige Programmiersprache, mit der Entwickler Websites, Anwendungen, Web-Schrott, Aufgabenautomatisierung usw. erstellen können. Python ist auf keines Gebiet spezialisiert; Es ermöglicht Entwicklern und Wissenschaftlern, wissenschaftliche und mathematische Probleme zu lösen. Scipy ist eine Bibliothek von Python und deckt hoch optimierte Implementierungen ab. Scipy wird zur Signalverarbeitung, Optimierung, Interpolation und Integration verwendet. Scipy macht das Leben eines Entwicklers sicherer und einfacher, indem Subpakete wie Optimize, Signal, IO, NDIMage und viele mehr bereitgestellt werden. Wir diskutieren über die scipy -Signalverarbeitung, die Ihnen bei der Implementierung von Signalverarbeitungsfunktionen in Python zugute kommt.

Was ist Scipy -Signalverarbeitung in der Python -Sprache?

Scipy ist die anspruchsvollste Bibliothek von Python und baut auf dem Numpy -Array auf, das für wissenschaftliche Berechnungen verwendet wird. Scipy erbte Module wie Bildverarbeitung, Fourier -Transformationen usw. Scipy ist die erste Bibliothek, über die Entwickler nachdenken, wenn sie die Signalverarbeitung in Betracht ziehen. Scipy stellt das Signalpaket bereit, das Filterfunktionen mit Filterentwurfstools enthält.

Scipy Modul Scipy.Signal wird für die Signalverarbeitung verwendet. Die Signalverarbeitung ist eine Toolbox mit zwei Filternsorten zur Durchführung verschiedener Operationsarten: linear und nicht linear. Signale wie Sounds, Bilder usw. analysieren, manipulieren und generieren., ist Gegenstand der Signalverarbeitung. Wir entwerfen, filtern und interpolieren Sie eindimensionale und zweidimensionale Daten unter Verwendung einiger der von Scipy angebotenen Funktionen. Das Signal in der Signalverarbeitung ist ein Array von realen oder komplexen Zahlen. Es gibt zahlreiche Funktionen zum Filtern und Analysieren verschiedener Arten von Signalen im Signal Scipy Subpaket.

Syntax der Scipy -Signalverarbeitung

Die Scipy-Signalverarbeitungspaket-Syntax hat viele Funktionen wie B-Splines, Filterung usw.

Die Funktion hängt von der Anzahl der Argumente ab, und der Funktionsname ist unterschiedlich. Wie oben diskutiert, sind die beiden Betriebstypen bei der Filterung linear und nicht linear. Lineare, Convolve und Differenzgleichungen sind enthalten. In der folgenden Sitzung werden wir das Signalpaket mit Hilfe einfacher und verständlicher Beispiele ausführlich besprechen. Wie wir wissen, dass Pakete viele Module oder Funktionen haben, führen wir mit Hilfe einiger genannter Funktionen von Spicy praktische Beispiele durch.auf einfache Weise signalisieren.

Beispiel 1

Dieses Beispiel ist sehr einfach und gehört zur linearen Filterbetriebsbetriebsbetriebs -Faltung. Der Faltungsprozess impliziert die Multiplikation von zwei Arrays, die ebenfalls an der Filterung beteiligt sind, was eine Funktion des Signalpakets ist. Für die Faltung benötigen wir zwei Parameter im Signal.CONVOLVE -Funktion. Parameter müssen in Form von Arrays erfolgen. In diesem Beispiel werden wir also die Arbeit der Signalbibliothek klar verstehen. Der folgende Beispielcode wird für Ihre Referenz angegeben:

Numph als NP importieren
vom Scipy -Importsignal
von scipy import optimize
Matplotlib importieren.Pyplot als PLT
Array1 = np.Array ([12).0, 14.0, 16.0]))
Array2 = np.Array ([2).0, 6.0, 3.0, 1.0]))
Ergebnis = Signal. Convolve (Array1, Array2)
Druck (Ergebnis)

In diesem vorherigen Beispiel haben wir ein N-D-Array genommen und die Faltung von zwei Arrays mit dem Namen Array 1 und Array 2 durchgeführt. Die Erklärung der Code ist das Importieren aller Bibliotheken nacheinander. Numpy wird für numerische Array und Scipy verwendet.Signalbibliothek wird zum Filtern verwendet. Schließlich sind deklarierte und initialisierte Arrays mit Namen wie Array1 und Array2 eindimensionale Arrays. Diese Arrays enthielten schwimmende Werte. Die Numpy -Bibliothek ist für jedes Array in diesem Programm aufgerufen.

Endlich haben beide Arrays als Parameter im Signal bestanden.Convolve () -Funktion und weisen Sie der Ergebnisvariablen einen Rückgabewert der Funktion zu. Rufen Sie die Ergebnisvariable in der Druckanweisung für die Anzeigeausgabe auf dem Bildschirm auf. Der folgende Screenshot zeigt uns die generierte Ausgabe:

Hier, nach zwei Arrays, ist das Ergebnis [24.0 100.0 152.0 150.0 62.0 16.0]

Beispiel 2

In diesem Beispiel geht es um den Differenz-Gleichungsfilter, der die Funktion des Signalpakets ist. Differenz-Gleichungsfilterfunktion wird verwendet, um anfängliche Konditionsvektoren zu finden. Die Differenzgleichung in einem Programm wird als LFILTER-Schlüsselwort geschrieben.

Numph als NP importieren
vom Scipy -Importsignal
a = np.Array ([3.0, 0.0, 2.0, 6.0]))
B = NP.Array ([5.0/2, 1.0/5])
y = np.Array ([2).0, -2.0/5])
var = Signal.lfilter (a, b, y)
print ('Differenzgleichungsfilterwert ist:', var)

Erste Zeile importieren Numpy Library alias NP. Jetzt wird das Numpy -Array im Programm als NP verwendet. Importieren Sie in der zweiten Zeile das Signalpaket aus der Scipy -Bibliothek. In der dritten Zeile deklarierte und initialisierte das Array mit dem Namen "A". In der vierten Zeile deklarierte und initialisierte das Array mit dem Namen "B" und initialisierte und initialisierte sie. In der fünften Zeile deklarierte und initialisierte das Array mit dem Namen "Y" und initialisierte und initialisierte das Array. Wir haben alle Arrays mit Hilfe der Numpy -Bibliothek angerufen. Nach dieser Zeile haben wir die Differenz-Gleichungsfunktion mit Hilfe eines Signalpakets bezeichnet. Wir haben Arrays als Parameter der Funktion bestanden. Wir haben die Variable „var“ deklariert und einen Wert der Funktion zugewiesen. Endlich zeigen wir die Ausgabe auf dem Bildschirm mit der Druckanweisung an. Der folgende Screenshot ist die generierte Ausgabe dieses Programms:

Der Anfangszustand des Vektors ist [2.4 -0.672]

Beispiel 3

In diesem Beispiel handelt es sich um eine neue Skipei.Signalfunktion zum Entwerfen eines IIR -Filters, der ist iirfilter. In dieser Funktion haben wir Argumente und eine Art von Filter übergeben, der elliptisch ist.

Numph als NP importieren
vom Scipy -Importsignal
Matplotlib importieren.Pyplot als PLT
A, d = Signal.iirfilter (2, wn = 0.4, rp = 6, rs = 70, bype = 'Highpass', ftype = 'ellip')
F, x = Signal.freqz (a, d)
PLT.Titel ('Reaktion der digitalen Frequenz')
PLT.Diagramm (F, 30*NP.log10 (np.ABS (x)))
PLT.Ylabel ('Amplitute')
PLT.xlabel ('Frequenz')
PLT.zeigen()

Im vorherigen Code -Screenshot importieren Sie Numpy-, Signal- und Pyplot -Bibliotheken erfolgreich. Nach dem Importieren von Bibliotheken und Paketen als Signal bezeichnet.IRRFILTER () und Argumente ordnungsgemäß übergeben, der Filtertyp muss Ellip sein, da wir hier eine Hochpasseliptik finden. Wir haben zwei Variablen deklariert und dem Wert der Funktion diesen beiden Variablen zugeordnet. Hier nehmen wir zwei Variablen nebeneinander, da wir Diagramme mit den X-Achse- und Y-Achse-Werten zeichnen.

Danach haben wir die frequenzbezogene Funktion bezeichnet, die FREQZ ist und die vorherigen Variablen als Signalparameter bestanden hat.freqz (). Wir haben die F- und X -Variablen deklariert und den Wert des Signals zugewiesen.freqz () bis f und x. Danach haben wir die Matplotlib -Bibliothek angerufen, um eine Handlung mit dem Titel "Reaktion der digitalen Frequenz" zu zeichnen. Dies bedeutet, dass der Titel der Grafik "Reaktion der digitalen Frequenz" ist. Danach zeichnen wir das Diagramm nach der Etikett der x-Achse und der y-Achse. Am Ende rufen wir die Funktion show () auf, um das Diagramm für die Ausgabe anzuzeigen. Der folgende Screenshot ist die generierte Ausgabe dieses Codes:

Diese Grafik zeigt uns eine Hochpasseliptik.

Abschluss

Wir sind zu dem Schluss gekommen, dass es in diesem Artikel um Scipy -Signalverarbeitung geht. Dieses Paket enthält unterschiedliche Funktionen, die für verschiedene Zwecke verwendet werden. Mit Hilfe der angegebenen Beispiele haben wir gelernt, wie wir die Signalverarbeitung verwendeten und unter welcher Situation eine Signalverarbeitung verwendet wurde, bei der es sich um ein Paket von Scipy -Bibliothek in der Python -Sprache handelt. Sie können Ihre Programme nach dem Üben der vorherigen Beispiele auch generieren und auch diese Beispiele ändern.