Red de conocimiento informático - Conocimiento informático - ¿Ayúdame a diseñar un filtro de paso bajo IIR?

¿Ayúdame a diseñar un filtro de paso bajo IIR?

Experimento del teorema de muestreo de paso bajo

1.1 Propósito del experimento

1. Comprender la estructura general de los sistemas de procesamiento de señales digitales

2. Domine el teorema de muestreo de Nyquist.

1.2 Instrumentos experimentales

1. 1 probador inteligente de fuente de señal integrada YBLD

2. 1 osciloscopio de doble traza

3. MCOM-TG305 procesamiento de señales digitales y tecnología de comunicación moderna caja experimental 1 juego

4. 1 PC (instalado con MATLAB, MCOM-TG305 compatible con software experimental)

1.3 Principio experimental

Además de la parte de procesamiento de señal digital, un sistema DSP típico también incluye A/D y D/A dos partes. Esto se debe a que la mayoría de las señales en la naturaleza, como los sonidos y las imágenes, son señales analógicas, por lo que deben digitalizarse y luego procesarse digitalmente. La digitalización de señales analógicas se denomina conversión A/D. Es posible que sea necesario restaurar los datos después del procesamiento de señales digitales a señales analógicas, lo que requiere una conversión D/A. En la Figura 1 se muestra la función de un sistema de procesamiento de señales digitales simplificado que incluye solo partes A/D y D/A.

La conversión A/D incluye tres procesos estrechamente relacionados: muestreo, cuantificación y codificación. Es necesario resolver los siguientes problemas importantes en la conversión A/D: ¿Hay alguna información sobre la señal original en la señal de salida después del muestreo? Si es así, ¿puedes sacarlo? ¿Cómo se debe elegir la frecuencia de muestreo?

El teorema de muestreo de Nyquist (es decir, el teorema de muestreo uniforme de señales de paso bajo) nos dice que una señal de paso bajo x(t) con una banda de frecuencia limitada de 0 a fx, si fs≥2fx es muestreado La frecuencia se muestrea uniformemente, entonces x(t) puede determinarse completamente mediante la señal muestreada xs(t), es decir, xs(t) contiene el componente de x(t) y se puede restaurar sin distorsión a través de un nivel bajo apropiado. -filtro de paso. La frecuencia de muestreo mínima fs=2fx se denomina frecuencia de Nyquist.

Paso bajo

Decodificación

Codificación

Cuantización

Muestreo

Muestra de señal de entrada salida filtro salida

A/D (conversión de analógico a digital) D/A (conversión de digital a analógico)

Figura 1 Demostración del teorema de muestreo de paso bajo

Para facilitar la implementación, el experimento cambió una forma de expresión, es decir, la frecuencia de muestreo es fija (10 KHz) y el teorema de muestreo de paso bajo se demuestra cambiando la frecuencia de la señal analógica de entrada. Podemos verificar el teorema de muestreo de paso bajo estudiando la relación entre la frecuencia de muestreo y la frecuencia del componente de frecuencia más alta de la señal analógica.

1.4 Contenido experimental

1. Experimento de simulación de software: escriba y depure programas MATLAB, analice parámetros relevantes y registre formas de onda relevantes.

2. Experimento de hardware: ingrese señales sinusoidales de diferentes frecuencias y observe la forma de onda del reloj de muestreo, la forma de onda de la señal de entrada, la forma de onda de salida de la muestra y la forma de onda de salida filtrada.

1.5 Programa de referencia de MATLAB y contenido de simulación

****************************** ***** ****************************************

f—Frecuencia de la señal coseno

M: el número de potencias FFT de base 2 N=2^M es el número de puntos de muestreo. Este valor es para facilitar el análisis FFT de base 2

<. p>2. Frecuencia de muestreo Fs

************************************ ************ *************************

muestras de funciones(f, Fs, M)

N=2^M ; puntos fft = puntos de muestreo totales

Ts=1/Fs intervalo de tiempo de muestreo

T=N*Ts; Tiempo total de muestreo = puntos de muestreo totales*intervalo de tiempo de muestreo

n=0:N-1

t=n*Ts

Xn=cos(; 2*f*pi*t);

subtrama(2, 1, 1);

tallo(t, Xn); T 1.1*mín(Xn) 1.1*máx(Xn)]

xlabel('t --gt;');

ylabel('Xn'); p>

Xk=abs(fft(Xn,N ));

subtrama(2, 1, 2);

tallo(n, Xk); >

axis([0 N 1.1*min(Xk ) 1.1*max(Xk)]);

xlabel('frecuencia --gt;'); ('!Xk!');

************************************ ***************** *******************

