Vous êtes sur la page 1sur 9

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA


LABORATORIO DE COMUNICACIN DIGITAL

TRABAJO
PREPARATORIO
Prctica N 2 Tema: Anlisis espectral en matlab y simulink.

Fecha de realizacin: 6/11/2017.

Realizado por:
Alumno(s): Edison Loaiza Grupo: GR2-( ).
Jonathan Lpez

Semestre: 2017B.

1
TEMA: ANLISIS ESPECTRAL EN MATLAB Y SIMULINK.
1. OBJETIVO

Aplicar los conceptos relacionados a la teora de anlisis de seal en el dominio del tiempo y la
frecuencia. Utilizar SIMULINK para analizar seales en el dominio del tiempo y la frecuencia

3. TRABAJO PREPARATORIO

3.1. Consultar sobre las funciones de MATLAB para procesamiento de seales: fir1, fir2, buttord,
butter, cheb1ord, cheb2ord, cheby1, cheby2, filter, filtfilt, freqz, pwelch, rand.

- fir1:
Se multiplica la respuesta en el tiempo de un filtro ideal con una funcin ventana. Truncando la respuesta ideal
a un nmero finito de elementos.
num=fir1(n,Wp)
n: Orden del filtro
Wp: Vector que contiene las frecuencias de corte.
Si slo tiene un elemento se obtiene un filtro pasabajos y si contiene dos elementos se obtiene u filtro pasabanda.

- fir2
Esta funcin nos permite seleccionar la respuesta frecuencial del filtro.
Ejemplo, filtro pasa bajo:
f = [0 0.6 0.6 1];
m = [1 1 0 0];
b = fir2(30,f,m);
[h,w] = freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend('Ideal','Diseo fir2')
title('Comparacin entre respuestas en frecuencia')

- buttord
A partir de las especificaciones de atenuacin mxima en la banda de paso y mnima en la de rechazo as como
de las respectivas frecuencias de corte de cada una de las bandas, nos da el orden del filtro y la frecuencia
natural del filtro.
Es decir, determina el orden del filtro para las especificaciones
[nB,WnB]=buttord(Wp,Ws,Rp,Rs)
Wp, Ws, Rp y Rs corresponden a las especificaciones.
WnB: Frecuencia a -3 dB.

- Butter
A partir del orden del filtro y de la frecuencia natural, la funcin butter nos da los polinomios correspondientes al
numerador y al denominador de la funcin de transferencia.
Es decir, Obtiene los coeficientes del filtro.
[numB,denB]=butter[nB,WnB]
En el diseo de filtros Pasabanda o rechazo de banda el orden del filtro resulta ser en realidad el doble del
especificado por el comando buttord.
Los ms usuales son los siguientes:
Butterworth Pasabajas: [num,den]=butter(nB,Wn)
Butterworth Pasaaltas: [num,den]=butter(nB,Wn,high)

cheb1ord y cheby1
Filtros IIR proceden directamente de la aplicacin de mtodos que tradicionalmente se han aplicado en el
desarrollo de filtros analgicos tales como eran las aproximaciones de Butterword, Chebyshev o Elptica. Matlab
dispone de funciones semejantes a las anteriores para el desarrollo de aproximaciones chebyshev. En este
caso, en la aproximacin tipo I de chebyshev o llamada tambin directa, las funciones a utilizar son la chen1ord
y la cheby1.

