Traitement du signal Scipy

Traitement du signal Scipy
Python est un langage de programmation à part entière qui aide les développeurs à créer des sites Web, des applications, un décollage en ligne, une automatisation des tâches, etc. Python n'est pas spécialisé pour aucun champ; Il permet aux développeurs et aux scientifiques de résoudre des problèmes scientifiques et mathématiques. Scipy est une bibliothèque de Python et couvre des implémentations hautement optimisées. SCIPY est utilisé pour le traitement du signal, l'optimisation, l'interpolation et l'intégration. Scipy rend la vie d'un développeur plus sécurisé et plus simple en fournissant des sous-packages comme Optimize, Signal, IO, Ndimage et bien d'autres. Nous discutons du traitement du signal Scipy qui vous sera utile dans la mise en œuvre des fonctions de traitement du signal dans Python.

Qu'est-ce que le traitement du signal Scipy en langue python?

Scipy est la bibliothèque la plus exigeante de Python et s'appuie sur le tableau Numpy utilisé pour le calcul scientifique. Des modules héréditaires de Scipy comme le traitement d'image, les transformations de Fourier, etc. Scipy est la première bibliothèque auxquelles les développeurs pensent lors de l'examen du traitement du signal. Scipy fournit le package de signal qui contient des fonctions de filtre avec des outils de conception de filtre.

Module scipy scipy.Le signal est utilisé pour le traitement du signal. Le traitement du signal est une boîte à outils contenant deux variétés de filtres pour effectuer différents types d'opérations: linéaire et non linéaire. Analyser, manipuler et générer des signaux, tels que des sons, des images, etc., est le sujet du traitement du signal. Nous concevons, filtrons et interpolons des données unidimensionnelles et bidimensionnelles en utilisant certaines des fonctions offertes par SciPy. Le signal dans le traitement du signal est un tableau de nombres réels ou complexes. Il existe de nombreuses fonctions de filtrage et d'analyse de divers types de signaux dans le signal Scipy Sub package.

Syntaxe du traitement du signal Scipy

La syntaxe du package de traitement du signal SCIPY a de nombreuses fonctions comme B-splines, filtrage, etc.

La fonction dépend du nombre d'arguments, et le nom de la fonction est différent; Comme nous l'avons discuté ci-dessus, les deux types de fonctionnement en filtrage sont linéaires et non linéaires. Les équations linéaires, de convolution et de différence sont incluses. Dans la session suivante, nous discuterons en détail du package de signaux à l'aide d'exemples simples et compréhensibles. Comme nous le savons, les packages ont de nombreux modules ou fonctions, nous effectuons donc des exemples pratiques à l'aide de quelques fonctions mentionnées d'épicé.signal d'une manière facile.

Exemple 1

Cet exemple est très simple et appartient à l'opération de filtrage linéaire signifie convolution. Le processus de convolution implique la multiplication de deux tableaux également impliqués dans le filtrage, qui est fonction du package de signal. Pour la convolution, nous avons besoin de deux paramètres dans le signal.Convolution de la fonction. Les paramètres doivent être sous la forme de tableaux. Ainsi, dans cet exemple, nous comprendrons clairement le travail de la bibliothèque de signaux. L'exemple de code suivant est donné pour votre référence:

Importer Numpy comme NP
à partir du signal d'importation Scipy
à partir de Scipy Import Optimize
Importer Matplotlib.pypllot comme plt
array1 = np.Array ([12.0, 14.0, 16.0])
array2 = np.Array ([2.0, 6.0, 3.0, 1.0])
résultat = signal. Convolution (array1, array2)
Imprimer (résultat)

Dans cet exemple précédent, nous avons pris un tableau N-D et effectué une convolution de deux baies nommées Array 1 et Array 2. L'explication du code importe toutes les bibliothèques une par une. Numpy est utilisé pour le tableau numérique et Scipy.La bibliothèque de signaux est utilisée pour le filtrage. Après tout, des tableaux déclarés et initialisés avec des noms, tels que Array1 et Array2, sont des tableaux unidimensionnels. Ces tableaux contenaient des valeurs flottantes. La bibliothèque Numpy est appelée pour chaque tableau de ce programme.

