Bevezetés a Matlab szűrő funkciójába
Ez a funkció egy digitális szűrő segítségével kiszűri az adatsort, a szűrés alapja a jel simítása vagy élesítése (a specifikus frekvenciatartomány kiküszöbölése). Ez közvetlenül a jel (standard különbség egyenlet) II. Megvalósításából származik. A Matlabban a szűrők négyféle módon ábrázolhatók:
- Kimenet = szűrő (együttható b, együttható a, x)
- Kimenet = szűrő ((b, a, x, z)
- Szűrő (b, a, x, z, tompa)
- F, zf = szűrő ()
Szintaxis és példák
Az alábbiakban bemutatjuk a Matlab szintaxisát és a szűrő funkcióinak példáit:
1. Kimenet = szűrő (koeeff b, koeeff a, x)
- Ez a modellezés ésszerű átviteli függvényt használt az 'x' bemeneti jelnél. A fenti egyenletben a és b a jel számláló és nevező együtthatói.
- Ebben az esetben kötelező, hogy az (1) 1 legyen, tehát normalizáljuk az együtthatót 1-re, hogy teljesítsük ezt a feltételt. (1) nem lehet nulla, csak akkor normalizálhatjuk az együtthatót.
- A szűrő kimenete az 'x' bemenet típusától függ.
- Ha az 'x' bemenet vektor, akkor 'z' kimenetet kapunk vektorként.
- Ha az 'x' bemeneti jel mátrix, akkor minden oszlophoz 'z' kimeneti jelet kapunk.
- És ha ez egy többdimenziós jel, akkor az első tömbhez viszonyítva kapunk kimenetet.
Példa
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')
Kimenet:
2. F = szűrő ((b, a, x, z)
- Ha a memória korlátozása van a tervezés során, akkor néhány szűrő figyelembe veszi a kezdeti és a végleges állapotot.
- Ezek a szűrők nagy adatokat hoznak létre, és a bemenetet két szegmensre osztják.
Példa
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
Kimenet:
A fenti kód kimenete 1, ami azt jelenti, hogy az 1. logika, az 1. logika egy valós feltétel.
3. Szűrő (b, a, x, z, halvány)
Az ilyen típusú szűrőket a mátrix bemeneti és kimeneti tervezésére használják.
Példa
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')
Kimenet:
4. F, zf = szűrő ()
Ha korlátozott a memória, akkor ezt a szűrőt kell használni, a kiindulási és a végsõ körülményeket használta, és a bemenõ jelet két részre osztja.
Példa
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
Kimenet:
A fenti jel kimenete logikus 1, ami azt jelenti, hogy a feltétel igaz.
Következtetés - A Matlab szűrő funkciója
A szűrő funkció elsősorban a mozgó átlag szűrő megvalósítására szolgál. A mozgóátlagú szűrés a simítás egyszerűbb és leggyakoribb módszere. A szűrést a zaj eltávolítására is használják.
Ajánlott cikkek
Ez egy útmutató a Matlab szűrőfunkciójához. Itt tárgyaljuk a matlab szűrő funkciójának bevezetését és különféle példáit, valamint annak szintaxisát. A következő cikkeket is megnézheti további információkért -
- Inline funkciók a Matlab-ban
- Funkciók átvitele a Matlab-ban
- Anonim funkciók a Matlab-ban
- MATLAB interjúkérdések
- MATLAB funkciók
- Matlab fordító | A Matlab Compiler alkalmazásai