Table of Contents
Το φιλτράρισμα είναι μια κοινή τεχνική που χρησιμοποιείται στην επεξεργασία σήματος και εικόνας για τη μείωση του θορύβου και τη βελτίωση της ποιότητας των δεδομένων. Το SciPy παρέχει εργαλεία για τη δημιουργία προσαρμοσμένων φίλτρων προσαρμοσμένων σε συγκεκριμένα χαρακτηριστικά θορύβου και ανάγκες επεξεργασίας.
Κατανόηση θορύβου και φιλτραρίσματος
Το φιλτράρισμα στοχεύει στην καταστολή αυτών των ανεπιθύμητων πληροφοριών, ενώ παράλληλα διατηρεί τα βασικά χαρακτηριστικά των δεδομένων. Διαφορετικοί τύποι φίλτρων, όπως χαμηλής διέλευσης, υψηλής διέλευσης και δικτυωτή διέλευση, στοχεύουν συγκεκριμένα συστατικά συχνότητας.
Δημιουργία προσαρμοσμένων φίλτρων στο SciPy
Για να κατασκευάσετε ένα προσαρμοσμένο φίλτρο, συνήθως ορίζετε έναν πυρήνα φίλτρου ή μια λειτουργία μεταφοράς που ταιριάζει με το προφίλ θορύβου σας. Η μονάδα επεξεργασίας σήματος του SciPy προσφέρει λειτουργίες όπως [[LFT:0]] για την εφαρμογή φίλτρων και [[LFT:1]] για το σχεδιασμό πεπερασμένων στροφών απόκρισης (FIR).
Εφαρμογή φίλτρων στα δεδομένα
Μόλις σχεδιαστεί το φίλτρο, μπορεί να εφαρμοστεί σε σήματα ή εικόνες. Για τα σήματα, η συνένωση χρησιμοποιείται για το φιλτράρισμα των δεδομένων. Για τις εικόνες, η 2D convolution εφαρμόζει τον πυρήνα φίλτρου σε όλη την εικόνα. Οι λειτουργίες SciPy διευκολύνουν αποτελεσματικά αυτές τις λειτουργίες.
Παράδειγμα: Σχεδιασμός φίλτρου χαμηλού κόστους
Παρακάτω είναι ένα παράδειγμα δημιουργίας ενός απλού φίλτρου χαμηλής διέλευσης για τη μείωση του θορύβου υψηλής συχνότητας σε ένα σήμα.
Κωδικός Παράδειγμα:
Το φίλτρο «`python inducing numpy as np from scipy.signal insport firwin, lfilter inport mattlitlib.pyplot as plt # Generate a voousous signal fs = 500 # Δειγματοληψία συχνότητα t = np.linspace(0, 1, fs, endpoint=False) signal false = np.sin(2 * np.pi * 5 * t) θορύβηση = 0.5 * np.random.randn(fs) signal noisy = signal noisy = signal clean + voice # Design a low-pass FIR numtaps = 51 cut off = 10 # Cutoff semplon in Hz fir coeff, 1.0, sign no results = firwin(numtaps, cutoff) # Apps) # Apply = filed= filterd=s filter = f