MATLAB er en førende analyse pakke til digital signalbehandling og andre sorter af teknisk analyse. Signalbehandling den opfattelse, at enhver vilkårlig datasignal er sammensat af summen af mange signaler med forskellige frekvenser . Ofte signaler fra forskellige kilder , eller støj , vil have forskellige frekvenser . Højfrekvenssignaler kan fjernes ved foldning af et signal med en lavpasfilter . Lavpasfiltrering
Filtrering at fjerne frekvenser er baseret på at finde en overførsel funktion i frekvensdomænet , der vælger den række og omfanget af frekvenser til at medtage i det filtrerede signal. En invers Fourier transformation bliver derefter anvendt på frekvens - domænet funktion at opnå tidsdomænet filter med den valgte frekvens overførsel funktion . Den tidsdomænet filter er derefter anvendt til din signal valg ved hjælp af convolution operation. Alternativt kan du tage Fouriertransformation af din tidsdomænesignal og ganges med frekvensen - domæne overførsel funktion af filteret, før du anvender en invers Fouriertransformation . Det kan være hurtigere at udføre, som convolution er en beregningsmæssigt dyre operation.
Brug glat ( )
MATLAB indeholder glat ( ) funktion til at fjerne højfrekvent støj i et signal uden behov for at bestemme den nøjagtige frekvens cutoff for en low- pass filter . Som standard bruger Matlab et glidende gennemsnit filter fem tilstødende datapunkter. Det andet eksempel bruger en spændvidde på 10 datapunkter og de robuste vægtede lineære mindste kvadrater fungere med et andengrads polynomium model
my_smoothed_data = glat ( my_data ) . My_smoothed_data = glat ( my_data , 10, ' rloess ' ) ;
Brug filter ()
MATLAB filter funktionen bruges til at anvende en endimensional digitalt filter på et signal. Hvis du vil anvende et low-pass filter med en bestemt frekvens cutoff , skal du bruge følgende kode : Hej
my_filtered_data = filter ( freq, [1 freq -1] , my_data )
freq variabel er svarende til T /t, hvor " T" er tiden mellem prøverne og "t" er den tid konstant frekvens filter.
brugerdefinerede filtre
Ofte vil lavpasfiltre ikke har en nøjagtig frekvens cutoff , passerer alle frekvenser under cutoff og udelukke alle frekvenser over cutoff . I virkeligheden, fordi dataene er diskret en perfekt lavpasfilter er umulig at gennemføre. Vilkårlig filter kan udformes i Matlab og anvendes ved hjælp af conv () funktion , anvender foldning , som følger : Hej
my_new_signal = conv ( my_signal , my_filter ' samme ');
< br >