Si hay una señal coseno de 1Hz y =cos(2*π*t), utilice una frecuencia de muestreo de 4 Hz. Realice el muestreo, con un máximo de 32 puntos. Simplemente ejecute samples(1, 4, 5) para obtener los resultados de la simulación.

El contenido del experimento de simulación de software se muestra en la siguiente tabla:

Parámetros de simulación

f

Fs

Wo( Cálculo)

Xn (gráfico)

Xk (gráfico)

(1, 4, 5)

Registre el gráfico además y el número de parcela

(1, 8, 5)

(2, 8, 6)

Opcional

1.6 Pasos del experimento de hardware

La frecuencia de muestreo fs de esta caja experimental está fijada en 10 KHz y la frecuencia de corte del filtro de paso bajo es de aproximadamente 4,5 KHz.

1. Utilice una fuente de señal de baja frecuencia para generar una señal sinusoidal. La frecuencia f de la fuente de señal sinusoidal es autodeterminada y conectada al terminal 2TP2 (entrada analógica). sonda al terminal 2TP6 (reloj de muestreo) Observe la forma de onda del reloj de muestreo Conecte la sonda del canal 2 del osciloscopio a 2TP2 para observar y registrar la forma de onda de la señal de entrada.

2. Conecte la segunda sonda del osciloscopio al 2TP3 para observar y registrar la forma de onda de salida de la muestra.

3. Conecte la segunda sonda del osciloscopio al 2TP4 para observar y registrar la forma de onda de salida filtrada.

4. Según el teorema de muestreo, cambie la frecuencia de la señal sinusoidal en tres situaciones: f=fs/8, f=fs/4, f=fs/2 y repita los pasos 2 a 3. .

5. Utilice una fuente de señal de baja frecuencia para generar una señal de onda cuadrada y repita los pasos 1 a 4.

1.7 Preguntas

1. Discuta la correspondencia entre las posiciones de las líneas espectrales distintas de cero en el gráfico de frecuencias de dominio digital Wo y Xk calculadas en el experimento de simulación.

2. Discuta la importancia de los parámetros autoseleccionados en experimentos de simulación.

3. ¿Qué conclusiones se pueden sacar al comparar la forma de onda recuperada después de agregar una señal de onda cuadrada al terminal 2TP2 con la forma de onda recuperada de una señal sinusoidal de la misma frecuencia?

2 Experimento de análisis de espectro FFT

2.1 Propósito del experimento

1. Profundice su comprensión de los principios básicos de la Transformada Rápida de Fourier (FFT) a través de experimentos.

2. Comprender la relación entre el número de puntos FFT y la resolución del espectro, así como la relación entre las dos FFT de secuencia extendida y la FFT de secuencia original.

2.2 Instrumentos experimentales

1. 1 probador inteligente de fuente de señal integrada YBLD

2. 1 osciloscopio de doble traza

3. MCOM-TG305 procesamiento de señales digitales y tecnología de comunicación moderna caja experimental 1 juego

4. 1 PC (instalado con MATLAB, MCOM-TG305 compatible con software experimental)

2.3 Principio experimental

La transformada discreta de Fourier (DFT) y la convolución son dos factores importantes en el procesamiento de señales. El más básico y Operaciones de uso común, implican el análisis y síntesis de señales y sistemas en el amplio campo del procesamiento de señales. De hecho, existe una conexión interoperable entre la convolución y la DFT: la convolución se puede implementar como DFT y muchos otros algoritmos, como la correlación, el filtrado y la estimación del espectro, se pueden implementar como DFT, y la DFT también se puede implementar como convolución. lograr.

Para la secuencia de N puntos x(n), el par de transformación DFT se define como:

La operación DFT contiene una gran cantidad de operaciones repetidas. El algoritmo FFT aprovecha la periodicidad y simetría del factor mariposa WN, acelerando así la operación. El algoritmo FFT descompone una secuencia larga de DFT en secuencias cortas de DFT. La DFT de N puntos se descompone primero en dos DFT de N/2 puntos, y cada DFT de N/2 puntos se descompone en dos DFT de N/4 puntos. Según esta regla, el número de puntos de la transformación mínima es la llamada "base". Por lo tanto, la transformación mínima (o mariposa) del algoritmo FFT con una base de 2 es una DFT de 2 puntos. Generalmente, para FFT de N puntos, correspondientes a N muestras de entrada, hay N muestras en el dominio de frecuencia correspondientes a ellas. En términos generales, los algoritmos FFT se pueden dividir en dos categorías: FFT de diezmado de tiempo (DIT) y diezmado de frecuencia (DIF).

En cálculos reales, el método de alargamiento de agregar 0 después de la secuencia original se puede usar para mejorar la resolución de la FFT; el método de alargamiento de repetir la secuencia original se puede usar para aumentar la amplitud de la FFT; .

