Main Content

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