Úvod do funkcie filtrovania v Matlabe
Táto funkcia filtruje postupnosť údajov pomocou digitálneho filtra, výstupom filtrovania je v podstate vyhladenie alebo zaostrenie signálu (eliminácia špecifického frekvenčného rozsahu). Je to priama implementácia signálu II (štandardná diferenčná rovnica). Existujú štyri spôsoby, ako reprezentovať filtre v Matlabe takto:
- Výstup = filter (koeficient b, koeficient a, x)
- Výstup = filter ((b, a, x, z)
- Filter (b, a, x, z, dim)
- F, zf = filter ()
Syntax a príklady
Nižšie sú uvedené syntax a príklady funkcie filtra v Matlabe:
1. Výstup = filter (koeficient b, koeficient a, x)
- Toto modelovanie používalo funkciu racionálneho prenosu na vstupnom signáli „x“. Vo vyššie uvedenej rovnici aab sú koeficienty čitateľa a menovateľa signálu.
- V tomto prípade je povinné mať (1) 1, takže normalizujeme koeficient na 1, aby sme splnili túto podmienku a (1) by sa nemal rovnať nule, potom iba normalizujeme koeficient.
- Výstup filtra závisí od typu vstupu 'x'.
- Ak je vstup 'x' vektor, dostaneme výstup 'z' ako vektor.
- Ak je vstupný signál 'x' matica, dostaneme výstupný signál 'z' vzhľadom na každý stĺpec.
- A ak je to multidimenzionálny signál, dostaneme výstup vzhľadom na prvé pole.
príklad
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')
Výkon:
2. F = filter ((b, a, x, z)
- Ak existujú obmedzenia pri navrhovaní, niektoré filtre berú do úvahy počiatočný stav a konečný stav.
- Tieto filtre vytvárajú veľké dáta a rozdeľujú vstupy do dvoch segmentov.
príklad
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
Výkon:
Výstup vyššie uvedeného kódu je 1, čo znamená logický 1, logický 1 je skutočná podmienka.
3. Filter (b, a, x, z, dim)
Tento typ filtra sa používa na navrhovanie vstupu a výstupu matice.
príklad
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')
Výkon:
4. F, zf = filter ()
Ak existuje obmedzenie pamäte, potom sa použije tento typ filtra, použil počiatočné a konečné podmienky a rozdelil vstupný signál na dva segmenty.
príklad
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
Výkon:
Výstup vyššie uvedeného signálu je logický 1, čo znamená, že stav je pravdivý.
Záver - Funkcia filtra v Matlabe
Funkcia filtra sa používa hlavne na implementáciu filtra kĺzavého priemeru. Filtre s kĺzavým priemerom sú najjednoduchšou a bežnou metódou vyhladenia. filtrovanie sa používa aj na odstránenie hluku.
Odporúčané články
Toto je sprievodca funkciou filtra v Matlabe. Tu diskutujeme úvod a rôzne príklady funkcie filtra v matlabe spolu s jeho syntaxou. Viac informácií nájdete aj v nasledujúcich článkoch
- Vložené funkcie v Matlabe
- Prenos funkcií v Matlabe
- Anonymné funkcie v Matlabe
- MATLAB Interview Otázky
- Funkcie MATLABu
- Kompilátor Matlab Aplikácie Matlab Compiler