Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

sosfilt

Filtrado digital IIR de segundo orden (biquadratico)

Descripción

ejemplo

y = sosfilt(sos,x) aplica el filtro digital de sección de segundo orden a la señal de entrada.sosx

y = sosfilt(sos,x,dim) opera a lo largo de la dimensión.dim

Ejemplos

contraer todo

Carga.chirp.mat El archivo contiene una señal, , que tiene la mayor parte de su potencia por encima, o la mitad de la frecuencia Nyquist.yFs/4 La frecuencia de muestreo es 8192 Hz.

load chirp  t = (0:length(y)-1)/Fs;

Diseñe un filtro de paso alto Butterworth de séptimo orden para atenuar los componentes de la señal a continuación.Fs/4 Utilice una frecuencia de corte normalizada de 0,48 rad/muestra.π Exprese los coeficientes de filtro en términos de secciones de segundo orden.

[zhi,phi,khi] = butter(7,0.48,'high'); soshi = zp2sos(zhi,phi,khi);  freqz(soshi)

Filtra la señal. Muestre las señales originales y filtradas por paso alto. Utilice la misma escala de eje para ambos trazados.y

outhi = sosfilt(soshi,y);  figure subplot(2,1,1) plot(t,y) title('Original Signal') ys = ylim;  subplot(2,1,2) plot(t,outhi) title('Highpass-Filtered Signal') xlabel('Time (s)') ylim(ys)

Diseñe un filtro lowpass con las mismas especificaciones. Filtrar la señal y comparar el resultado con el original. Utilice la misma escala de eje para ambos trazados.y El resultado es principalmente ruido.

[zlo,plo,klo] = butter(7,0.48); soslo = zp2sos(zlo,plo,klo);  outlo = sosfilt(soslo,y);  subplot(2,1,1) plot(t,y) title('Original Signal') ys = ylim;  subplot(2,1,2) plot(t,outlo) title('Lowpass-Filtered Signal') xlabel('Time (s)') ylim(ys)

Argumentos de entrada

contraer todo

Filtro digital de sección de segundo orden, especificado como una matriz -by-6, donde está el número de secciones de segundo orden.LL La matriz

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

representa el filtro digital de la sección de segundo orden

H(z)=k=1LHk(z)=k=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

Ejemplo: especifica un filtro Butterworth de tercer orden con una frecuencia normalizada de 3 dB de /32 rad/sample.[b,a] = butter(3,1/32); sos = tf2sos(b,a)π

Tipos de datos: single | double

Señal de entrada, especificada como vector, matriz o matriz -D.N

Ejemplo: especifica un sinusoides de dos canales.x = [2 1].*sin(2*pi*(0:127)'./[16 64])

Tipos de datos: single | double
Soporte de números complejos:

Dimensión para operar a lo largo, especificada como un escalar entero positivo. De forma predeterminada, funciona a lo largo de la primera dimensión de matriz de con un tamaño mayor que 1.sosfiltx

Tipos de datos: single | double

Argumentos de salida

contraer todo

Señal filtrada, devuelta como vector, matriz o matriz -D. tiene el mismo tamaño que .Nyx

Referencias

[1] Orfanidis, Sophocles J. Introduction to Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1996.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Consulte también

| |

Introducido antes de R2006a