Scipy signalbehandling

Scipy signalbehandling
Python er et fullverdig programmeringsspråk som hjelper utviklere med å bygge nettsteder, applikasjoner, nettverk, oppgavautomatisering osv. Python er ikke spesialisert for noe felt; Det lar utviklere og forskere løse vitenskapelige og matematiske problemer. Scipy er et bibliotek med Python og dekker svært optimaliserte implementeringer. Scipy brukes til signalbehandling, optimalisering, interpolasjon og integrasjon. Scipy gjør en utviklers liv sikrere og enkelt ved å tilby underpakker som Optimize, Signal, IO, Ndimage og mange flere. Vi diskuterer scipy signalbehandling som vil være til nytte for deg i implementering av signalbehandlingsfunksjoner i Python.

Hva er scipy signalbehandling på python språk?

Scipy er det mest krevende biblioteket i Python og bygger på det numpy matrisen som brukes til vitenskapelig beregning. Scipy arvelige moduler som bildebehandling, Fourier -transformasjoner osv. Scipy er det første biblioteket som utviklere tenker på når de vurderer signalbehandling. Scipy inneholder signalpakken som inneholder filterfunksjoner med filterdesignverktøy.

Scipy Module Scipy.Signal brukes til signalbehandling. Signalbehandling er en verktøykasse som inneholder to varianter av filtre for å utføre forskjellige typer operasjoner: lineær og ikke-lineær. Analysere, manipulere og generere signaler, for eksempel lyder, bilder osv., er gjenstand for signalbehandling. Vi designer, filtrerer og interpolerer endimensjonale og todimensjonale data ved å bruke noen av funksjonene som tilbys av Scipy. Signalet i signalbehandling er en rekke reelle eller komplekse tall. Det er mange funksjoner for filtrering og analyse av forskjellige typer signaler i signalskipy underpakken.

Syntaks for scipy signalbehandling

Syntaks for scipy signalbehandlingspakke har mange funksjoner som b-splines, filtrering osv.

Funksjonen avhenger av antall argumenter, og funksjonsnavnet er annerledes; Som vi diskutert ovenfor, er de to typene drift i filtrering lineær og ikke-lineær. Lineære, konvolve og forskjell ligninger er inkludert. I den påfølgende økten vil vi diskutere signalpakken i detalj ved hjelp av enkle og forståelige eksempler. Som vi vet at pakker har mange moduler eller funksjoner, så utfører vi praktiske eksempler ved hjelp av noen få nevnte funksjoner av krydret.signal på en enkel måte.

Eksempel 1

Dette eksemplet er veldig enkelt og tilhører lineær filtreringsoperasjon betyr konvolusjon. Konvolusjonsprosessen innebærer multiplikasjon av to matriser også involvert i filtrering, som er en funksjon av signalpakken. For konvolusjon trenger vi to parametere i signalet.konvolver funksjon. Parametere må være i form av matriser. Så i dette eksemplet vil vi tydelig forstå signalbibliotekets arbeid. Følgende prøvekode er gitt for din referanse:

Importer numpy som NP
fra scipy importsignal
fra Scipy Import Optimize
Importer matplotlib.Pyplot som Plt
Array1 = NP.Array ([12.0, 14.0, 16.0])
Array2 = NP.Array ([2.0, 6.0, 3.0, 1.0])
Resultat = signal. Convolve (Array1, Array2)
trykk (resultat)

I dette forrige eksemplet tok vi en N-D-matrise og utførte konvolusjon av to matriser som heter Array 1 og Array 2. Kodeforklaringen importerer alle biblioteker en etter en. Numpy brukes til numerisk matrise og scipy.Signalbibliotek brukes til filtrering. Tross alt, erklærte og initialiserte matriser med navn, for eksempel Array1 og Array2 er endimensjonale matriser. Disse matriser inneholdt flytende verdier. Numpy -biblioteket blir kalt for hver matrise i dette programmet.

