Diseño de filtro digital basado en matlab
Resumen
El curso "Procesamiento de Señales Digitales" es un curso tanto teórico como práctico que tiene conocimientos en disciplinas informáticas como álgebra avanzada, análisis numérico, estadística de probabilidad y. Procesos estocásticos. Conocimientos. Se requiere que nuestros estudiantes dominen conocimientos básicos sólidos y fundamentos teóricos. También está estrechamente relacionado con otras disciplinas, es decir, es inseparable de la teoría de la comunicación, las computadoras y la tecnología microelectrónica. También es uno de los fundamentos teóricos de disciplinas emergentes como la inteligencia artificial, el reconocimiento de patrones y las redes neuronales. Este método de diseño de filtros digitales se basa en el diseño de filtros digitales en MATLAB. El contenido principal de este diseño es: el diseño del filtro digital IIR y del filtro digital FIR
Palabras clave: IIR, FIR, paso bajo, paso alto, parada de banda, paso de banda
Resumen
El "Procesamiento de Señales Digitales" tiene una fuerte naturaleza teórica y práctica, y tiene álgebra avanzada y análisis numérico, probabilidad y estadística, procesos aleatorios como el cálculo de conocimientos disciplinarios que requieren que los estudiantes adquieran conocimientos básicos y; Una base teórica sólida está estrechamente relacionada con otras materias, a saber, la teoría de la comunicación, las computadoras y la microelectrónica, pero también en la inteligencia artificial, el reconocimiento de patrones y la teoría de redes neuronales, una de las disciplinas emergentes es el método de diseño de filtros. basado en MATLAB para el diseño de filtros digitales Los principales elementos de diseño: diseño de filtros digitales IIR y FIR de filtro digital
Palabras clave: IIR, FIR, paso bajo, paso alto, parada de banda, paso de banda
Contenido
1. Prefacio 3
2. Propósito del diseño del curso 3
3. Instrucciones y requisitos de diseño del curso de procesamiento de señales digitales 3
4. Principios de diseño de filtros 4
4.1 Introducción a los filtros digitales 4
4.2 Principios de diseño de filtros IIR 4
4.3 Principios de diseño de FIR filtro 5
4.4 Método de diseño de función de ventana del filtro FIR 6
5 Contenido del diseño 6
5.1 Tema de diseño: 6
5.2 Código del programa de diseño y resultados: 7
6. Conclusión 15
7. Referencias 16
1 Introducción
Procesamiento de señales digitales ( DSP para abreviar) es una disciplina emergente que involucra muchas disciplinas y se usa ampliamente en muchos campos.
Con la llegada de la era de la información y el mundo digital, el procesamiento de señales digitales se ha convertido en un tema y un campo técnico extremadamente importante en la actualidad.
El procesamiento de señales digitales se ha utilizado ampliamente en muchos campos, como comunicación de voz, imagen, control automático, radar, militar, aeroespacial, médico y electrodomésticos. En las aplicaciones de procesamiento de señales digitales, los filtros digitales son muy importantes y se utilizan ampliamente.
2. Propósito del diseño del curso
1)
3. Instrucciones y requisitos de diseño del curso de procesamiento de señales digitales
Hardware requerido: PC
4. Principios de diseño de filtros
4.1 Introducción a los filtros digitales
Los filtros digitales son un sistema digital utilizado para filtrar señales discretas en el tiempo, cuyo propósito es el dominio de la frecuencia. El filtrado se logra procesando matemáticamente los datos muestreados. La respuesta de frecuencia del sistema se puede diseñar para cumplir ciertos requisitos, filtrando así ciertos componentes de frecuencia específicos de la señal que pasa a través del sistema. Este es el principio básico del filtro. Si el sistema es un sistema continuo, el filtro se llama filtro analógico. Si el sistema es un sistema discreto, el filtro se llama filtro digital.
Después de que la señal pasa a través del sistema lineal, su salida es la convolución de la señal de entrada y la respuesta al impulso del sistema. Excepto por , la forma de onda será diferente de la forma de onda de entrada. Desde el análisis en el dominio de la frecuencia, después de que la señal pasa por el sistema lineal, el espectro de la señal de salida será el producto del espectro de la señal de entrada y la función de transferencia del sistema. A menos que sea una constante, el espectro de la señal de salida será diferente del espectro de la señal de entrada. Algunos componentes de frecuencia tendrán modos más grandes. Por lo tanto, estos componentes de frecuencia se mejorarán, mientras que otros componentes de frecuencia tendrán modos pequeños o incluso. cero. Estos componentes de frecuencia se debilitarán o eliminarán. Por tanto, el efecto del sistema equivale a ponderar el espectro de la señal de entrada.
4.2 Principios de diseño de los filtros IIR
El diseño de los filtros digitales IIR se basa generalmente en el método de diseño de filtros analógicos ya maduro. Los prototipos incluyen la función butterworth, chebyshev. función, función de Bessel, función de filtro elíptico, etc.
Los pasos de diseño del filtro digital IIR:
(1) Convertir las especificaciones técnicas del filtro dadas en las especificaciones técnicas del filtro analógico de paso bajo de acuerdo con ciertas reglas;
(2) Diseñar un filtro analógico de paso bajo con una respuesta de acuerdo con las especificaciones técnicas del filtro analógico;
(3) Convertir el filtro analógico de acuerdo con el método invariante de respuesta al impulso y el El método invariante bilineal es un filtro digital;
(4) Si el filtro a diseñar es un filtro de paso alto, paso de banda o supresor de banda, primero convierta sus especificaciones técnicas en las especificaciones técnicas del Filtro de paso bajo analógico. Diseñado como un filtro de paso bajo digital, el filtro deseado finalmente se obtiene mediante conversión de frecuencia.
4.3 Principios de diseño de los filtros FIR
Los filtros FIR generalmente se diseñan utilizando el método de función de ventana. La idea básica del diseño de ventanas es seleccionar primero un filtro selectivo de frecuencia ideal apropiado (que siempre tiene una respuesta de impulso no causal y de duración infinita) y luego bloquear (ventana) su respuesta de impulso para obtener un dispositivo de filtrado FIR causal y de fase lineal. . Usamos Hd(e^jw) para representar un filtro selectivo de frecuencia ideal, que tiene ganancia unitaria y fase lineal en la banda de paso y respuesta cero en la banda de parada. Un filtro de paso bajo con ancho de banda wc Para obtener un filtro FIR de hd(n), hd(n) debe interceptarse en ambos lados al mismo tiempo. Para obtener un filtro de fase lineal causal cuya longitud h(n) sea N, debe tener: Esta operación se llama ventana, y h(n) puede considerarse como hd(n) Producto con función de ventana w(n): h(n)=hd(n)w(n) Dónde Según w(n) Diferentes definiciones de, puede dar lugar a diferentes estructuras de ventanas. En el dominio de la frecuencia, la respuesta causal del filtro FIR H(e^jw) se obtiene mediante la convolución periódica de Hd(e^jw) y la respuesta de la ventana W(e^jw), es decir, Las funciones de ventana de uso común incluyen ventana rectangular, ventana BARTLETT, ventana HANNING, ventana HAMMING, ventana BLACKMAN, ventana KAISER, etc. 4.4 Método de diseño de función de ventana del filtro FIR Existen muchos métodos de diseño para el filtro FIR, como el método de diseño de función de ventana, el método de diseño de muestreo de frecuencia y el método de diseño de optimización. El principio básico del método de diseño de la función de ventana es utilizar una función de ventana de cierto ancho para interceptar una secuencia de respuesta al impulso infinita para obtener una secuencia de respuesta al impulso de longitud finita. Los principales pasos de diseño son: (1) Obtenga el filtrado ideal mediante la transformada inversa de Fourier. La respuesta al impulso unitario hd(n) del dispositivo. (2) Determine la función de ventana W (n) y la longitud de la ventana N de acuerdo con el índice de rendimiento. (3) Obtenga la respuesta al impulso unitario h(n) del filtro real, h(n) es el vector de coeficientes b(n) del filtro FIR diseñado. 5. Contenido del diseño 5.1 Tema de diseño: 1-1 Utilice MATLAB para diseñar un filtro digital de paso bajo Butterworth, que requiere que la banda de paso sea corte La frecuencia Wp = 30 HZ, la frecuencia de corte de la banda principal es Ws = 35 HZ, la atenuación de la banda de paso no es superior a 0,5 DB, la atenuación de la banda principal no es inferior a 40 DB y la frecuencia de muestreo Fs = 100 HZ. 1-2. Basado en el prototipo de filtro analógico Butterworth, se diseña un filtro digital utilizando una transformación de forma bilineal: cada valor de parámetro es: frecuencia de corte de la banda de paso Omega=0,2*pi, frecuencia de corte de la banda de paso Omega=0,3*pi, valor de fluctuación de la banda de paso Rp=1dB, fluctuación de la banda de paso valor Rs=15dB, suponiendo Fs=20000Hz. 1-3 Diseñe un filtro digital de paso alto Butterworth, que requiere una frecuencia de corte de banda de paso de 0,6*pi, una atenuación de banda de paso no superior a 1 dB, una atenuación de banda de parada de 15 dB y un muestreo T=1. 1-4. Diseñe un filtro digital supresor de banda Butterworth, que requiera que las frecuencias de corte superior e inferior de la banda de paso sean 0,8*PI y 0,2*PI, y que la atenuación de la banda de paso no lo sea. mayor que 1 dB, y las frecuencias de corte superior e inferior de la banda de parada deben ser 0,7 *PI, la atenuación de la banda de parada de 0,4*PI no es inferior a 30 dB, 2-1. diseñar un filtro de paso bajo FIR de fase lineal y cumplir con los indicadores de rendimiento: frecuencia límite de banda de paso Wp=0,5*pi, frecuencia límite de banda de parada Ws=0,66*pi, atenuación de banda de parada no inferior a 40 dB, y la ondulación de la banda de paso no supera los 3 dB. Seleccione la ventana de Hanning. 2-4. Diseñe un filtro FIR utilizando la ventana Hamming, donde Wp = 0,2 * pi, Ws = 0,3 * pi, la atenuación de la banda de paso no es superior a 0,25 dB y la atenuación de la banda de parada no es inferior a 50 dB. 5.2 Código del programa de diseño y resultados: 1-1 1. Utilice MATLAB para diseñar un filtro digital de paso bajo Butterworth, que requiere la frecuencia de corte de banda de paso Wp=30 HZ y la banda de parada La frecuencia de corte es Ws = 35 HZ, la atenuación de la banda de paso no es superior a 0,5 DB, la atenuación de la banda de parada no es inferior a 40 DB y la frecuencia de muestreo Fs = 100 HZ. El código es: fp = 30; fs = 35; Fs = 100; wp = 2*pi*fp/Fs; ws = 2*pi*fs/Fs; wp = tan(wp/2); ws = tan(ws/2); % La atenuación máxima en la banda de paso es 0,5 dB y la atenuación mínima en la banda de parada es 40 dB ); set(gca, 'XTickMode','manual ','XTick',); subplot(2,2,4);plot(w/pi,grd);title('Retraso de grupo'); xlabel('w(/pi)');ylabel('Muestra'); axis(); set(gca,'XTickMode','manual ',' XTick',[0 0.2 0.3 1]);grid Resultados operativos: Figura 2 Características de frecuencia de amplitud-frecuencia-fase del filtro de paso bajo digital Butterworth 1-3 Diseñe un filtro digital de paso alto Butterworth, que requiera una frecuencia de corte de banda de paso de 0,6*pi, una atenuación de banda de paso no superior a 1 dB, una atenuación de banda de paso de 15 dB y un muestreo T=1. Wp=0.6*pi; Ws=0.4*pi; Ap=1; As=15; p> p> [N,wn]=buttord(Wp/pi,Ws/pi,Ap,As %Calcular el orden del filtro Butterworth y la frecuencia de corte %Método de transformación de frecuencia); diseñar filtro de paso alto Butterworth [db,mag,pha,grd,w]=freqz_m(b,a %Respuesta del filtro digital plot(w,mag); title('Respuesta de amplitud-frecuencia del filtro digital|H(ej\Omega)|') Figura 3 Filtro de paso alto digital Butterworth 2- 1 Utilice el método de función de ventana para diseñar un filtro de paso bajo FIR de fase lineal y cumpla con los indicadores de rendimiento: frecuencia límite de banda de paso Wp=0,5*pi, frecuencia límite de banda de parada Ws=0,66*pi, frecuencia límite de banda de parada La atenuación de la banda no es inferior a 40 dB y la ondulación de la banda de paso no supera los 3 dB. Seleccione la ventana de Hanning. Código: wp =0.5*pi; ws=0.66*pi; wdelta =ws-wp; p> p> N= ceil(8*pi/wdelta) if rem(N,2)==0 N=N+1; end ); Resultados operativos: ¡Te daré la puntuación completa! Figura 6 filtro FIR de paso bajo 6. Conclusión Este método de diseño de filtro digital se basa en el diseño de filtro digital de MATLAB. Se basa en la teoría de señales digitales aprendida y utiliza código MATLAB. para lograr. Durante el proceso de diseño del curso, los ejemplos de diseño de filtros digitales IIR y filtros digitales FIR se utilizan para ilustrar cómo utilizar MATLAB para completar el diseño de filtros digitales. La respuesta de fase en el método de la función de ventana es estrictamente lineal, no hay problemas de estabilidad y el diseño es simple. La transformación bilineal no hará que la parte de alta frecuencia exceda la frecuencia de plegado y se confunda con la parte de baja frecuencia, pero causará una mezcla de frecuencia, lo que hará que la respuesta de frecuencia del filtro digital se desvíe de la respuesta de frecuencia del filtro analógico. . Al comparar el espectrograma del filtro y el espectrograma de la señal de voz antes y después del filtrado, se puede ver que el filtro IIR diseñado mediante el método de transformación bilineal es mejor para este diseño. Bajo las mismas especificaciones técnicas, el orden N requerido por el filtro IIR también es relativamente pequeño, lo que facilita su implementación. Al aplicar de manera integral el conocimiento teórico del procesamiento de señales digitales para el diseño de filtros, sacar las conclusiones correspondientes a través de la derivación teórica y luego usar MATLAB como herramienta de programación para la implementación informática, profundizando así la comprensión del conocimiento aprendido y estableciendo concepto. Tener una comprensión y un dominio más profundos de lo que he aprendido anteriormente en los libros de texto. Finalmente, no importa qué diseño de curso haga, debe tener ciertos conocimientos teóricos como base. Al mismo tiempo, a través del diseño de este curso, tengo una comprensión más profunda del conocimiento sobre procesamiento de señales digitales que he aprendido antes. VII. Referencias 1. "Tutorial de procesamiento de señales digitales" de Cheng Peiqing, Tsinghua University Press, Beijing, febrero de 2007. 2. , Liu Shunlan "Experimentos de procesamiento de señales digitales". Prensa de la Universidad de Zhejiang. 3. Procesamiento de señales digitales: un enfoque basado en computadora. NuevaYork,NuevaYork:McGraw-Hill,thirded,2006. 4. "Diseño y aplicación de programación de MATLAB" de Xiao Wei, Liu Zhong y otros, Tsinghua University Press, Beijing Jiaotong University Press. 5. "Experimentos matemáticos de MATLAB" de Hu. Liangjian, Sun Xiaojun. Prensa de educación superior.