Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

digitalFilter

Descripción

Utilice designfilt para diseñar y editar digitalFilter objetos.

  • Utilice designfilt en la forma d = designfilt(resp,Name,Value) para diseñar un filtro digital, d, con tipo de respuesta resp. Personalice aún más el filtro utilizando pares Name,Value.

  • Utilice designfilt en la forma designfilt(d) para editar un filtro existente, d.

    Nota

    Esta es la única manera de editar un objeto digitalFilter existente. Por lo demás, sus propiedades son de solo lectura.

  • Utilice filter en la forma dataOut = filter(d,dataIn) para filtrar una señal con un digitalFilter d. La entrada puede ser un vector de precisión doble o simple. También puede ser una matriz con tantas columnas como canales de entrada haya.

  • Utilice la herramienta FVTool para visualizar un digitalFilter.

  • Estas funciones toman como entrada objetos digitalFilter.

Funciones del objeto

Filtrar

FunciónDescripción

fftfilt

Filtra una señal con un digitalFilter utilizando un método de superposición-agregación basado en FFT

filter

Filtra una señal utilizando un digitalFilter

filtfilt

Realiza el filtrado de fase cero de una señal con un digitalFilter

Análisis del filtro

FunciónDescripción

double

Convierte los coeficientes de un digitalFilter a doble precisión

filt2block

Genera un bloque de filtro de Simulink® correspondiente a un digitalFilter

filtord

Devuelve el orden de filtrado de un digitalFilter

firtype

Devuelve el tipo (1, 2, 3 o 4) de un FIR digitalFilter

freqz

Devuelve o representa la respuesta en frecuencia de un digitalFilter

FVTool

Abre la herramienta de visualización de filtros y muestra la respuesta de magnitud de un digitalFilter

grpdelay

Devuelve o representa la respuesta de retardo de grupo de un digitalFilter

impz

Devuelve o representa la respuesta al impulso de un digitalFilter

impzlength

Devuelve la longitud de la respuesta al impulso de un digitalFilter, ya sea real (para filtros FIR) o efectiva (para filtros IIR)

info

Devuelve un arreglo de caracteres con información sobre un digitalFilter

isallpass

Devuelve true si un digitalFilter es allpass

isdouble

Devuelve true si los coeficientes de un digitalFilter son de doble precisión

isfir

Devuelve true si un digitalFilter tiene una respuesta al impulso finita

islinphase

Devuelve true si un digitalFilter tiene fase lineal

ismaxphase

Devuelve true si un digitalFilter es de fase máxima

isminphase

Devuelve true si un digitalFilter es de fase mínima

issingle

Devuelve true si los coeficientes de un digitalFilter son de precisión simple

isstable

Devuelve true si un digitalFilter es estable

phasedelay

Devuelve o representa la respuesta de retardo de fase de un digitalFilter

phasez

Devuelve o representa la respuesta de fase (sin incluir) de un digitalFilter

single

Convierte los coeficientes de un digitalFilter a precisión simple

ss

Devuelve la representación del espacio de estados de un digitalFilter

stepz

Devuelve o representa la respuesta al paso de un digitalFilter

tf

Devuelve la representación de la función de transferencia de un digitalFilter

zerophase

Devuelve o representa la respuesta de fase cero de un digitalFilter

zpk

Devuelve la representación de ganancia cero de un digitalFilter

zplane

Muestra los polos y ceros de la función de transferencia representada por un digitalFilter

Ejemplos

contraer todo

Diseñe un filtro IIR paso bajo de orden 8, frecuencia de banda de paso de 35 kHz y curvatura de banda de paso de 0,2 dB. Especifique una tasa de muestreo de 200 kHz. Visualice la respuesta en magnitud del filtro.

lpFilt = designfilt('lowpassiir','FilterOrder',8, ...
         'PassbandFrequency',35e3,'PassbandRipple',0.2, ...
         'SampleRate',200e3);
fvtool(lpFilt)

Figure Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB) contains 2 objects of type line.

Utilice el filtro que ha diseñado para filtrar una señal aleatoria de 1000 muestras.

dataIn = randn(1000,1);
dataOut = filter(lpFilt,dataIn);

Salida de los coeficientes del filtro, expresados como secciones de segundo orden.

sos = lpFilt.Coefficients
sos = 4×6

    0.2666    0.5333    0.2666    1.0000   -0.8346    0.9073
    0.1943    0.3886    0.1943    1.0000   -0.9586    0.7403
    0.1012    0.2023    0.1012    1.0000   -1.1912    0.5983
    0.0318    0.0636    0.0318    1.0000   -1.3810    0.5090

Historial de versiones

Introducido en R2014a