Elaborazione del segnale Scipy

Elaborazione del segnale Scipy
Python è un linguaggio di programmazione a tutti gli effetti che aiuta gli sviluppatori a creare siti Web, applicazioni, rottamento Web, automazione delle attività, ecc. Python non è specializzato per nessun campo; Consente a sviluppatori e scienziati di risolvere problemi scientifici e matematici. Scipy è una biblioteca di Python e copre implementazioni altamente ottimizzate. Scipy viene utilizzato per l'elaborazione del segnale, l'ottimizzazione, l'interpolazione e l'integrazione. Scipy rende la vita di uno sviluppatore più sicura e semplice fornendo pacchetti secondari come Optimize, Signal, IO, NDImage e molti altri. Stiamo discutendo di elaborazione del segnale di Scipy che ti beneficerà nell'implementazione delle funzioni di elaborazione del segnale in Python.

Che cos'è l'elaborazione del segnale Scipy in linguaggio Python?

Scipy è la biblioteca più impegnativa di Python e si basa sull'array numpy utilizzato per il calcolo scientifico. Moduli ereditari di Scipy come l'elaborazione delle immagini, le trasformazioni di Fourier, ecc. Scipy è la prima libreria a cui gli sviluppatori pensano quando si considerano l'elaborazione del segnale. Scipy fornisce il pacchetto di segnale che contiene funzioni di filtro con strumenti di progettazione del filtro.

Modulo Scipy Scipy.Il segnale viene utilizzato per l'elaborazione del segnale. L'elaborazione del segnale è una cassetta degli attrezzi contenente due varietà di filtri per eseguire diversi tipi di operazioni: lineari e non lineari. Analizzare, manipolare e generare segnali, come suoni, immagini, ecc., è l'argomento dell'elaborazione del segnale. Progettiamo, filtriamo e interpoliamo dati monodimensionali e bidimensionali utilizzando alcune delle funzioni offerte da Scipy. Il segnale nell'elaborazione del segnale è un array di numeri reali o complessi. Esistono numerose funzioni per il filtraggio e l'analisi di vari tipi di segnali nel pacchetto secondario Signal Scipy.

Sintassi dell'elaborazione del segnale Scipy

La sintassi del pacchetto di elaborazione del segnale Scipy ha molte funzioni come le sponne B, il filtro, ecc.

La funzione dipende dal numero di argomenti e il nome della funzione è diverso; Come abbiamo discusso in precedenza, i due tipi di operazione nel filtro sono lineari e non lineari. Le equazioni lineari, convocate e di differenza sono incluse. Nella sessione seguente, discuteremo in dettaglio il pacchetto di segnale con l'aiuto di esempi semplici e comprensibili. Come sappiamo che i pacchetti hanno molti moduli o funzioni, quindi eseguiamo esempi pratici con l'aiuto di alcune funzioni menzionate di piccante.segnale in modo semplice.

Esempio 1

Questo esempio è molto semplice e appartiene all'operazione di filtraggio lineare significa convoluzione. Il processo di convoluzione implica la moltiplicazione di due array coinvolti anche nel filtraggio, che è una funzione del pacchetto di segnale. Per la convoluzione, abbiamo bisogno di due parametri nel segnale.Funzione convocata. I parametri devono essere sotto forma di array. Quindi, in questo esempio, capiremo chiaramente il funzionamento della libreria di segnale. Il seguente codice di esempio è indicato per il tuo riferimento:

Importa Numpy come NP
Dal segnale di importazione di Scipy
da Scipy Import Optimize
Importa matplotlib.Pyplot come Plt
Array1 = np.array ([12.0, 14.0, 16.0])
array2 = np.array ([2.0, 6.0, 3.0, 1.0])
risultato = segnale. Convolve (Array1, Array2)
Stampa (risultato)

In questo esempio precedente, abbiamo preso un array N-D ed eseguito convoluzione di due array denominati Array 1 e Array 2. La spiegazione del codice sta importando tutte le librerie una per una. Numpy viene utilizzato per l'array numerico e il Scipy.La libreria di segnale viene utilizzata per il filtro. Dopotutto, gli array dichiarati e inizializzati con nomi, come Array1 e Array2, sono array unidimensionali. Questi array contenevano valori fluttuanti. La libreria numpy è chiamata per ogni array in questo programma.

