Comunicacion Digital Prepa3
Comunicacion Digital Prepa3
Comunicacion Digital Prepa3
PREPARATORIO
Prctica #: 3
Realizado por:
Grupo:
GR1
f.______________________
Sancin: _______________________________________________________
Semestre: 2015-B
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 un
filtro pasabanda.
fir2
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
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
[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.
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.
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
b) g1(t) = 2sin(4*f1*t)
g2(t) es una funcin diente de sierra de periodo T = 1/f2 de acuerdo a la siguiente figura:
Ejemplo de Cdigo:
A continuacin se presenta el cdigo de la grfica correspondiente al literal b).
NOTA: Para las grficas del resto de literales, es el mismo cdigo pero cambiando las
funciones g1 y g2 por las correspondientes de cada literal.
a1=2;
f1=5000;
f2=2500;
fs=30*f1;
t=0:(1/fs):(4/f1);
%Literal b)
g1=2*sin(4*pi*f1*t);
figure
plot(t,g1,'r')
title('Funcin g1(t)')
xlabel('tiempo');
axis([0 4/f1 -1.1*a1 1.1*a1])
y2=0.75*sawtooth(2*pi*f2*t,0.5)+0.75;
y3=0.5*square(2*pi*f2*t)+0.5;
g2=-(y2.*y3);
figure
plot(t,g2,'r')
title('Funcin g2(t)')
xlabel('tiempo');
axis([0 4/f1 -1.7 0.1])
g=g1.*g2;
figure
plot(t,g);
title('Funcin g1(t)*g2(t)');
xlabel('tiempo')
y=G.*conj(G);
if fs >= fs2
fx1=fs/n*(1:n/2);
plot(handles.axes7,fx1,y(1:n/2));
else
fx2=fs2/n*(1:n/2);
plot(handles.axes7,fx2,y(1:n/2));
end
NOTA: EL cdigo empleado en los otros GUIDES es exactamente el mismo pero cambiando
las funciones g1 y g2 por las correspondientes a cada literal.
5. Elaborar un 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).
Referencias:
[1] Tutorial MatLAb Capitulo3
http://www.frsn.utn.edu.ar/tecnicas3/practicos/td3tp6_teoria.pdf
[2] Ayuda de MATLAB
[3] Manual de Interfaz Grfica de Usiario PARTE 1 Autor: Diego Orlando BArragn
https://www.dspace.espol.edu.ec/bitstream/123456789/10740/11/MATLAB_GUIDE.pdf
[4] Taller de SIMULINK y Procesamiento de Seales Dr. Javier Vega Pineda
http://www.depi.itchihuahua.edu.mx/jvega/TallerSimulinkIEEE/1Taller%20de%20SIMULIN
K%20y%20Procesamiento%20deSe%25F1ales.pdf
[5] Introduccion al Simulink Modelado y simulacin de sistemas dinmicos Teodoro lamo
,Daniel Limon, Manuel Gil, Manuel Ruiz, Guillermo Heredia. Departamento de Ingeniera
de Sistemas y Automtica- Universidad de Sevilla.
[6] Dispositivos y sistemas de comunicacin inalmbrica-Uso de MATLAB en comunicaciones.Dr.
Jos
Manuel
Rodrguez
AscarizUniversidad
de
Alcalhttps://www.depeca.uah.es/depeca/repositorio/subir_web/web/1296410069jmra2009/j
mra_uso_deMATLABenComunicaciones.pdf