2
El orden obtenido a partir de esa funcin, que requiere las mismas entradas de datos que la correspondiente de
la aproximacin Butterword, es de 7. Este orden es muy inferior al de las anteriores aproximaciones.
[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s')
[b,a]=cheby1(n,Rs,Wn)
Regresa el grado mnimo y frecuencia que puede tener el filtro con ciertas caractersticas deseadas.
Significado de las iniciales:
Wp = Frecuencia de corte, sta debe estar entre 0 y 1 donde .5 sera la frecuencia de muestreo (teorema de
Nyquist).
Ws = Frecuencia de paro, esta es donde la seal es atenuada casi por completo, est en las mismas unidades
de Wp, y est entre 0 y 1.
Rp = Atenuacin del rizo.
Rs = Atenuacin de las frecuencias no deseadas.

-cheb2ord y cheby2
Mediante las funciones de matlab cheb2ord y cheby2 obtenemos de forma relativamente sencilla la
aproximacin buscada. Eso se debe a que la forma de obtener una a partir de la otra es mediante una sencilla
transformacin matemtica que implica dejar inalterado el orden de la aproximacin. El nico cambio que se
introduce es que el rizado se traslada a la banda de rechazo siendo ahora la banda de paso mximamente plana
como lo era en el caso de Buterword. Si bien, el orden es menor pues ahora no tenemos un exceso de atenuacin
en la banda de rechazo tan acentuado como en el caso de la Butterword.
[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs,'s')
[b,a]=cheby2(n,Rs,Wn)
Regresa el grado mnimo y frecuencia que puede tener el filtro con ciertas caractersticas deseadas.
Wp= Frecuencia de corte, sta debe estar entre 0 y 1 donde .5 sera la frecuencia de muestreo (teorema de
Nyquist).
Ws= Frecuencia de paro, esta es donde la seal es atenuada casi por completo, est en las mismas unidades
de Wp, y est entre 0 y 1.
Rp= Atenuacin del riso.
Rs=Atenuacin de las frecuencias no deseadas.

- filter
Mediante sencillas transformaciones por medio de la funcin filter podemos obtener la respuesta
en Z del filtro digital.
Seal de Salida del Filtro Para una Seal de Entrada
y=filter(num,den,x) Donde: x es la seal de entrada.

-filtfilt
y = filtfilt (b, a, x)
Realiza filtrado digital de fase cero mediante el procesamiento de los datos de entrada, x, en ambas direcciones
directa e inversa. b: proporciona los coeficientes del numerador del filtro y el vector de los coeficientes
proporciona un denominador.
Si utiliza un filtro de todos los polos, introduzca 1 para b.
Si utiliza un filtro de todo ceros (FIR), introduzca 1 para a.
Despus de filtrar los datos en la direccin de avance, filtfilt invierte la secuencia filtrada y se ejecuta de nuevo
a travs del filtro. El resultado tiene las siguientes caractersticas:
Distorsin de Fase Cero; Una funcin de transferencia del filtro, que es igual a la magnitud al cuadrado de la
funcin de transferencia filtro original.
Para una orden de filtro que es el doble del orden del filtro especificado por b y a filtfilt minimiza la puesta en
marcha y termina transitorios, haciendo coincidir las condiciones iniciales, y se puede utilizar tanto para reales
y complejos.

- freqz
Mediante sencillas transformaciones por medio de la funcin freqz podemos obtener la respuesta en Z del filtro
digital.
Respuesta de Magnitud y Fase de Filtros
[H,F]=freqz(num,den): Por defecto asume 512 puntos equidistantemente espaciados y el eje de frecuencias es
normalizada.
[H,F]=freqz(num,den,n,Fs): Donde se especifica nmero de puntos n y la frecuencia de muestreo
Fs.
[H,F]=freqz(num,den,f,Fs): Donde f es un vector en el que se especifica las frecuencias particulares en las que
se obtendr la respuesta de magnitud y fase.

3
- pwelch
Esta funcin estima la densidad de potencia espectral (PSD) de una seal utilizando el mtodo de Welch:
[Pxx, f]=pwelch(x, window, noverlap, nfft, fs) La seal x a analizar se divide en k secciones de nfft puntos
que pueden estar solapadas. k se calcula a partir de:
m: tamao de x
n: nmero de puntos solapados
l=nfft: tamao de cada seccin
Se aplica la ventana especificada window a cada seccin de x
Se calcula el espectro de cada seccin a partir de la fft
Se obtiene el promedio de los espectros, que se multiplica por 1/fs para obtener la PSD (unidades de
potencia/Hz; V2 /Hz o g 2 /Hz).

- randy guide
Una de las tantas herramientas con la que cuenta MatLab, es la creacin de GUIs. La forma de implementar las
GUI con MatLab es crear los objetos y definir las acciones que cada uno va a realizar. Al usar GUIDE
obtendremos dos archivos:
Un archivo FIG Contiene la descripcin de los componentes que contiene la interfase.
Un archivo M Contiene las funciones y los controles del GUI as como el callback
Un callback se define como la accin que llevar a cabo un objeto de la GUI cuando el usuario lo active. Para
ejemplificarlo, suponga que en una ventana existe un botn el cual al presionarlo ejecutar una serie de
acciones, a eso se le conoce como la funcin del callback.
De todo lo anterior mencionaremos las partes ms importantes de GUIDE:
Inspector de propiedades: Cada control cuenta con diferentes propiedades y es aqu donde podremos
cambiar: el color, el nombre, el tag, el valor, el callback entre otros.
Activar Figura: Una vez que hayamos terminado de disear presionamos este botn para activar la figura y
poder probar nuestra GUI.
Push Button: Crea un botn
Radio Button: Crea un botn circular
Edit Text: Crea una campo de texto
Axes: Crea una rea para grficas.
Frame: Crea un marco que puede contener otros controles
Static Text: Crea un letrero

3.2. Consultar y detallar el funcionamiento de los bloques de Simulink que permitan obtener
el espectro de magnitud de una seal.

TO WORKSPACE: Enva las variables generadas en el SIMULINK al MATLAB, esta se genera en la ventana
de comandos de Matlab.

SIGNAL GENERATOR: Puede generar cuatro diferentes tipos de formas de onda: onda seno (sine), onda
cuadrada (square), onda diente de sierra (sawtooth) y onda aleatoria (ramdom). Los parmetros de las
seales son expresados en hercios o radianes por segundo. Se puede invertir la onda configurando el valor de
la amplitud en negativo en la ventada de dialogo de parmetros.

ANALIZADOR DE ESPECTROS: (Signal Processing Blockset/Signal Processing


Sinks/Spectrum Scope). En el Spectrum Scope, establecer Buffer size, Buffer overlap y
Number of spectral averages.

BLOQUE DE SUMA: Es aquel que realiza la operacin de sumatoria o resta en sus entradas. Este bloque puede
sumar o restar escalar, vector o matriz de entradas.
Tambin se pueden colapsar los elementos de una seal.

MUESTREO: Es necesario dado que los generadores son seales en tiempo continuo y el analizador de
espectros calcula la FFT de una seal discreta.

4
GAIN: Multiplica la entrada por un valor constante (ganancia). La entrada y la ganancia pueden ser un escalar,
un vector o una matriz. El valor de la ganancia se especifica a travs del parmetro Gain. El parmetro
Multiplication determina se la multiplicacin es matricial o elemento a elemento. El orden de las multiplicaciones
en las operaciones matriciales es configurado a travs de este parmetro.

SCOPE: Muestra su entrada con respecto al tiempo de simulacin. El bloque


scope puede tener varios ejes (uno por cada puerto) y todos los ejes tienen un rango de tiempo comn con los
independientes y los ejes. El bloque scope le permite ajustar la cantidad de tiempo y el rango de valores de
entrada que se muestra. Puede mover y redimensionar la ventana del alcance y se pueden modificar los valores
del alcance de los parmetros durante la simulacin. Al final, este bloque a nivel de prcticas muestra la forma
de las ondas de las seales en forma grfica.
Este bloque est conectado a la salida de un sistema que muestra el contenido de frecuencia de la memoria
intermedia en la ventana grfica.

3.3. Graficar en el tiempo el producto de funciones g1 y g2 en los siguientes casos:

5
6
+

3.4. Elaborar una GUI


independiente por cada literal de funciones (a, b, c) que permita graficar en una:

Las 2 seales.

La seal (multiplicada) en funcin del tiempo.

El espectro de potencia de dicha seal, de las funciones: a, b y c, del literal anterior.

La GUI (Interfaz Grfica de Usuario) deber permitir ingresar en un textbox los valores de
Amplitud, Periodo y Nmero de periodos de las seales, etc.; y con un botn para que se
generen todas las seales. (Nota: Estos archivos .m deben traerlos ya hechos para la prctica)

3.5. Elaborar una GUI en Matlab, donde se visualice dos seales, una seal cuadrada simtrica
y una seal diente de sierra; de modo que la amplitud y la frecuencia sean ingresados
mediante una barra deslizante. (Nota: Los rangos de amplitud deben ser de 1 a 10, y los de
frecuencia de 10 a 10000 Hz).

7
8
Bibliografa:

Ayuda del software computacional Matlab.

Vous aimerez peut-être aussi