Endelig passerte begge matriser som en parameter i signalet.konvolve () -funksjonen og tilordne en returverdi av funksjonen til resultatvariabelen. Ring resultatvariabelen i utskriftserklæringen for visningsutgang på skjermen. Følgende skjermbilde viser oss den genererte utgangen:

Her, etter å ha multipliserer to matriser, er resultatet [24.0 100.0 152.0 150.0 62.0 16.0]

Eksempel 2

Dette eksemplet handler om forskjellsutstyrsfilteret, som er signalpakkenes funksjon. Forskjell-ligningsfilterfunksjon brukes til å finne vektorer med innledende betingelser. Differenden-ligningen i et program er skrevet som et lfilter nøkkelord.

Importer numpy som NP
fra 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 ('Difference Likningsfilterverdi er:', var)

First Line Import Numpy Library Alias ​​NP. Nå brukes Numpy Array i programmet som NP. Importer signalpakken fra Scipy -biblioteket på den andre linjen fra Scipy -biblioteket. På den tredje linjen, erklært og initialisert matrise med navn “A”. På fjerde linje, erklært og initialisert matrise med navn “B”. På den femte linjen, erklært og initialisert matrise med navnet "y". Vi kalte alle matriser ved hjelp av Numpy Library. Etter den linjen kalte vi forskjellsutstyrsfunksjonen ved hjelp av en signalpakke. Vi passerte matriser som en parameter for funksjonen. Vi erklærte variabelen “var” og tildelte en verdi av funksjonen. Endelig viser vi utdata på skjermen etter utskriftserklæringen. Følgende skjermbilde er den genererte utgangen av dette programmet:

Den opprinnelige tilstanden til vektoren er [2.4 -0.672]

Eksempel 3

Dette eksemplet handler om en ny scipy.Signalfunksjon som brukes til å designe et IIR -filter som er Iirfilter. I denne funksjonen passerte vi argumenter og en type filter som er elliptisk.

Importer numpy som NP
fra scipy importsignal
Importer matplotlib.Pyplot som Plt
a, d = signal.iirfilter (2, wn = 0.4, RP = 6, Rs = 70, BType = 'Highpass', FType = 'Ellip')
f, x = signal.freqz (a, d)
plt.Tittel ('Response of Digital Frequency')
plt.plot (f, 30*np.Log10 (NP.abs (x))))
plt.Ylabel ('Amplitute')
plt.xlabel ('frekvens')
plt.forestilling()

I forrige kodeskjermbilde, importer Numpy-, Signal- og Pyplot -biblioteker. Etter å ha importert biblioteker og pakker, kalt signal.Irrfilter () og bestående argumenter riktig, må filtertypen være ellip fordi vi her finner en høypass elliptisk. Vi erklærte to variabler og tildelte verdien av funksjonen til disse to variablene henholdsvis. Her tar vi to variabler side om side fordi vi tegner grafer med x-aksen og y-aksen verdier.

Etter det kalte vi den frekvensrelaterte funksjonen som er Freqz og passerte de tidligere variablene som en parameter for signalet.freqz (). Vi erklærte F- og X -variablene og tildelte verdien av signalet.freqz () til f og x. Etter det ringte vi Matplotlib -biblioteket for å tegne et komplott med tittelen “Response of Digital Frequency”. Det betyr at tittelen på grafen er “Response of Digital Frequency”. Etter det plotter vi grafen etter etiketten til x-aksen og y-aksen. Til slutt kaller vi show () -funksjonen for å vise plottet på output. Følgende skjermbilde er den genererte utgangen av denne koden:

Denne grafen viser oss en høypass elliptisk.

Konklusjon

Vi konkluderte med at denne artikkelen handler om scipy signalbehandling som brukes til å filtrere og generere lyder av forskjellige slag. Denne pakken inneholder forskjellige funksjoner som brukes til forskjellige formål. Ved hjelp av de gitte eksemplene lærte vi hvordan vi brukte signalbehandling og under hvilken situasjon vi brukte signalbehandling som er en pakke med Scipy Library på Python Language. Du kan også generere programmene dine etter å ha praktisert de tidligere eksemplene og modifiserer disse eksemplene også.