2.4 Contenido experimental

1. Experimento de simulación de software: observe y registre la secuencia sinusoidal, la secuencia de ondas cuadradas y el espectro después de cambiar el número de puntos FFT respectivamente, observe y registre el espectro de la secuencia sinusoidal, la secuencia de ondas cuadradas y dos secuencias extendidas respectivamente;

2. Experimento de hardware: observe y registre la señal sinusoidal, la señal de onda cuadrada y el espectro después de cambiar el número de puntos FFT.

2.5 Programa de referencia de MATLAB y contenido de simulación

****************************** * ***********************************

función[x]= ffts (modo, M)

Nfft=2^M;

x=zeros(1, Nfft); Defina una matriz unidimensional de longitud Nfft

.

if mode= =1 for n=0:Nfft-1 x(n 1)=sin(2*pi*n/Nfft end

end define un ciclo único de longitud Nfft Sine); secuencia

if mode= =2 for n=0:Nfft-1 x(n 1)=sin(4*pi*n/Nfft); end

end define un doble -secuencia sinusoidal de período de longitud Nfft

if mode= =3 for n=0: Nfft/2-1 x(n 1)=sin(4*pi*n/Nfft); >

end define una secuencia sinusoidal de longitud Nfft/2, siendo la última mitad una secuencia 0.

if modo= =4 para n=0:Nfft-1 x(n 1)=square(2*pi*n/Nfft); fin

fin

;

if modo= =5 for n=0:Nfft-1 x(n 1)=square(2*pi*n/Nfft); fin

fin

if modo= =6 para n=0: Nfft/2-1 x(n 1)=square(4*pi*n/Nfft); fin

fin

n=0); : Nfft-1;

subplot(2, 1, 1);

tallo(n, x

eje([0 Nfft-1 1.1); *min(x) 1.1*max(x)]);

xlabel('Puntos--gt;');

ylabel('x(n)'); /p>

X=abs(fft(x,Nfft));

subtrama(2, 1, 2);

tallo(n, X); p>

p>

axis([0 Nfft-1 1.1*min(X) 1.1*max(X)]);

xlabel('frecuencia--gt;');

ylabel('!X(k)!');

************************ ************ **************************************** *

Supongamos que es necesario observar una onda cuadrada. Para el espectro de la señal, para realizar una FFT de 32 puntos en una señal de onda cuadrada periódica, solo necesita escribir: [x]=ffts(21, 5) en la ventana de comandos de MATLAB, el programa simulará y generará los resultados de FFT.

En cuanto al contenido del experimento de simulación de software, se recomienda que, tras completar una gran cantidad de ejemplos de simulación, seleccione más de 4 ejemplos que puedan reflejar los requisitos experimentales para la grabación. Por ejemplo, para observar el fenómeno de aumentar la resolución de FFT agregando ceros más tarde, puede simular dos ejemplos de ffts(4,5) y ffts(6,6).

2.6 Pasos del experimento de hardware

1. Agregue la salida de la fuente de señal de baja frecuencia a la entrada del canal analógico 1 de la caja experimental y conecte la sonda del osciloscopio a la salida del canal analógico 1.

2. Después de asegurarse de que la caja del experimento esté encendida correctamente y que el cable del puerto serie esté conectado normalmente, ejecute el software de desarrollo de experimentos de aplicación DSP y procesamiento de señales digitales, seleccione el submenú "Análisis de espectro FFT" en el menú "Experimento de procesamiento de señales digitales" y Aparecerá la ventana de información de solicitud de función.

3. Utilice un generador de señales de baja frecuencia para generar una señal sinusoidal de 1 KHz.

4. Seleccione el número de puntos para el análisis y visualización del espectro FFT para que sea 64 puntos e inicie la operación FFT. Después de eso, la computadora recuperará periódicamente los datos FFT después de la operación DSP y los mostrará gráficamente

5. Cambie la frecuencia de la fuente de la señal y observe y registre los cambios en el diagrama del espectro.

6. Seleccione el número de puntos FFT para que sea 128 puntos y observe y registre los cambios en el espectrograma.

7. Cambie la frecuencia de la señal sinusoidal y repita los pasos 4 ~ 6.

8. Utilice un generador de señales de baja frecuencia para generar una señal de onda cuadrada de 1 KHz y repita los pasos 4 a 7. Nota: La frecuencia de la señal de onda cuadrada debe seleccionarse en función de la frecuencia de muestreo de la caja experimental fs de 10 KHz y el ancho de banda de frecuencia de la señal de onda cuadrada.