Alla fine, ha superato entrambi gli array come parametro nel segnale.Funzione di convluve () e assegnare un valore di ritorno della funzione alla variabile del risultato. Chiama la variabile del risultato nell'istruzione di stampa per l'uscita di visualizzazione sullo schermo. La seguente screenshot ci mostra l'output generato:

Qui, dopo aver moltiplicato due array, il risultato è [24.0 100.0 152.0 150.0 62.0 16.0]

Esempio 2

Questo esempio riguarda il filtro di equazione della differenza, che è la funzione del pacchetto di segnale. La funzione del filtro di equazione della differenza viene utilizzata per trovare vettori di condizione iniziale. L'equazione della differenza in un programma è scritta come una parola chiave Lfilter.

Importa Numpy come NP
Dal segnale di importazione di Scipy
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 = segnale.lfilter (a, b, y)
print ('Il valore del filtro dell'equazione differenza è:', var)

First Line Import Numpy Library Alias ​​NP. Ora, l'array numpy viene utilizzato nel programma come NP. Sulla seconda riga, importa il pacchetto di segnale dalla libreria Scipy. Sulla terza riga, un array dichiarato e inizializzato con il nome "A". Nella quarta riga, un array dichiarato e inizializzato con il nome "B". Nella quinta riga, un array dichiarato e inizializzato con il nome "Y". Abbiamo chiamato tutti gli array con l'aiuto della Biblioteca Numpy. Dopo quella linea, abbiamo chiamato la funzione di equazione della differenza con l'aiuto di un pacchetto di segnale. Abbiamo superato gli array come parametro della funzione. Abbiamo dichiarato la variabile "var" e assegnato un valore della funzione. Finalmente, visualizziamo l'uscita sullo schermo mediante istruzione di stampa. La seguente screenshot è l'output generato di questo programma:

La condizione iniziale del vettore è [2.4 -0.672]

Esempio 3

Questo esempio parla di un nuovo Scipy.Funzione di segnale utilizzata per progettare un filtro IIR che è iirfilter. In questa funzione, abbiamo superato gli argomenti e un tipo di filtro ellittico.

Importa Numpy come NP
Dal segnale di importazione di Scipy
Importa matplotlib.Pyplot come Plt
a, d = segnale.iirfilter (2, wn = 0.4, rp = 6, rs = 70, btype = 'highpass', ftype = 'ellip')
f, x = segnale.freqz (a, d)
Plt.Titolo ("Risposta della frequenza digitale")
Plt.Trama (F, 30*NP.Log10 (NP.ABS (x)))
Plt.Ylabel ('amplite')
Plt.xlabel ("frequenza")
Plt.spettacolo()

Nella precedente screenshot del codice, importano correttamente le librerie Numpy, Signal e Pyplot. Dopo aver importato librerie e pacchetti, chiamati segnale.IRRFILTER () e gli argomenti di passaggio corretti, il tipo di filtro deve essere ellip perché troviamo qui un'ellittica passa-alto. Abbiamo dichiarato due variabili e assegnato il valore della funzione a queste due variabili, rispettivamente. Qui, prendiamo due variabili fianco a fianco perché disegniamo grafici con i valori dell'asse X e dell'asse Y.

Successivamente, abbiamo chiamato la funzione correlata alla frequenza che è FREQZ e abbiamo superato le variabili precedenti come parametro del segnale.freqz (). Abbiamo dichiarato le variabili F e X e assegnato il valore del segnale.freqz () a f e x. Successivamente, abbiamo chiamato la libreria Matplotlib per disegnare una trama con il titolo "Risposta della frequenza digitale". Significa che il titolo del grafico è "Risposta della frequenza digitale". Successivamente, tracciamo il grafico dall'etichetta dell'asse X e dell'asse Y. Alla fine, chiamiamo la funzione show () per visualizzare il diagramma su output. La seguente screenshot è l'output generato di questo codice:

Questo grafico ci mostra un'ellittica passa-alto.

Conclusione

Abbiamo concluso che questo articolo riguarda l'elaborazione del segnale Scipy utilizzato per il filtro e la generazione di suoni di diversi tipi. Questo pacchetto contiene diverse funzioni utilizzate per vari scopi. Con l'aiuto degli esempi dati, abbiamo imparato come abbiamo usato l'elaborazione del segnale e in quale situazione abbiamo usato l'elaborazione del segnale che è un pacchetto di biblioteca di Scipy in linguaggio Python. Puoi anche generare i tuoi programmi dopo aver praticato gli esempi precedenti e modificare anche questi esempi.