Está en la página 1de 9

F sica de las Comunicaciones 2006/2007 Pr actica 2

Pr actica 2: Sistemas, ltros, ruido y canales de comunicaciones

1.

Objetivo y contenido

El objetivo de esta pr actica es doble: por una parte, repasar y consolidar las nociones de matlab dadas en la pr actica anterior; por otra parte, utilizar algunas de las funciones que matlab ofrece para modelar sistemas, ltros y canales de comunicaciones. En primer lugar, se utilizar a matlab para analizar sistemas lineales invariantes en el tiempo (LTI) y ltros en particular. Despu es, deniremos modelos de ruido y desvanecimiento para modelado de canales de comunicaciones. Para ello, utilizaremos funciones incluidas en los Toolboxes de procesamiento de se nales, comunicaciones y dise no de ltros. Finalmente, usaremos Simulink, una interfaz gr aca complementaria a matlab, para simular el comportamiento de un canal de comunicaciones con diferentes modelos de ltrado, retardo, ruido y desvanecimiento.

2.
2.1.

Sistemas lineales invariantes con el tiempo y ltros


Filtros ideales

Un sistema LTI viene denido por su respuesta impulsiva, h(t) (siendo la salida y (t) = Y (s ) h(t) x(t)), y su funci on de transferencia correspondiente, H (s) = X . En matlab, la (s ) funci on tf dene la funci on de transferencia de un sistema LTI a partir de dos vectores. El primero especica el numerador de la funci on de transferencia y el segundo especica 1 el denominador de la funci on de transferencia . En el ejemplo 1, se dene un LTI ideal de ganancia 1/3 que no altera la fase, y se estudia su respuesta a un escalon, su respuesta impulsiva y su respuesta en frecuencia. El ejemplo 2 compara, mediante c alculo simb olico, el resultado de aplicar a dos sinusoides un ltro de paso de baja ideal de ganancia 1 y frecuencia de corte 1001 Hz .
El orden en que se escriben los coecientes de los polinomios as como otros posibles par ametros, como de costumbre, se puede consultar con help tf y doc tf
1

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

Ejemplo 1 com pr2 0001 ltro ganancia.m


% Ejemplo de definici on de un LTI (Amplificador ideal de ganancia 1/3) X = 3 Y = 1 lti1 = tf(Y,X) % tf define un sistema LTI step(lti1) % representar respuesta a escal on pause % esperar tecla impulse(lti1) % representar respuesta impulsiva pause freqresp(lti1,1) % respuesta en frecuencia = 1 rad. pause bode(lti1)

Ejemplo 2 com pr2 0002 ltro ideal simbolico.m


% Filtro paso de baja ideal mediante c alculo simb olico syms t % Dos se~ nales sinusoides de entrada w1 = 1000; x1 = cos(2*pi*w1*t) w2 = 1100; x2 = cos(2*pi*w2*t) % Funci on de transferencia del filtro (escalon en frecuencia) syms w w_corte = 1001*2*pi; H_pb = Heaviside(w+w_corte)-Heaviside(w-w_corte) % Calcular las salidas en frecuencia como producto de transformadas X1 = fourier(x1); X2 = fourier(x2); Y1 = X1*H_pb; Y2 = X2*H_pb; % Calcular salidas en el dominio del tiempo y1 = ifourier(Y1) y2 = yfourier(Y2) % Representaci on de las salidas respecto al tiempo subplot(211) ezplot(y1) subplot(212) ezplot(y2)

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

Cualquier otra conguraci on de ltros paso de baja, alta o banda, se puede obtener mediante c alculo simb olico modicando la frecuencia de corte y restando escalones en frecuencia.

2.2.

Filtros reales

El ejemplo 3 dene un ltro paso de baja realizable de primer orden (ltro RC con 1 H (s) = 1+sRC ). Ejemplo 3 com pr2 0003 ltro rc 1er orden.m
% filtro RC 1er orden R = 10e3; C = 10e-12; Y = 1; X = [R*C 1] filtroRC = tf(Y,X) step(filtroRC) % respuesta a escal on impulse(filtroRC) % respuesta impulsiva ltiview(filtroRC) % Ventana especial de representaci on gr afica de sistemas LTI