Este experimento de hardware requiere dos tipos de señales, dos frecuencias para cada señal, dos puntos para cada señal, etc. ***8 veces de contenido experimental específico y más de 4 ejemplos cuyas propiedades pueden reflejar la Requisitos experimentales.Hacer un registro.

2.7 Preguntas

1. Para la misma señal, ¿cuáles son las diferencias entre los diagramas de espectro observados por FFT con diferentes puntos?

2. ¿Cuál es la relación entre la FFT después de que se alarga la secuencia y la FFT de la secuencia original? Intente deducir una de las relaciones.

3. Utilizando la teoría de series de Fourier, intente explicar la relación entre el espectro de una señal sinusoidal y el espectro de una señal de onda cuadrada.

3 Experimento de diseño de filtro IIR

3.1 Propósito del experimento

1. Profundice su comprensión de los principios básicos de los filtros IIR a través de experimentos.

2. Aprenda a escribir programas de simulación en MATLAB para filtros IIR.

3.2 Instrumentos experimentales

1. 1 probador inteligente de fuente de señal integrada YBLD

2. 1 osciloscopio de doble traza

3. MCOM-TG305 procesamiento de señales digitales y tecnología de comunicación moderna caja experimental 1 juego

4. 1 PC (instalado con MATLAB, MCOM-TG305 compatible con software experimental)

3.3 Principio experimental

El filtro IIR tiene las siguientes características:

1 . La función del sistema del filtro digital IIR se puede escribir en forma de función cerrada.

2. El filtro digital IIR adopta una estructura recursiva, es decir, tiene un bucle de retroalimentación en la estructura. La estructura operativa del filtro IIR generalmente consta de operaciones básicas como retardo, coeficiente de multiplicación y suma. Se puede combinar en cuatro formas estructurales: tipo directo, tipo positivo, tipo cascada y tipo paralelo, todas con bucles de retroalimentación. Debido al proceso de redondeo en la operación, los errores continúan acumulándose, causando a veces oscilaciones débiles y espurias.

3. En el diseño de filtros digitales IIR, podemos confiar en los logros de filtros analógicos maduros, como Butterworth, Chebyshev y filtros elípticos. Hay datos de diseño o gráficos disponibles. La carga de trabajo de diseño es relativamente pequeña y requiere pocos cálculos. Los requisitos de herramientas no son elevados. Al diseñar un filtro digital IIR, primero escribimos la fórmula del filtro analógico de acuerdo con los indicadores y luego convertimos la fórmula del filtro analógico en la fórmula del filtro digital mediante ciertas transformaciones.

4. Las características de fase del filtro digital IIR son difíciles de controlar. Cuando los requisitos de fase son altos, es necesario agregar una red de calibración de fase.

Para diseñar un filtro IIR en MATLAB, puede utilizar la función Butterworth para diseñar un filtro Butterworth, la función Cheby1 para diseñar un filtro Chebyshev tipo I y la función Cheby2 para diseñar un filtro Chebyshev tipo II. , utilice la función elipord para diseñar un filtro elíptico. A continuación se presenta principalmente el uso de las dos primeras funciones.

A diferencia del diseño de los filtros FIR, el orden del diseño del filtro IIR no lo especifica el diseñador, sino que se basa en los diversos parámetros del filtro (frecuencia de corte, patrón de filtro de banda de paso, resistencia) ingresados ​​por el diseñador. . Con atenuación, etc.), el software diseña el orden de filtro más bajo que cumpla con estos parámetros. Los diferentes tipos de filtros IIR diseñados en MATLAB tienen funciones correspondientes para la selección de pedidos.

1. Diseño del filtro Butterworth IIR

En MATLAB, la función butter se puede utilizar para diseñar el filtro Butterworth IIR.

La función Butter puede diseñar filtros IIR digitales y analógicos de paso bajo, paso alto, paso de banda y supresión de banda. Sus características son maximizar la planitud de la respuesta de amplitud en la banda de paso, pero. al mismo tiempo perder la frecuencia de corte la pendiente descendente. Cuando se desea suavidad en la banda de paso, se puede utilizar la función de mantequilla.

El uso de la función mantequilla es:

[b, a]=butter(n, Wn, /ftype/)

donde n representa el filtro orden, Wn representa la frecuencia de corte del filtro, estos dos parámetros se pueden determinar usando la función buttord. La función Buttord puede encontrar el orden mínimo n del filtro Butterworth dado el rendimiento del filtro y también proporciona la frecuencia de corte correspondiente Wn. El uso de la función buttord es:

[n, Wn]= buttord(Wp, Ws, Rp, Rs)

donde Wp y Ws son las frecuencias de esquina de la banda de paso y stopband respectivamente (frecuencia de corte), su rango de valores está entre 0 y 1. Cuando su valor es 1, representa la mitad de la frecuencia de muestreo. Rp y Rs son los coeficientes de ondulación de las regiones de banda de paso y banda de detención, respectivamente.

