Suodatus on yleinen tekniikka, jota käytetään signaalin ja kuvan käsittelyssä melun vähentämiseksi ja tiedon laadun parantamiseksi. SciPy tarjoaa työkaluja, joilla voidaan luoda räätälöityjä suodattimia, jotka on räätälöity melun erityispiirteiden ja käsittelytarpeiden mukaan. Tässä artikkelissa selitetään, miten SciPy-ohjelmistoa käytetään mukautettujen suodattimien rakentamiseen ja soveltamiseen melunvähentämistehtäviin.

Melujen ja suodattamisen ymmärtäminen

Melu voi olla peräisin eri lähteistä, kuten anturin puutteista tai ympäristöhäiriöistä. Suodattamisen tavoitteena on tukahduttaa tämä ei-toivottu tieto säilyttäen samalla datan olennaiset ominaisuudet. Erityyppiset suodattimet, kuten matalan pass, korkea-passi, ja kaista-pass, kohdekohtaiset taajuuskomponentit.

Luodaan omia suotimia SciPyssä

Voit rakentaa mukautetun suodattimen, yleensä määritellä suodattimen ytimen tai siirtotoiminto, joka vastaa meluprofiilia. SciPy signaalinkäsittelymoduuli tarjoaa toimintoja kuten [ suodattimien soveltamiseen ja [] limited impulssirevalent (FIR) -suodattimien suunnitteluun.

Soveltuu tietoihin

Kun suodatin on suunniteltu, sitä voidaan käyttää signaaleja tai kuvia. Signaalien osalta konvoluutiota käytetään tietojen suodattamiseen. Kuvien osalta 2D-konvolution soveltaa suodattimen ydintä kuvan läpi. SciPy-toiminnot helpottavat näitä toimintoja tehokkaasti.

Esimerkki: Matalan Passin suotimen suunnittelu

Alla on esimerkki yksinkertaisen matalan pass-suodattimen luomisesta signaalin korkean taajuuden melun vähentämiseksi.

Koodiesimerkki:

.Signal importing firmwin, lfilter importing matplotlib.pyplot as plt # Generate a noisy signal fs = 500 # Sampling frequency t = np.linspace(0, 1, fs, explottection=False) signal clean = np.sin(2 * np.pi * 5 * t) noise = 0,5 * np.random.randn(fs) signal noisy = signal clean + noise # Design a lower-pass FIR filter nultaps = 51 cutoff = 10 # Cutoff fir coefff = firwin(numtaps, cutoff, fs=fs) # Sovelda suodatettua signal = lfilter(fir coef, 1.0, signal noisy) # Plot the results plt(6 * t n's