Enfin, passait les deux tableaux en tant que paramètre dans le signal.Convolve () Fonction et affectez une valeur de retour de la fonction à la variable de résultat. Appelez la variable de résultat dans l'instruction d'impression pour la sortie d'affichage à l'écran. La capture d'écran suivante nous montre la sortie générée:

Ici, après avoir multiplié deux tableaux, le résultat est [24.0 100.0 152.0 150.0 62.0 16.0]

Exemple 2

Cet exemple concerne le filtre de différence d'équation, qui est la fonction du package de signal. La fonction de filtre d'équation de différence est utilisée pour trouver des vecteurs de condition initiale. L'équation de différence dans un programme est écrite comme un mot-clé lfilter.

Importer Numpy comme NP
à partir du signal d'importation 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 = signal.lfilter (a, b, y)
Imprimer ('La valeur du filtre de l'équation de différence est:', var)

Première ligne Import Numpy Library Alias ​​NP. Maintenant, le tableau Numpy est utilisé dans le programme comme NP. Sur la deuxième ligne, importez le package de signal de la bibliothèque Scipy. Sur la troisième ligne, le tableau déclaré et initialisé avec nom «A». Sur la quatrième ligne, le tableau déclaré et initialisé avec le nom «B». Sur la cinquième ligne, déclarée et initialisé le tableau avec le nom «Y». Nous avons appelé tous les tableaux à l'aide de la bibliothèque Numpy. Après cette ligne, nous avons appelé la fonction d'équation de différence à l'aide d'un package de signaux. Nous avons passé des tableaux comme paramètre de la fonction. Nous avons déclaré la variable «var» et attribué une valeur de la fonction. Enfin, nous affichons la sortie à l'écran par l'instruction PRINT. La capture d'écran suivante est la sortie générée de ce programme:

L'état initial du vecteur est [2.4 -0.672]

Exemple 3

Cet exemple concerne un nouveau scipy.Fonction de signal utilisée pour concevoir un filtre IIR qui est iirfilter. Dans cette fonction, nous avons passé des arguments et un type de filtre qui est elliptique.

Importer Numpy comme NP
à partir du signal d'importation Scipy
Importer Matplotlib.pypllot comme plt
a, d = signal.iirfilter (2, wn = 0.4, RP = 6, RS = 70, BTYPE = 'Highpass', ftype = 'ellip')
f, x = signal.Freqz (A, D)
PLT.Titre («Réponse de la fréquence numérique»)
PLT.Terrain (F, 30 * NP.log10 (np.abs (x)))
PLT.ylabel ('amplite')
PLT.xlabel («fréquence»)
PLT.montrer()

Dans la capture d'écran du code précédent, importez avec succès les bibliothèques Numpy, Signal et Pyplot. Après avoir importé des bibliothèques et des packages, appelé signal.irrfilter () et passant correctement les arguments, le type de filtre doit être ellip car nous trouvons ici un elliptique passe-haut. Nous avons déclaré deux variables et attribué la valeur de la fonction à ces deux variables, respectivement. Ici, nous prenons deux variables côte à côte car nous dessions des graphiques avec les valeurs de l'axe X et de l'axe y.

Après cela, nous avons appelé la fonction liée à la fréquence qui est Freqz et passé les variables précédentes comme paramètre de signal.freqz (). Nous avons déclaré les variables F et X et attribué la valeur du signal.freqz () à f et x. Après cela, nous avons appelé la bibliothèque Matplotlib pour dessiner une intrigue avec le titre «Réponse de la fréquence numérique». Cela signifie que le titre du graphique est la «réponse de la fréquence numérique». Après cela, nous tracons le graphique par l'étiquette de l'axe X et de l'axe Y. En fin de compte, nous appelons la fonction show () pour afficher le tracé sur la sortie. La capture d'écran suivante est la sortie générée de ce code:

Ce graphique nous montre un elliptique haut de gamme.

Conclusion

Nous avons conclu que cet article concerne le traitement du signal Scipy utilisé pour filtrer et générer des sons de différents types. Ce package contient différentes fonctions utilisées à diverses fins. À l'aide des exemples donnés, nous avons appris comment nous avons utilisé le traitement du signal et dans quelle situation nous avons utilisé le traitement du signal qui est un ensemble de bibliothèque Scipy en langue Python. Vous pouvez également générer vos programmes après avoir pratiqué les exemples précédents et modifier ces exemples également.