Los valores de Wp y Ws correspondientes a los distintos tipos de filtros (pasaaltos, pasabajos, pasabanda y supresor de banda) siguen las siguientes reglas:

1 . Filtro de paso alto: Wp y Ws son vectores de un elemento y Wpgt

2. Filtro de paso bajo: Wp y Ws son vectores de un elemento y Wplt;

3. Filtro de paso de banda: Wp y Ws son vectores binarios y Wplt, como Wp=[0.2, 0.7], Ws=[0.1, 0.8]; Filtro de parada de banda: Wp y Ws son vectores binarios y Wpgt, como Wp=[0.1, 0.8], Ws=[0.2, 0.7].

2. Diseño del filtro IIR tipo I de Chebyshev

Cuando se espera una gran pendiente de caída de la banda de paso, se debe utilizar un filtro elíptico o un filtro de Chebyshev. El filtro IIR tipo Chebyshev I se puede diseñar utilizando la función cheby1 en MATLAB.

La función cheby1 puede diseñar filtros IIR tipo Chebyshev I de paso bajo, paso alto, paso de banda y rechazo de banda. La banda de paso tiene ondulaciones iguales y la banda de parada es monótona. Chebyshev tipo I tiene una pendiente de descenso más pronunciada que el tipo II, pero a expensas de mayores ondulaciones en la banda de paso.

El uso de la función cheby1 es:

[b, a]=cheby1(n, Rp, Wn, /ftype/)

Cuando se usa la función cheby1 diseño Antes del filtro IIR, la función cheblord se puede utilizar para encontrar el orden del filtro n y la frecuencia de corte Wn. La función cheblord selecciona el orden mínimo y la frecuencia de corte Wn del filtro tipo I de Chebyshev dado el rendimiento del filtro.

El uso de la función cheblord es:

[n, Wn]=cheblord(Wp, Ws, Rp, Rs)

Donde Wp y Ws son pasar respectivamente La frecuencia de esquina (frecuencia de corte) de la banda y la banda de parada, su rango de valores está entre 0 y 1. Cuando su valor es 1, representa la mitad de la frecuencia de muestreo. Rp y Rs son los coeficientes de ondulación de las regiones de banda de paso y banda de detención, respectivamente.

3.4 Contenido experimental

1. Experimento de simulación de software: escriba y depure programas MATLAB, seleccione cuatro filtros de diferentes formas y tipos para la simulación, registre las características de amplitud-frecuencia y fase-frecuencia y compare los filtros Butterworth y los filtros Chebyshev.

2. Experimento de hardware: diseñe un filtro IIR, observe la respuesta al impulso, las características de frecuencia de amplitud y las características de frecuencia de fase en la computadora y luego descárguelo en la caja del experimento. Utilice un osciloscopio para observar las formas de onda de entrada y salida y probar las características de respuesta de amplitud-frecuencia del filtro.

3.5 Programa de referencia de MATLAB y contenido de simulación

***************************** ***** *******************************************

modo: 1--Pase bajo de Butterworth; 2--Pase alto de Butterworth; 3--Pase de banda de Butterworth; 4--Pase bajo de Butterworth; 5--Pase bajo de Chebyshev; paso alto de Chebyshev; 7--paso de banda de Chebyshev; 8--parada de banda de Chebyshev

fp1, fp2: frecuencia de corte de banda de paso, solo fp1 es válido cuando pasa alto o paso bajo

fs1, fs2: Frecuencia de corte de banda de parada, solo fs1 es válido cuando es de paso alto o paso bajo

rp: Coeficiente de ondulación de banda de paso

as: Coeficiente de atenuación de banda de parada

p>

sample: Tasa de muestreo

h: Devuelve los coeficientes de filtro diseñados

****************** ****** *****************************************

function[b, a]=iirfilt(modo, fp1, fp2, fs1, fs2, rp, as, muestra)

wp1=2*fp1/sample; p>

ws1=2*fs1/sample; ws2=2*fs2/sample;

Obtenga el pedido mínimo N y la frecuencia 3bd del filtro Butterworth

if modelt; 3[N, wn]=buttord(wp1, ws1, rp, as);

elseif modelt; 5[N, wn]=buttord([wp1 wp2] , [ws1 ws2], rp, como

Obtiene el orden mínimo N y la frecuencia 3bd wn del filtro Chebyshev

elseif modelt 7[N, wn]= cheb1ord(wp1, ws1, rp, as);

else[N, wn]=cheblord([wp1 wp2], [ws1 ws2], rp, as

end

Obtiene el numerador b); y denominador a del coeficiente de filtro

if mode= =1[b, a]=butter(N, wn end

if mode= =2[b, a]); =mantequilla(N, wn, /alta/); fin

si modo= =3[b, a]=mantequilla(N, wn/) fin

si modo= =); 4[b, a]=butter(N, wn,/stop/); fin

si modo= =5[b, a]=cheby1(N , rp, wn fin

if modo= =6[b, a]=cheby1(N, rp, wn,/high/ end

if modo= = 7[b, a]=cheby1(N); , rp, wn); fin

if modo= =8[b, a]=cheby1(N, rp, wn, /stop/); /menubar/, barra de menú);

freq_response=freqz(b, a);

magnitude=20*log10(abs(freq_response)

m); =0:511;

/p>

f=m*sample/(2*511);

subplot(3, 1, 1); plot(f, magnitud grid); >

axis([0 muestra/2 1.1*min(magnitud) 1.1*max(magnitud)];

ylabel('Magnitud'); xlabel('Frecuencia--gt;')

phase=angle(freq_response);

subplot(3, 1, 2); plot(f, grid); >eje ([0 muestra/2 1.1*min(fase) 1.1*max(fase)]);

ylabel('Fase'); xlabel('Frecuencia--gt;'); p>

h=impz(b, a, 32); respuesta de función unitaria de 32 puntos

t=1:32;

subplot(3, 1, 3) ; tallo (t, h); grid;

axis([0 32 1.2*min(h) 1.1*max(h)]); )' ); xlabel('n--gt;');

****************************** ** *************************************

Supongamos que necesita diseñe una mariposa Para un filtro IIR de paso bajo, la frecuencia de corte de la banda de paso es 2 KHz, la frecuencia de corte de la banda de paso es 3 KHz, el coeficiente de ondulación de la banda de paso es 1, el coeficiente de atenuación de la banda de paso es 20 y la frecuencia de muestreo es 10 KHz, solo necesita escriba en la ventana de comandos de MATLAB:

[b, a]=iirfilt(1, 2000, 3000, 2400, 2600, 1, 20, 10000)

El programa simula y genera filtrado digital en el siguiente orden Coeficientes de la función del sistema del dispositivo

b= b0 b1 ……bn

a= a0 a1 ……an

Acerca de la simulación de software Para el contenido experimental, se recomienda que, después de completar una gran cantidad de ejemplos de simulación, se seleccionen para grabar cuatro ejemplos que puedan reflejar los requisitos experimentales. La función del sistema solo necesita registrar el. orden del sistema.

3.6 Pasos del experimento de hardware

1. De acuerdo con la condición de que la frecuencia de muestreo fs de la caja experimental sea 10 KHz, use un generador de señal de baja frecuencia para generar una señal sinusoidal de baja frecuencia con una frecuencia adecuada, agréguela a la entrada del canal analógico 1 de la caja experimental y conecte la sonda del canal 1 del osciloscopio a la entrada del canal analógico 1. La sonda del canal 2 está conectada a la salida del canal analógico 2.

2. Después de asegurarse de que la caja de experimentos esté encendida correctamente y que el cable del puerto serie esté conectado normalmente, ejecute el software de desarrollo de experimentos de aplicaciones DSP y procesamiento de señales digitales, seleccione el submenú "Filtro IIR" en el menú "Experimento de procesamiento de señales digitales" y Aparecerá un mensaje rápido.

3. Después de ingresar parámetros como el tipo de filtro y la frecuencia de corte del filtro, haga clic en los botones "Características de amplitud-frecuencia" y "Características de fase-frecuencia" respectivamente para observar las características de amplitud-frecuencia y las características de frecuencia de fase del filtro IIR en el lado derecho de la ventana. En este momento, la información del mensaje desaparecerá. Si necesita ver la información del mensaje, puede hacer clic en el botón "Descripción del diseño".

4. Haga clic en el botón "Descargar implementación" y el filtro IIR comenzará a funcionar. En este momento, las características de amplitud-frecuencia del filtro IIR se mostrarán en el lado derecho de la ventana.

5. Según el tipo de filtro de entrada, cambie la frecuencia de la fuente de señal de baja frecuencia, observe los cambios en las amplitudes de las formas de onda de entrada y salida en el osciloscopio y mida las características de respuesta de amplitud-frecuencia del filtro IIR para ver si es consistente. con las características de amplitud-frecuencia diseñadas.

6. Cambie el tipo de filtro, la frecuencia de corte del filtro y otros parámetros (***4 tipos) y repita los pasos 3 a 5. Los parámetros de ejemplo seleccionados deberían ser preferiblemente los mismos que los del programa de simulación MATLAB.

