Een laagdoorlaatfilter maken met Filter2 in MATLAB

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 17 November 2024
Anonim
Designing Digital Filters with MATLAB
Video: Designing Digital Filters with MATLAB

Inhoud

MATLAB is een programmeerhulpmiddel dat kan worden gebruikt om signalen in detail te analyseren en te verwerken. Een veel voorkomende bewerking bij het verwerken van signalen in een of meerdere dimensies is het verwijderen van hoogfrequente ruis. Een laagdoorlaatfilter is per definitie ontworpen om frequenties boven een bepaalde waarde uit een signaal te verwijderen. Het gebruik van de functie filter2 () in MATLAB is een manier om zo'n filter te implementeren.


routebeschrijving

Met de filter2 () -functie van MATLAB kunt u een laagdoorlaatfilter implementeren (Hemera Technologies / AbleStock.com / Getty Images)
  1. Importeer uw gegevens in MATLAB. Vaak worden de signalen die moeten worden gefilterd in binair formaat opgeslagen, waardoor een low-level I / O-functie, zoals fread (), moet worden geïmporteerd. MATLAB bevat echter importeurs van afbeeldingen voor de meest voorkomende indelingen.

    my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');

  2. Converteer de gegevens naar een tweedimensionale array voordat u deze verwerkt met de functie filter2 (). U kunt dit doen door een eendimensionale binaire array naar een array te converteren via de functie shape () of door een afbeelding uit een reeks te selecteren. Gebruik de functie squeeze () om singleton-dimensies te verwijderen door een deel van een array met meer dan twee dimensies te selecteren.


    my_image = opnieuw vormgeven (mijn_gegevens, breedte, hoogte); my_other_image = squeeze (my_image_series (:,: image_number));

  3. Teken uw filter en sla het resultaat op in een tweedimensionale array H. Over het algemeen gebruikt een laagdoorlaatfilter een "gaussiaans venster" dat kan worden gemaakt met de functie fspecial (). De filters kunnen ook worden ontworpen met de speciale sptool-signaalverwerkingsfunctie (). U kunt de frequentierespons van uw filtervenster bekijken met behulp van de functie wvtool (). In de voorbeeldcode is H een 24x24 array die een standaardafwijking Gaussiaans venster 10 bevat.

    H = fspecial ('gaussian', [24 24], 10); wvtool (H);

  4. Voer de filtering uit met behulp van het tweedimensionale convolutie-algoritme dat is geïmplementeerd via filter2 (). Standaard heeft het resultaat van filter2 () dezelfde afmetingen als de invoergegevensset.

    my_filtered_data = filter2 (my_data, H);

Kauwgom van glazen verwijderen

Roger Morrison

November 2024

Het i een onvermijdelijke ramp: al een kind (of volwaene) een bril draagt ​​en kauwgom kauwt, zullen ze vroeg of laat glazen tegenkomen die bedekt zijn met plakkerige kauwgom.Probeer deze nelle truc o...

Of uw netelroo nu wordt veroorzaakt door een allergiche reactie, tre of door weeromtandigheden, homeopathie i een van de meet effectieve en natuurlijke manieren om het te behandelen. Kie gewoon de hom...

Wij Adviseren