La orden ltiview abre una ventana con una interfaz dise nada para representar gr acamente sistemas LTI. Esta ventana especial permite visualizar de manera c omoda las gr acas normalmente empleadas en el estudio de sistemas LTI y ltros. Denir un ejemplo de ltro RLC de paso de banda de segundo orden ((H (s) = s2 +s ks ) y otro de ltro RLC de paso de baja de segundo orden w0 +w 2
Q 0

(H (s) =

1 1 ). LC s2 +s(R/L)+1/(LC )

Para denir un ltro Butterworth, contamos con las funciones predenidas butter y buttord. En el ejemplo 4, denimos un ltro de paso de baja Butterworth de orden 3 y frecuencia de corte2 de 1KHz. Ejemplo 4 com pr2 0004 ltro butterworth1.m
% Filtro Butterworth de orden 3 orden = 3; w_corte = 1000; [Y, X] = butter(orden,w_corte,s) b = tf(Y,X) ltiview(b)

% s? ver help butter

En el ejemplo 5, denimos un ltro Butterworth de paso de baja con frecuencia de paso 5 KHz, frecuencia de rechazo 10 KHz, con atenuaci on menor de 2 dB en la banda de paso y mayor de 30 dB en las bandas rechazo: Comparar las se nales de entrada y salida del ltro.
2

Para la cual la respuesta en magnitud es

1/2.

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

Ejemplo 5 com pr2 0005 ltro butterworth2.m


% Filtro Butterworth con buttord y butter w_paso = 5*pi*1000; w_rechazo = 25*pi*1000; aten_paso = 2; aten_rechazo = 30; [n,w_corte] = buttord(w_paso,w_rechazo,aten_paso,aten_rechazo,s) % s? ver help buttord [Y,X] = butter(n,w_corte,s); b = tf(Y,X); ltiview(b)

3.

Ruido

Las funciones rand y randn, predenidas en matlab, generan n umeros pseudoaleatorios de distribucion uniforme y normal, respectivamente. Por tanto, podemos a nadir ruido aleatorio de distribuci on normal a cualquier se nal siguiendo el procedimiento que se muestra en el ejemplo 6. Ejemplo 6 com pr2 0006 ruido randn.m
% A~ nadir ruido a una sinusoide usando numeros aleatorios (randn - distrib. normal) randn(state,0); t = 0:0.001:pi; g = sin(2*pi*2*t); g_ruido = g + 0.25*randn(1,size(t)); % sumar vector aleatorio subplot(211) plot(t,g) subplot(212) plot(t,g_ruido)

Una manera m as c omoda de a nadir ruido blanco gaussiano a una se nal es utilizar las funciones predenidas wgn y awgn. Si queremos generar simplemente un vector se nal con ruido gaussiano blanco, podemos utilizar la funci on wgn (ver ejemplo 7). Mediante wgn, tambi en es posible generar ruido especicando la impedancia de carga (ver ejemplo 8). Ejemplo 7 com pr2 0007 ruido wgn.m
% Vector ruido de 1000 elementos y 2 dBm de potencia ruido = wgn(1000,1,2,dBm);

La funci on awgn genera ruido para un determinado valor de SNR. De este modo, podemos simular el paso de la se nal por un canal con ciertas caracter sticas de ruido. En el ejemplo 9, denimos una se nal cuadrada y a nadimos ruido con SN R = 15 dB : En el ejemplo 10, denimos una se nal sinusoide de frecuencia 2 Hz y SN R = 20 dB .
Dpto. Electr onica y Electromagnetismo Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

Ejemplo 8 com pr2 0008 ruido wgn impedancia carga.m


% Vector ruido de 1000 elementos, 0.5W de potencia sobre una carga de 100 Ohmios ruido = wgn(1000,1,0.5,100);

Ejemplo 9 com pr2 0009 ruido awgn.m


% A~ nadir ruido WGN a una se~ nal cuadrada con SNR=15dB t=0:0.01:10; g = square(t); % se~ nal cuadrada g_ruido = awgn(g,15); % a~ nadir ruido, SNR = 15dB plot(t,g_ruido) % Representar se~ nal con ruido % Representar las densidades espectrales de potencia psd(g) hold on psd(g_ruido)

Ejemplo 10 com pr2 0010 ruido awgn sinusoide.m


g=sin(2*pi*2*t); g_ruido = awgn(g,20); subplot(311) % Comparar se~ nal limpia y se~ nal con ruido plot(t,g); subplot(312) plot(t,g_ruido); subplot(313) plot(g,g_ruido) % Representar las densidades espectrales de potencia psd(g) hold on psd(g_ruido)

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

De los siguientes tipos de ruidos, cuales se pueden generar f acilmente en matlab? blanco rosa azul

4.

Canales de comunicaci on

Con lo visto hasta ahora, c omo se podr an denir en matlab modelos de canales de los siguientes tipos? Canal de ruido aditivo gaussiano. Canal de ltro lineal invariante con el tiempo. Canal de ltro lineal variante con el tiempo. C omo se pueden simular en matlab los efectos de atenuaci on de un canal? En cuanto al desvanecimiento, los modelos de canales de Rayleigh y Rician se pueden denir en matlab utilizando las funciones rayleighchan y ricianchan, respectivamente, incluidas en el Toolbox de comunicaciones. Ambas funciones crean un objeto canal. Para simular el paso de una se nal por el canal representado por el objeto, se puede utilizar la funci on filter, como en el ejemplo 11. Ejemplo 11 com pr2 0011 canal rayleigh.m
% Paso de una se~ nal por un canal con modelo de fading de Rayleigh t = 0:0.001:10; x = square(t); % Crear un objeto canal que sigue un modelo de Rayleigh % frec. de muestreo: 1KHz, M aximo desplazamiento Doppler: 20Hz c = rayleighchan(1/1000,20); % ver las propiedades del canal c % la se~ nal x atraviesa el canal c y = filter(c,x); % y es complejo! plot(abs(y)) plot(unwrap(angle(y)))

Comparar las se nales de entrada y salida del canal.


Dpto. Electr onica y Electromagnetismo Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

5.

Modelado de un canal mediante Simulink

Simulink es una herramienta complementaria a matlab que permite denir modelos de manera visual. Se puede arrancar de varias maneras, entre otras, dando la orden simulink en la ventana de ordenes de matlab, o con el bot on Simulink de la barra de herramientas. Del mismo modo que cuando denimos secuencias de ordenes con matlab contamos con una librer a de funciones predenidas, Simulink proporciona librer as de bloques funcionales. Los bloques de las librer as aparecen representados como iconos. Para usarlos, creamos un nuevo modelo, y los copiamos arrastr andolos con el rat on. En nuestro caso, nos pueden interesar, entre otros muchos, los siguientes componentes: Sources, Sine Wave. Continuous, Transfer Fcn. Blocksets & Toolboxes, Control System Toolbox, LTI. Comm Blockset, Comm Sources. Las propiedades y par ametros de los componentes que se vayan incorporando en los modelos se pueden editar pinchando dos veces sobre los componentes. En el ejemplo de la gura 1, archivo f icom_2apr_ejemplo_canal_simulinkr14.mdl3 , podemos ver el efecto que sobre diversas se nales de origen tienen los siguientes elementos: ltro LTI, retardo y ruido (gaussiano, normal o de otras distribuciones). Probar diferentes se nales y modicar los par ametros de los componentes (se pueden editar pinchando dos veces en ellos). Para tener una idea del aspecto del modelo completo de un sistema complejo en Simulink, se pueden abrir y analizar las siguientes demos, ambas pertenecientes al bloque de comunicaciones (Bot on Blocksets & Toolboxes, y despu es bot on Comm Blockset): Rayleigh Fading Channel RF Satellite Link

6.

Notas

1. En matlab existen muchas funciones que generan se nales (funciones) de uso frecuente. Por ejemplo: rectpuls, que genera un pulso rectangular; tripuls, que genera un pulso triangular; square, que genera una se nal cuadrada; sawtooth, que genera una se nal en diente de sierra; y otras (gauspuls, pulstran, diric, chirp, etc. En
Se proporcionan varios archivos con nombres diferentes (r12,r13,r14) para diferentes versiones de Simulink
3

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

Figura 1: Ejemplo de modelo de canal en Simulink general, estas funciones admiten par ametros que modican la forma de la se nal a generar. V ease la informaci on que proporciona la orden doc para cualquiera de estas funciones. 2. La orden ltidemo presenta una gu a pr actica sobre denici on y manipulaci on con matlab de sistemas lineales e invariantes en el tiempo. 3. Adem as de la funci on tf, existen otras funciones para denir sistemas LTI, como zpk (especicando los ceros, los polos y la ganancia) o ss (modelo estado-espacio). Adem as, existen funciones para transformar modelos entre diferentes tipos, v ease zp2tf, ss2tf, etc. 4. Se dispone de una gran variedad de funciones para obtener representaciones gr acas de ltros: step, impulse, bode, nichols, freqresp y un largo etc etera que queda resumido en la interfaz de ltiview. 5. El Toolbox de procesamiento de se nales de matlab incluye la demo filtdemo, que representa la transformada de una se nal antes y despu es de pasar por un ltro. Qu e se puede deducir sobre el ltro a partir de la gr aca? Otra demo, filtdem, compara gr acamente la respuesta en frecuencia de ltros de tres tipos: YuleWalk, Butterworth y Chebychev. Por u ltimo, filtdemo permite comparar variantes de ltros paso de baja, tanto de tipo FIR como de tipo IIR. 6. El Toolbox para dise no de ltros, Filter Design Toolbox, ofrece muchas posibilidades que aqu apenas hemos utilizado.
Dpto. Electr onica y Electromagnetismo Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Pr actica 2

7. Para el tratamiento estad stico de se nales y errores, matlab dispone de un amplio conjunto de funciones para c alculo estad stico en general (v ease, por ejemplo, la documentaci on sobre las funciones mean, std, median). Asimismo, se cuenta con un Toolbox espec co para c alculo estad stico. 8. Para m as informaci on sobre canales en matlab, ver el apartado Channels de la documentaci on del Toolbox de comunicaciones. En particular, el apartado Fading Channels describe el uso de los modelos de Rayleigh y Rician. 9. Los archivos de Simulink, .mdl, no son m as que archivos de texto. Se pueden abrir con cualquier editor de textos y comprobar la informaci on que se almacena para representar el modelo visual correspondiente. Para encontrar las descripciones de los bloques, buscar la palabra Block.

7.

Referencias

[1] Documentation for MathWorks Products, Release 14. http://www.mathworks.com/access/helpdesk/help/helpdesk.shtml [2] GNU Octave Repository Categorical Index. http://octave.sourceforge.net/index/index.html [3] http://www.gts.tsc.uvigo.es/ssd/. Pr acticas de la asignatura Se nales y Sistemas Discretos, impartida por el Departamento de Teor a de la Se nal y Comunicaciones de la Universidad de Vigo. [4] Fundamentals of Signals and Systems Using the Web and MATLAB: Online Demos. http://users.ece.gatech.edu/bonnie/book/applets.html [5] MathWorks, Inc. Manual de Simulink. http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/ [6] V.K. Ingle y J.G. Proakis. Digital Signal Processing Using MATLAB V.4. PWS Publishing Company. 1997. ISBN: 0-53493805-1.

Dpto. Electr onica y Electromagnetismo

Facultad de F sica, Universidad de Sevilla

También podría gustarte