Johdatus Matlabin suodatintoimintoihin

Tämä toiminto suodattaa datasekvenssin digitaalista suodatinta käyttämällä. Suodatuksen lähtö on periaatteessa signaalin tasoittamista tai terävöittämistä (erityisen taajuusalueen eliminointi). Se on suora signaalin II toteutuksesta (vakioeroyhtälö). Matlabilla on neljä tapaa edustaa suodattimia seuraavasti:

  1. Lähtö = suodatin (kerroin b, kerroin a, x)
  2. Lähtö = suodatin ((b, a, x, z)
  3. Suodatin (b, a, x, z, himmeä)
  4. F, zf = suodatin ()

Syntaksi ja esimerkit

Alla on syntaksi ja esimerkkejä suodatustoiminnoista Matlabissa:

1. Lähtö = suodatin (kerroin b, kerroin a, x)

  • Tässä mallinnuksessa käytettiin rationaalista siirtofunktiota tulosignaaliin 'x'. Yllä olevassa yhtälössä a ja b ovat signaalin numerointi- ja nimittäjäkertoimet.
  • Tässä tapauksessa on pakollista, että (1) on 1, joten normalisoimme kertoimen arvoon 1 tämän ehdon täyttämiseksi. (1) ei saisi olla yhtä suuri kuin nolla, sitten vain voimme normalisoida kertoimen.
  • Suodattimen lähtö riippuu sisääntulon 'x' tyypistä.
  • Jos sisääntulo 'x' on vektori, niin saadaan lähtö 'z' vektorina.
  • Jos tulosignaali 'x' on matriisi, niin saamme lähtösignaalin 'z' kutakin saraketta kohti.
  • Ja jos se on moniulotteinen signaali, niin saamme lähtö suhteessa ensimmäiseen taulukkoon.

esimerkki

T = linspace(-pi, pi, 100 );
X = sin( t ) + 0.50 * rand ( size( t )) ;
w_size = 5;
b = ( 1 /w_size ) * ones( 1, w_size ) ;
a = 1 ;
f = filter ( coeff b, coeff a, x ) ;
plot ( t, x )
hold on
plot ( t, f )
legend ( 'Input ', 'Filter Data')

lähtö:

2. F = suodatin ((b, a, x, z)

  • Jos suunnittelussa on muistirajoituksia, jotkut suodattimet ottavat huomioon alku- ja lopputilan.
  • Nämä suodattimet luovat suuren datan ja jakavat syötteen kahteen segmenttiin.

esimerkki

x = randn( 110000, 1 ); - - - creation of input sequence x (1 to 110000)
x1 = x ( 1 : 51000 ) ; - - - splitting the seq. x1= 1 to 51000
x2 = x ( 51001 : end ) ; - - - second seg is x2 = 51000 to 110000
b = ( 4, 3 ) ; - - - numerator coefficient
a = ( 1, 0.4 ) ; - - - denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; - - - filter function
f2 = filter ( b, a, x2, zf ) ; - - - filter function
f = filter ( b, a, x ) ; - - - filter function
isequal( f, ( f1 ; f2 ) ) - - - filter function matching

lähtö:

Yllä olevan koodin lähtö on 1, joka tarkoittaa loogista 1, looginen 1 on todellinen tila.

3. Suodatin (b, a, x, z, himmeä)

Tämän tyyppistä suodatinta käytetään matriisin tulon ja ulostulon suunnitteluun.

esimerkki

rng default
x = rand ( 3, 10 ) ; - - - creation of input sequence 3 by 10
b = 1 ; - - - coefficient of numerator
a = ( 4 -0 .1 ) ; - - - coefficient of numerator
f = filter ( b, a, x, ( ), 2 ) ; - - - filter function
t = 0 : length (input seq. )-1 ;
plot ( t, x ( 1, : ) ) - - - input signal
hold on
plot ( t, f ( 1, : ) ) - - - output signal
legend('Input ', 'Filter output')

lähtö:

4. F, zf = suodatin ()

Jos muistilla on rajoituksia, käytetään tämän tyyppistä suodatinta, se käytti alku- ja loppuolosuhteita ja jakaa tulosignaalin kahteen segmenttiin.

esimerkki

x = randn ( 110000, 1 ) ; - - - create random signal
x1 = x ( 1 : 51000 ) ; - - - splits signal from 1 to 51000
x2 = x ( 51001 : end ) ; - - - second input signal 51001 to 110000
b = ( 6, 3 ); . - - -numerator coefficient
a = ( 1, 0.9 ) ; - - - denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; - - - filter function
f2 = filter ( b, a, x2, zf ) ; . - - - filter function
f = filter ( b, a, x) ; - - - .filter function
isequal ( f, ( f1 ; f2 ) ) - - - output signal matching

lähtö:

Yllä olevan signaalin lähtö on looginen 1, mikä tarkoittaa, että ehto on totta.

Johtopäätös - suodatintoiminto Matlabissa

Suodatintoiminto käytetään pääasiassa liikkuvan keskiarvon suodattimen toteuttamiseen. Liukuva keskimääräinen suodatus on yksinkertaisin ja yleisin tapa tasoittaa. suodatusta käytetään myös melun poistamiseen.

Suositellut artikkelit

Tämä on opas suodatustoimintoon Matlabissa. Tässä keskustellaan Matlabin suodatintoiminnon johdannosta ja erilaisista esimerkeistä sen syntaksin kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja-

  1. Sisäiset toiminnot Matlabissa
  2. Siirtotoiminnot Matlabissa
  3. Nimettömät toiminnot Matlabissa
  4. MATLAB-haastattelukysymykset
  5. MATLAB-toiminnot
  6. Matlab-kääntäjä | Matlab-kääntäjän sovellukset

Luokka: