Вы находитесь на странице: 1из 9

F sica de las Comunicaciones 2006/2007 Prctica 2 a

Prctica 2: Sistemas, ltros, ruido y canales de a comunicaciones

1.

Objetivo y contenido

El objetivo de esta prctica es doble: por una parte, repasar y consolidar las nociones a de matlab dadas en la prctica anterior; por otra parte, utilizar algunas de las funciones a que matlab ofrece para modelar sistemas, ltros y canales de comunicaciones. En primer lugar, se utilizar matlab para analizar sistemas lineales invariantes en el a tiempo (LTI) y ltros en particular. Despus, deniremos modelos de ruido y desvanee cimiento para modelado de canales de comunicaciones. Para ello, utilizaremos funciones incluidas en los Toolboxes de procesamiento de seales, comunicaciones y diseo de n n ltros. Finalmente, usaremos Simulink, una interfaz grca complementaria a matlab, para a 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 funcin de transferencia correspondiente, H(s) = X(s) . En matlab, la o funcin tf dene la funcin de transferencia de un sistema LTI a partir de dos vectores. o o El primero especica el numerador de la funcin de transferencia y el segundo especica o 1 el denominador de la funcin de transferencia . o 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 clculo simblico, el resultado de aplicar a dos sinua o soides 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 parmetros, a como de costumbre, se puede consultar con help tf y doc tf
1

Dpto. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

Ejemplo 1 com pr2 0001 ltro ganancia.m


% Ejemplo de definicin de un LTI (Amplificador ideal de ganancia 1/3) o X = 3 Y = 1 lti1 = tf(Y,X) % tf define un sistema LTI step(lti1) % representar respuesta a escaln o 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 clculo simblico a o syms t % Dos se~ales sinusoides de entrada n w1 = 1000; x1 = cos(2*pi*w1*t) w2 = 1100; x2 = cos(2*pi*w2*t) % Funcin de transferencia del filtro (escalon en frecuencia) o 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) % Representacin de las salidas respecto al tiempo o subplot(211) ezplot(y1) subplot(212) ezplot(y2)

Dpto. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

Cualquier otra conguracin de ltros paso de baja, alta o banda, se puede obtener o mediante clculo simblico modicando la frecuencia de corte y restando escalones en a o 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 escaln o impulse(filtroRC) % respuesta impulsiva ltiview(filtroRC) % Ventana especial de representacin grfica de sistemas LTI o a

La orden ltiview abre una ventana con una interfaz diseada para representar grn a camente sistemas LTI. Esta ventana especial permite visualizar de manera cmoda las o grcas normalmente empleadas en el estudio de sistemas LTI y ltros. a Denir un ejemplo de ltro RLC de paso de banda de segundo orden ((H(s) = s2 +s ks +w2 ) y otro de ltro RLC de paso de baja de segundo orden w0
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 atenuacin menor de 2 dB en la banda o de paso y mayor de 30 dB en las bandas rechazo: Comparar las se ales de entrada y salida del ltro. n
2

Para la cual la respuesta en magnitud es

1/2.

Dpto. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

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 nmeros pseudoaleau torios de distribucion uniforme y normal, respectivamente. Por tanto, podemos aadir n ruido aleatorio de distribucin normal a cualquier seal siguiendo el procedimiento que se o n muestra en el ejemplo 6. Ejemplo 6 com pr2 0006 ruido randn.m
% A~adir ruido a una sinusoide usando numeros aleatorios (randn - distrib. normal) n 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 ms cmoda de aadir ruido blanco gaussiano a una seal es utilizar las a o n n funciones predenidas wgn y awgn. Si queremos generar simplemente un vector seal con n ruido gaussiano blanco, podemos utilizar la funcin wgn (ver ejemplo 7). Mediante wgn, o tambin es posible generar ruido especicando la impedancia de carga (ver ejemplo 8). e 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 funcin awgn genera ruido para un determinado valor de SNR. De este modo, o podemos simular el paso de la seal por un canal con ciertas caracter n sticas de ruido. En el ejemplo 9, denimos una seal cuadrada y aadimos ruido con SN R = 15 dB: n n En el ejemplo 10, denimos una seal sinusoide de frecuencia 2 Hz y SN R = 20 dB. n
Dpto. Electrnica y Electromagnetismo o Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

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~adir ruido WGN a una se~al cuadrada con SNR=15dB n n t=0:0.01:10; g = square(t); % se~al cuadrada n g_ruido = awgn(g,15); % a~adir ruido, SNR = 15dB n plot(t,g_ruido) % Representar se~al con ruido n % 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~al limpia y se~al con ruido n n 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. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

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

4.

Canales de comunicacin o

Con lo visto hasta ahora, cmo se podr denir en matlab modelos de o an 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. Cmo se pueden simular en matlab los efectos de atenuacin de un canal? o o 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 seal por el canal representado por el objeto, se puede utilizar la n funcin filter, como en el ejemplo 11. o Ejemplo 11 com pr2 0011 canal rayleigh.m
% Paso de una se~al por un canal con modelo de fading de Rayleigh n t = 0:0.001:10; x = square(t); % Crear un objeto canal que sigue un modelo de Rayleigh % frec. de muestreo: 1KHz, Mximo desplazamiento Doppler: 20Hz a c = rayleighchan(1/1000,20); % ver las propiedades del canal c % la se~al x atraviesa el canal c n y = filter(c,x); % y es complejo! plot(abs(y)) plot(unwrap(angle(y)))

Comparar las se ales de entrada y salida del canal. n


Dpto. Electrnica y Electromagnetismo o Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

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 rdenes de matlab, o con el botn Simulink de la barra de herramientas. o o Del mismo modo que cuando denimos secuencias de rdenes con matlab contamos o con una librer de funciones predenidas, Simulink proporciona librer de bloques funa as cionales. Los bloques de las librer aparecen representados como iconos. Para usarlos, as creamos un nuevo modelo, y los copiamos arrastrndolos con el ratn. En nuestro caso, a o 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 parmetros de los componentes que se vayan incorporando en los a 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 seales de origen tienen los siguientes elementos: n ltro LTI, retardo y ruido (gaussiano, normal o de otras distribuciones). Probar diferentes se ales y modicar los parmetros de los componentes n a (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 (Botn Blocksets & Toolboxes, y despus botn Comm Blockset): o e o Rayleigh Fading Channel RF Satellite Link

6.

Notas

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

Dpto. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

Figura 1: Ejemplo de modelo de canal en Simulink general, estas funciones admiten parmetros que modican la forma de la seal a a n generar. Vase la informacin que proporciona la orden doc para cualquiera de estas e o funciones. 2. La orden ltidemo presenta una gu prctica sobre denicin y manipulacin con a a o o matlab de sistemas lineales e invariantes en el tiempo. 3. Adems de la funcin tf, existen otras funciones para denir sistemas LTI, como a o zpk (especicando los ceros, los polos y la ganancia) o ss (modelo estado-espacio). Adems, existen funciones para transformar modelos entre diferentes tipos, vase a e zp2tf, ss2tf, etc. 4. Se dispone de una gran variedad de funciones para obtener representaciones grcas a de ltros: step, impulse, bode, nichols, freqresp y un largo etctera que queda e resumido en la interfaz de ltiview. 5. El Toolbox de procesamiento de seales de matlab incluye la demo filtdemo, que n representa la transformada de una seal antes y despus de pasar por un ltro. n e Qu se puede deducir sobre el ltro a partir de la grca? Otra demo, filtdem, e a compara grcamente la respuesta en frecuencia de ltros de tres tipos: YuleWalk, a Butterworth y Chebychev. Por ultimo, filtdemo permite comparar variantes de ltros paso de baja, tanto de tipo FIR como de tipo IIR. 6. El Toolbox para diseo de ltros, Filter Design Toolbox, ofrece muchas posibilin dades que aqu apenas hemos utilizado.
Dpto. Electrnica y Electromagnetismo o Facultad de F sica, Universidad de Sevilla

F sica de las Comunicaciones 2006/2007 Prctica 2 a

7. Para el tratamiento estad stico de seales y errores, matlab dispone de un amplio n conjunto de funciones para clculo estad a stico en general (vase, por ejemplo, la e documentacin sobre las funciones mean, std, median). Asimismo, se cuenta con un o Toolbox espec co para clculo estad a stico. 8. Para ms informacin sobre canales en matlab, ver el apartado Channels de la a o documentacin del Toolbox de comunicaciones. En particular, el apartado Fading o Channels describe el uso de los modelos de Rayleigh y Rician. 9. Los archivos de Simulink, .mdl, no son ms que archivos de texto. Se pueden abrir a con cualquier editor de textos y comprobar la informacin que se almacena para o 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/. Prcticas de la asignatura Seales y Sistemas a n Discretos, impartida por el Departamento de Teor de la Seal y Comunicaciones de la a n 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. Electrnica y Electromagnetismo o

Facultad de F sica, Universidad de Sevilla

Вам также может понравиться