7. Utilice un generador de señales de baja frecuencia para generar una señal de onda cuadrada de 500 Hz, diseñe tres tipos de filtros respectivamente, complete las funciones requeridas en la siguiente tabla y registre los parámetros y formas de onda.

Función

Tipo de filtro

Parámetros

Forma de onda de salida

fp1

fp2

fs1

fs2

A través de armónicos de tercer orden e inferiores

Registra el gráfico además y etiqueta el número del gráfico

p>

Filtrar armónicos de 5.º orden e inferiores

Pasar armónicos de 3.º a 5.º orden

3.7 Preguntas

1 . Bajo la condición de que la frecuencia de muestreo fs de la caja experimental se fije en 10 KHz, es necesario observar cada componente armónico dentro del ancho de banda de frecuencia de la señal de onda cuadrada. ¿Cuál es la frecuencia máxima de la señal de onda cuadrada?

2. ¿Existe alguna distorsión en cada componente armónico de la señal de salida en el contenido del experimento de hardware 7 en comparación con el mismo componente armónico de la señal de onda cuadrada original? ¿Qué tipo de distorsión se produce principalmente? ¿Por qué?

4 Experimento de diseño de filtro FIR del método de función de ventana

4.1 Propósito del experimento

1. Profundice su comprensión de los principios básicos de los filtros FIR a través de experimentos.

2. Aprenda a utilizar el método de función de ventana para diseñar filtros FIR y comprenda el impacto de la forma y la longitud de la función de ventana en el rendimiento del filtro.

4.2 Instrumentos experimentales

1. 1 probador inteligente de fuente de señal integrada YBLD

2. 1 osciloscopio de doble traza

3. MCOM-TG305 procesamiento de señales digitales y tecnología de comunicación moderna caja experimental 1 juego

4. 1 PC (instalado con MATLAB, MCOM-TG305 compatible con software experimental)

4.3 Principio experimental

El diseño de filtros digitales es una parte importante del procesamiento de señales digitales. El diseño de filtro digital incluye filtros FIR (respuesta al impulso unitario finito) y filtros IIR (respuesta al impulso unitario infinito).

En comparación con los filtros IIR, los filtros FIR pueden lograr fácilmente características de fase lineal estrictas y al mismo tiempo garantizar que las características de amplitud cumplan con los requisitos técnicos. Supongamos que la longitud de la respuesta al impulso unitario h(n) del filtro FIR es N, y su función del sistema H(z) es:

H(z) es el polinomio de N-1 grado de z -1, que está en el plano z. Hay N-1 puntos cero en el gráfico, y el origen z=0 es un polo pesado de orden N-1, por lo que H (z) siempre es estable. Las características de fase estable y lineal son las ventajas sobresalientes de los filtros FIR.

La tarea de diseño del filtro FIR es seleccionar h(n) de longitud finita. Haga que la función de transferencia H() cumpla con los requisitos técnicos. Existen muchos métodos de diseño para filtros FIR, como el método de función de ventana, el método de muestreo de frecuencia y varios otros métodos de diseño de optimización. Este experimento presenta el diseño de filtros FIR utilizando el método de función de ventana.

El método de función de ventana utiliza ventanas rectangulares, ventanas triangulares, ventanas de Bartlett, ventanas de Hamming, ventanas de Hanning y ventanas de Blackman para diseñar respuestas estándar de filtro de paso alto, paso bajo, paso de banda y parada de banda.

1. Uso de la función firl

La función firl se puede utilizar para diseñar filtros FIR de respuesta estándar en MATLAB. La función firl implementa el diseño de filtros FIR de fase lineal con ventana de forma clásica. Puede diseñar filtros estándar de paso bajo, paso de banda, paso alto y supresión de banda. El uso de la función firl es:

b=firl(n, Wn, /ftype/, Window)

El significado de cada parámetro es el siguiente:

b—Coeficiente del dispositivo filtrante.

Para un filtro FIR de orden n, sus n 1 coeficientes de filtro se pueden expresar como: b(z)=b(1) b(2)z-1 ... b(n 1)z-n.

n: orden de filtrado.

Wn—frecuencia de corte, 0≤Wn≤1, Wn=1 corresponde a la mitad de la frecuencia de muestreo. Al diseñar filtros de paso de banda y de eliminación de banda, Wn=[W1 W2], W1≤ω≤W2.

ftype: cuando se especifica ftype, se pueden diseñar filtros de paso alto y de eliminación de banda. Cuando Ftype = alto, diseñe un filtro FIR de paso alto; cuando ftype = stop, diseñe un filtro FIR de parada de banda. No es necesario ingresar el parámetro ftype para los filtros FIR de paso bajo y de paso de banda.

Ventana—Función de ventana. La longitud de la función de ventana debe ser igual al número de coeficientes del filtro FIR, es decir, el orden n 1.

2. Uso de funciones de ventana

Bajo MATLAB, estas funciones de ventana son:

1. Ventana rectangular: w=boxcar(n), genera una función de ventana rectangular de n puntos.

2. Ventana triangular: w = triang (n), genera una función de ventana triangular de n puntos.

Cuando n es un número impar, el coeficiente de la ventana triangular es w(k)=

Cuando n es un número par, el coeficiente de la ventana triangular es w(k)=

3. Ventana de Bartlett: w = Bartlett (n), genera una función de ventana de Bartlett de n puntos.

El coeficiente de la ventana de Bartlett es w(k)=

La ventana de Bartlett es muy similar a la ventana triangular. La ventana de Bartlett siempre termina en cero en los puntos de muestreo 1 y n, mientras que la ventana triangular no termina en estos puntos. De hecho, cuando n es un número impar, los n-2 puntos centrales de bartlett(n) son equivalentes a triang(n-2).

4. Ventana Hamming: w=hamming(n), genera una función de ventana Hamming de n puntos.

El coeficiente de la ventana de Hamming es w(k 1)=0.54-0.46cos( ) k=0,...,n-1

5. Ventana de Hanning: w = hanning (n), genera una función de ventana de Hanning de n puntos.

El coeficiente de la ventana de Hanning es w(k)=0.5[1-cos( )] k=1,...,n

6. Ventana de Blackman: w = Blackman (n), genera una función de ventana de Blackman de n puntos.

El coeficiente de la ventana de Blackman es w(k)=0.42-0.5cos(2π) 0.8cos(4π)] k=1,...,n

Con Hamming de igual longitud En comparación con la ventana de Hanning, el lóbulo principal de la ventana de Blackman es ligeramente más ancho y los lóbulos laterales son ligeramente más bajos.

7. Ventana de Kaiser: w = Kaiser (n, beta), genera un número de ventana de Kaiser de n puntos, donde beta es el parámetro β que afecta los lóbulos laterales de la función de ventana. La relación entre la supresión mínima de los lóbulos laterales α y β es:

0.1102(α-0.87) αgt 50

β= 0.5842(α-21)0.4 0.07886(α-21) 21≤α≤50

0 αlt ;21

El aumento de β puede ensanchar el lóbulo principal y reducir la amplitud de los lóbulos laterales.

8. Ventana de Chebyshev: w=chebwin(n,r) genera una función de ventana de Chebyshev de n puntos. La ondulación del lóbulo lateral después de la transformada de Fourier es un número r db menor que el del lóbulo principal.

4.4 Contenido experimental

1. Experimento de simulación de software: escriba y depure programas MATLAB, observe h (n) de 4 tipos de filtros FIR con diferentes ventanas, diferentes tipos de filtros y diferentes puntos, y registre las características de amplitud-frecuencia y las características de frecuencia de fase.

2. Experimento de hardware: utilice el método de función de ventana para diseñar un filtro FIR de respuesta estándar, observe las características de amplitud-frecuencia, las características de amplitud-frecuencia y las características de frecuencia de fase de la función de ventana en la computadora y luego descárguelo en la caja experimental. Utilice un osciloscopio para observar las formas de onda de entrada y salida y probar las características de respuesta de amplitud-frecuencia del filtro.

4.5 Programa de referencia de MATLAB y contenido de simulación

****************************** ***** *******************************************

modo: modo (1 --Paso alto; 2--Paso bajo; 3--Paso de banda; 4--Parada de banda)

n: Orden, el número de puntos de la ventana es el orden más 1

fp: Indica la frecuencia de corte en paso alto y paso bajo, e indica la frecuencia límite inferior en paso banda y rechazo de banda

fs: Indica la frecuencia límite superior en ventana de paso de banda y rechazo de banda

: Agregar ventana (1--ventana rectangular; 2--ventana triangular; 3--ventana de Bartlett; 4--ventana de Hanming;

> 5--ventana Hanning; 6--ventana Blackman; 7--ventana Kaiser; 8--ventana Chebyshev)

r: representa el valor de r al agregar la ventana de chebyshev y el valor beta al agregar la ventana kaiser

muestra: frecuencia de muestreo

h: devuelve los coeficientes del filtro FIR diseñados

*************** *************** ************************************* ****

modo: modo (1--paso alto; 2--paso bajo; 3--paso de banda; 4--parada de banda)

n: Orden, el número de puntos de la ventana es el orden más 1

fp: indica la frecuencia de corte en paso alto y paso bajo, e indica la frecuencia límite inferior en paso de banda y rechazo de banda

fs: