Beruflich Dokumente
Kultur Dokumente
Segura-Luna
Comunicaciones Digitales
Guiones de Prcticas
ndice:
Introduccin:
P 0: Efectos del Canal.3
Distorsin Lineal. Distorsin No-Lineal. Efecto Multi-path.
Introduccin:
En esta seccin introducimos la herramienta de simulacin de Matlab Simulink, implementando los efectos del canal en las seales transmitidas por los sistemas de comunicacin.
0.1.2 Bloques de diseo Pulse Generator Este bloque genera un tren de pulsos de periodo y ancho variables. Los parmetros se fijan en la forma:
Periodo(secs): 1e-3 Ancho(secs): 0.5e-3
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna Transfer Fcn Este bloque implementa una funcin de transferencia arbitraria H(s). Los parmetros del modelo son los coeficientes de los polinomios en s del numerador y denominador de la funcin de transferencia (recuerde que s=j). Por ejemplo, la funcin de transferencia: as 2 + bs + c H (s) = 3 ds + es 2 + f se describira en la forma
Numerator: [a b c] Denominator: [d e 0 f]
Ntese que los coeficientes se introducen en orden descendente de potencias de s, y que tambin hay que especificar los nulos. En el ejemplo que nos ocupa, consideraremos la funcin de transferencia 1 1 H ( ) = H (s) = s 1+ j 1+
Para el ejemplo considere un valor 0 = 4000, para este caso, los parmetros deberan ser:
Numerator: [1] Denominator: [0.25e-3 1]
Mux Este bloque multiplexa las diferentes entradas generando un vector de salida. Los parmetros son:
Number of inputs: 2
Este bloque se utiliza para multiplexar dos o ms seales. La salida es un vector (bus) en lugar de una lnea escalar. En este caso se utiliza para insertar dos seales (entrada y salida de H(s)) al osciloscopio de forma que se visualicen simultneamente. Scope Este bloque simula un osciloscopio. Es decir, visualiza las seales que se aplican a su entrada frente al tiempo de simulacin del sistema.
Horizontal range: 0.004 Vertical range: 2
To Workspace Este bloque muestrea la seal que se aplica a su entrada y almacena las muestras en una variable que es accesible a Matlab al terminar la simulacin. Ingeniera en Telecomunicacin. Curso 2005/2006
Variable name: salida Save Format: array Maximum number of rows (time steps): [4000,1,1/20000]
Estos parmetros especifican que la variable salida almacenar valores en instantes temporales muestreados al Periodo 1/20000 (frecuencia 20KHz), de uno en uno, con un mximo de 4000. Al finalizar la simulacin, la variable aparecer Matlab, y se podr utilizar para ulterior anlisis de los datos. 0.1.3 Simulacin Para iniciar la simulacin, primero elegiremos los parmetros. Para esta simulacin fijaremos los parmetros:
Simulation algorithm: Runge Kutta 5 Start Time: 0 Stop Time: 0.004 Min Step Size: 1e-9 Max Step Size: 10 Tolerance: 1e-5 Return Variables:
Una vez insertados los bloques y fijados los parmetros de la simulacin, ya pude simular el modelo, pero antes slvelo con File/Save... con el nombre cpbaja.m Simule ahora el modelo eligiendo Simulation/Start. Segn va avanzando la simulacin, en el osciloscopio de puede ver la evolucin temporal de la entrada y salida al sistema. Anlisis temporal Una vez la simulacin ha finalizado, en la ventana de comandos de Matlab puede ejecutar whos y encontrar que se ha creado una variable denominada salida que debe contener 81 elementos reales, correspondientes a las muestras de la salida. Visualcela con plottime(salida,20000). El primer argumento es la variable y el segundo la frecuencia con que fue muestreada (20KHz en nuestro caso). Deber obtener una grafica de la seal de salida. Si ejecuta ahora zoomtool (no disponible en versiones nuevas de matlab, en este caso use solo plot(salida)), a la grfica se le superponen una serie de botones y campos de texto ms dos cursores. Su significado es el siguiente:
> Desplazar el cursor una muestra a la derecha < dem a la izquierda >> Desplazar al siguiente mximo/mnimo a la derecha del cursor << dem a la izquierda >< Ampliar la seal entre los dos cursores <> Restaurar la seal a su tamao original [] Retrazar la seal S Crear una nueva figura con la vista actual Q Terminar zoomtool dejando la figura con su aspecto actual
Tambin se pueden desplazar los cursores arrastrndolos con el ratn (haga clic sobre la lnea del cursor y desplace el ratn; luego suelte el botn del ratn). Adems, en la parte inferior izquierda se muestran los valores X e Y de cada cursor as como la diferencia entre estos valores (en el centro).
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna Cuestiones Con ayuda de zoomtool, mida los valores mximo (A1) y mnimo (A2) de la seal y calcule la relacin (A1-A2)/A1, que es la separacin relativa entre niveles (una medida de la interferencia inter-simblica introducida por el canal), para valores de ancho de pulsos de 0.25e-3, 0.5e-3 y 0.75e-3. Compruebe que los resultados concuerdan con los previstos en teora. Para una mayor precisin en las medidas, realice estas sobre los ltimos periodos de la seal. De esta forma evitar los efectos del transitorio inicial.
que es transmitida a travs del canal cuya funcin de transferencia en amplitud es de la forma:
y (t ) = g1 x(t ) + g 2 x 2 (t ) + g 3 x 3 (t )
0.2.1 Bloques de diseo
1.2.2 Simulacin
Para analizar en frecuencia la seal de salida, utilizaremos la funcin cpsd. Esta funcin obtiene una estimacin de la densidad de potencia de una seal as como la fase de la misma. En el formato ms sencillo se invoca con cpsd(x,fs,nfft) donde x es la seal, fs la frecuencia de muestreo y nfft el numero de puntos que se calculan de sta. La resolucin espectral est dada por fs/nfft. Con este formato, cpsd visualiza la psd de la seal en decibelios. Si se invoca con el formato cpsd(x,fs,nfft,1) visualiza adems la fase de la seal. Se puede invocar tambin con el formato [pxx,fxx,f]=psd(x,fs,nfft) para obtener los vectores de potencia pxx, fase fxx y frecuencia f. De esta forma se puede trazar la psd en escala lineal con plot(f,pxx). Utilizando cpsd(salida,25600,256) y zoomtool obtenga el espectro de la salida del sistema. Este debera contener dos picos centrados en frecuencias 500Hz y 2000Hz. Sus amplitudes deben ser de -6dB. Esto es debido a que cada seal seno de amplitud 1 genera dos deltas de amplitud 1/2 centradas en la frecuencia positiva y negativa de la sinusoide. Cada una de estas deltas contribuye a la densidad de potencia espectral con.
Cuestiones
1 2 1 1 x (t ) b) y (t ) = x(t ) + x 2 (t ) + x 3 (t ) 2 2 4 Compruebe que los resultados concuerdan con las predicciones tericas. Cul es el ancho de banda de la seal de salida en cada caso? Qu armnicos aparecen a la salida? a) y (t ) = x(t ) +
Genera un ruido blanco (densidad de potencia espectral uniforme) de ancho de banda limitado. El ancho de banda se elige de forma que si el perodo de muestreo es T, el ancho de banda resultante es B = 1/2T.
1.3.2 Simulacin
Ajuste el generador de pulsos para un Periodo de 1ms y un ancho de 0.5ms. Simule el sistema durante 0.1 segundos. Muestree la salida a una frecuencia de 25600Hz y fije un mximo nmero de muestras superior a 2561 (p.e. 3000). Con estos parmetros, observe en el osciloscopio la seal de salida para diferentes valores de retardo y ganancia del eco.
Anlisis en frecuencia
A continuacin obtendremos una caracterizacin de la funcin de transferencia del sistema. Desconecte el bloque que implementa la funcin de transferencia H(s) y alimente ahora el sistema con el generador de ruido blanco. Ajuste sus parmetros para generar un ruido limitado en banda a 12800Hz (Perodo de muestreo de 1/25600) y una
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna potencia de 1e-4 (para un rango de amplitudes aceptable en el osciloscopio). Con valores de 0.25ms de retardo y 0.1 de ganancia, simule el sistema durante 0.1s. Al terminar la simulacin, visualice la funcin de transferencia con
ctfe(entrada,salida,25600,256,1)
(el formato es muy similar al de la funcin cpsd salvo que tiene dos variables de entrada en lugar de una). Observar el comportamiento oscilatorio tanto de la amplitud como de la fase del sistema. Si ahora obtiene los vectores de amplitud y fase con:
[txx,fxx,f]=ctfe(entrada,salida,25600,256)
podr visualizar el mdulo con plot(f,txx) y la fase con plot(f,fxx), pudiendo utilizar zoomtool para realizar medidas sobre ellos.
Cuestiones
Mediante el proceso descrito anteriormente, obtenga la funcin de transferencia del sistema multi-path para ganancia 0.1 y valores de retardo de 0.5ms, 0.25ms y 0.125ms. Compruebe que los resultados concuerdan con los predichos por la teora. Qu ocurre si se aumenta la ganancia de 0.1 a 0.75? Explique el efecto que se produce.
Algunos de los bloques que aparecen en el modelo tienen un nombre (colocado en su parte inferior) que difiere del encontrado en la librera correspondiente. Para cambiar el nombre de un bloque basta con hacer clic sobre el nombre, borrar y escribir el nuevo nombre en su lugar.
Seal
Mues
Este es un bloque Zero-Order Hold que implementa el proceso de muestreo previo a la cuantizacin de la seal. Utilizaremos una frecuencia de muestreo de 8192 Hz.
Sample time = 1/8192
PCM-cod
Este bloque implementa la cuantizacin de las muestras de la seal. Por cada muestra de entrada genera n bits de salida, siendo el bit-rate de salida de n-veces la frecuencia de muestreo. Los parmetros permiten ajustar el nmero de bits as como la compresin utilizada (0=lineal, 1=ley, 2=leyA). Para los modos de compresin, el parmetro de compresin es para ley y A para leyA. Por ejemplo, para ley con 8 bits y rango de entrada 1 los parmetros seran los siguientes.
Valor de pico = 1 Numero de bits = 8 Compresin = 1 Parmetro de compresin = 255
PCM-decod
Este es el bloque complementario del anterior e implementa un decodificador PCM. Los parmetros tienen el mismo significado que en el bloque anterior. Fjelos siempre con los mismos valores que en el bloque de codificacin para un funcionamiento correcto.
Retardo
Este bloque implementa un retardo de los bits originales necesario para compensar el retardo de n+2 bits introducido por los bloques de codificacin/decodificacin. Por ejemplo, para 8 bits con frecuencia de muestreo de 8192 Hz los parmetros de retardo son
Frecuencia de muestreo = 8*8192 Numero de muestras = 8+2
LPF
Filtro analgico Chebyshev Type II LP filter. Este bloque implementa un filtro analgico paso-baja tipo Chebyshev para la reconstruccin de la seal a partir de sus muestras. Fije los parmetros como sigue.
Cutoff frequency = 2*pi*4096 (mitad de la frecuencia de muestreo) Order = 6 (orden del filtro) Db ripple down in stop band = 40 (atenuacin en la banda de stop)
mseal mruido
Estos dos bloques de muestreo To Workspace se utilizan para pasar las muestras de la seal y el ruido de cuantizacin al espacio de trabajo para su posterior procesado en MATLAB. Fije los parmetros como sigue:
Osciloscopios
Hay varios de estos bloques Scope que permiten visualizar las seales en diferentes puntos del sistema. Ajuste los rangos vertical y horizontal para una adecuada visualizacin de las seales.
1.2 Simulacin
Durante la simulacin del sistema podr ver en los osciloscopios la forma de onda de las seales PCM. Al final de la simulacin aparecern las variables s y n en el espacio de trabajo. Utilizando la funcin csnr(s,n) podr obtener una estimacin de la relacin senal/ruido de cuantizacin. Esta debe ser de 37.67 dB.
SNR en funcin del nmero de bits
En primer lugar estudiaremos la variacin de la SNR en funcin del nmero de bits utilizados para la cuantizacin. Para ello construiremos una curva SNR frente al nmero de bits. En la misma forma que en caso anterior, realice medidas de la SNR para valores del nmero de bits entre 8 y 1 . Recuerde fijar los parmetros de los bloques de codificacin/decodificacin as como del bloque de retardo para adecuarlos al nmero de bits utilizados en cada caso. Una vez realizadas las medidas para ley-, repita las mismas medidas sin utilizar compresin (cuantizacin lineal). Puede trazar las curvas de variacin construyendo vectores con los valores del nmero de bits y de los valores SNR para los dos tipos de cuantizacin en la siguiente forma:
>> >> >> >> n=[1 2 3]; lineal=[6.18 12.75 18.86]; mu=[0.67 3.10 7.36]; plot(n,mu,n,lineal)
Esto generar un par de curvas con los valores lineal y frente a n. Compruebe que los resultados obtenidos concuerdan con los predichos por la teora. (nota: debe construir las curvas para n=1...8).
SNR en funcin de la potencia de entrada relativa
Ahora estudiaremos la variacin de la SNR de salida en funcin de la potencia relativa de la seal de entrada m2(t)/mp2. Manteniendo el valor de pico en los bloques de codificacin/decodificacin, disminuya progresivamente la amplitud de la senal de entrada y mida la SNR de cuantizacin como en el caso anterior. Utilice una serie decreciente de valores 1, 1/2, 1/4, 1/8,..., 1/1024. De esta forma, obtendr valores de
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna potencia de entrada distribuidos logartmicamente. Construya una tabla de valores de potencia de entrada y SNR para ley- y cuantizacin lineal. Trace las curvas para ley- con =255 y para cuantizacin lineal y compruebe que los resultados corresponden con los previstos en teora.
Este bloque Sin Wave se usa para generar la senal de entrada al sistema.
Amplitude = 1 Frequency = 2*pi*200 Phase = 0 Sample time = (vaco)
Delta Mod
Este bloque implementa el codificador Delta. Es un modelo sencillo que implementa modulacin Delta con integracin simple. Los parmetros permiten variar la frecuencia de muestreo y el cuanto de amplitud del integrador. Para esta simulacin utilizaremos una frecuencia de muestreo de 8*8192 (igual al caso de PCM con 8 bits) y un cuanto calculado para no sobrecarga de pendiente con una seal senoidal de amplitud unitaria y frecuencia 2*pi*800 radianes/s.
Frecuencia de muestreo = 8*8192 Cuanto = 0.0768
Delta Demod
Este bloque implementa el decodificador Delta. Fije los parmetros a los mismos valores que en el bloque de codificacin.
LPF
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna Este bloque es igual que el utilizado en PCM para reconstruir la seal a partir de sus muestras. Fije los parmetros a los valores siguientes.
Cutoff frequency = 2*pi*4096 Order = 6 Db down in stop band = 40
mseal mruido
Para estos bloques de muestreo To Workspace utilizaremos una frecuencia de muestreo elevada. Dado que las seales se generan a una frecuencia de 8*8192 Hz, es necesario muestrearlas a una frecuencia doble (16*8192 Hz).
Variable name = s (n para mruido) Maximum number of rows = [4000,1,1/(16*8192)]
2.2 Simulacin Simule el modelo durante 0,032 segundos. Fije los parmetros de simulacin como sigue:
Runge-Kutta 5 Start time = 0 Stop time = 0.032 Min step size = 0.0001 Max step size = 10 Tolerance = 1e-3 Return variables = (vaco)
Despus de la simulacin, podr medir la relacin SNR de salida con csnr(s,n). Esta deber estar en torno a los 24 dB. Sin embargo, la teora predice que debera obtenerse una SNR en torno a los 36 dB. La discrepancia estriba en que no se ha filtrado la seal al ancho de banda (B = 4094 Hz). Si calcula tericamente la SNR sin tener en cuanta el efecto de este filtrado los resultados concordarn. Para tener en cuenta el efecto de filtrado, utilizaremos una estimacin de la PSD de la seal y el ruido en la forma
[Ps,Fs,F]=cpsd(s,16*8192,1024) [Pn,Fn,F]=cpsd(n,16*8192,1024)
respectivamente. Con estos valores, podemos trazar la PSD del ruido con la orden plot(F,10*log10(Pn)) y comprobar que es aproximadamente uniforme en el rango de frecuencias desde 0 a la frecuencia de muestreo 8*8192. Las potencias totales de la seal y el ruido en decibelios se pueden calcular como:
PTs=10*log10(sum(Ps)) PTn=10*log10(sum(Pn))
respectivamente. La potencia del ruido sobre la banda de frecuencias de la seal se obtiene sumando nicamente las contribuciones de la PSD del ruido para frecuencias inferiores a 4096 Hz en la forma
>> i=(F<=4096); >> PBn=10*log10(sum(Pn(i)));
La SNR de cuantizacin para la banda completa de frecuencias es simplemente SNR=PTs- PTn, y la SNR teniendo en cuenta nicamente el ruido en la banda de frecuencias de la seal es SNRB=PTs-PBn. Ingeniera en Telecomunicacin. Curso 2005/2006
Cuestiones
Construya una tabla de los valores de SNR y SNRB para valores de frecuencia de la seal de entrada de 200, 400, 600, 800, 1000 y 1200 Hz. Trace las curvas de la SNR y SNRB. Compruebe que al acercarse a los 800 Hz empieza a observarse el efecto de sobrecarga de pendiente. Qu ocurre con los valores de la SNR? Qu ocurre con la PSD del ruido cuando aparece el efecto de sobrecarga de pendiente?
Este bloque genera una secuencia aleatoria de bits (0 y 1) al bit-rate especificado. Los parmetros a utilizar son los siguientes
Bit-rate = 64 Semilla = 1234
BINCOD
Este bloque Polar/On-Off implementa un codificador polar u on-off dependiendo del parmetro codificacin. El bit-rate y el ancho de los pulsos tambin es configurable. Los parmetros se fijan en la forma:
Bit-rate = 64 Ancho de los pulsos = 1/128 (para ancho mitad, 1 para ancho completo) Codificacion = [-1,1] (para polar, [0,1] para on-off)
Muestras
Este bloque To Workspace se utiliza para recuperar las muestras de la seal a analizar.
Variable name = s Maximum number of rows = [6200,1,1/512] Save format: Array
Gain
2.3.2 Simulation
Simule el modelo durante 12 segundos (12*64=768 bits). Fije los parmetros como sigue:
Runge-Kutta 5 Start time = 0 Stop time = 12 Min step size = 0.0001 Max step size = 10 Tolerance = 1e-3 Return variables = (vaco)
Una vez terminada la simulacin, aparecer una variable s de 6145 elementos. Calcule la PSD con [Pxx,Fxx,F]=cpsd(s,512,64). A continuacin podr visualizarla en escala lineal con plot(F,Pxx) o en escala logartmica con plot(F,10*log10(Pxx)). Una vez visualizadas podr medir con zoomtool los valores relevantes de la PSD (frecuencias a las que se anula). Realice medidas para codificacin polar de ancho mitad y completo. Mida la PSD para codificacin ONOFF de ancho mitad y compruebe que en ella aparecen deltas en los armnicos de la frecuencia del bit-rate. Compruebe que estas desaparecen cuando se usan pulsos de ancho completo. Repita las medidas para codificaciones bipolar y duobinaria y compruebe que los resultados concuerdan con los predichos tericamente. Modifique ahora el modelo para simular un sistema que utiliza conformacin de pulsos con el primer criterio de Nyquist.
Fije los parmetros del bloque BCOD para conseguir una codificacin polar de ancho mitad, y los del bloque Sinc FIR en la forma siguiente:
Bit-rate = 64 Exceso de ancho de banda = 0 Numero de etapas = 64 Sobremuestreo = 16
Figura 4.1 : Modelo de sistema de de transmisin con ruido gausiano aditivo en el canal
Polar/on-off
Ruido
LPF
Este bloque Chebyshev Type I LP Filter implementa el filtro paso-baja del receptor, se utiliza para limitar la potencia del ruido introducido en el receptor.
Muestreo
Este bloque Zero-Order hold implementa el muestreo en el receptor, realizado a la frecuencia del bit-rate.
Sample time = 1/64
Decisin Este bloque Relay decide el bit recibido en funcin de la amplitud del pulso muestreado. Acta como un comparador de nivel.
Input for on = 0 (para polar, 0.5 para on-off) Input for off = 0 (para polar, 0.5 para on-off) Output when on = 1 Output when off = 0
Relational operator
Este bloque se utiliza para comparar los bits recibidos con los emitidos. Sus parmetros se ajustan para que se genere un 1 cuando se produce un error.
Operator = =
Retardo
El detector, debido al filtro paso-baja, introduce un retardo de un bit. Este bloque se usa para retardar los bits emitidos esta cantidad de tiempo de forma que sean comparables con los recibidos.
Frecuencia de muestreo = 64 Nmero de muestras = 1
Error
Este bloque To Workspace muestrea la seal error al bit-rate. La variable contiene un 1 en la posicin de cada bit errneo y 0s en las dems posiciones.
Variable name = err Maximum number of rows = [1000,1,1/64]
4.2 Simulacin
Al finalizar la simulacin quedar accesible una variable denominada err que contiene un 1 en las posiciones de los bits errneos. El nmero de bits se puede obtener
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna con length(err) y el nmero de errores con sum(err). De esta forma, una estimacin de la probabilidad de error es sum(err)/length(err). Si los parmetros se ajustaron adecuadamente, deber obtener un nmero de errores 45 sobre un total de 513 bits con una probabilidad de 0.0877. La probabilidad terica se puede obtener suponiendo que el filtro paso-baja es ideal y que el ruido tiene una PSD uniforme. Utilice la funcin q para calcular el error, q(1/0.7155). En este caso, la probabilidad de error es: Pn = 2 BS n = 2 (4 64) 103 n = Pn P( ) = Q(1 / 0.7155) = 0.0811
Note que la estimacin que la estimacin es aceptable. La estimacin debe mejorar al aumentar el nmero de errores (por ejemplo para el caso de codificacin on-off). Repita la simulacin para codificacin on-off. Modifique el codificador para adecuarlo a este cdigo. Modifique tambin el detector (bloque Decisin) para que ahora el nivel de deteccin sea 0.5 en lugar de 0 como en el caso anterior. Compruebe que ahora el error aumenta y la estimacin de la probabilidad de error es mejor que en el caso anterior.
Cuestiones
Repita las dos simulaciones anteriores pero ahora reduzca el ancho de banda del filtro del receptor a la mitad (es decir a 2*pi*2*64: dos veces el bit-rate). Qu ocurre con la probabilidad de error?. Cul es el motivo de esta diferencia? Modifique el modelo para estimar la probabilidad de error de codificaciones pseudos-ternarias. Qu cambios son necesarios en el receptor? Estime las probabilidades de error para los dos anchos de banda anteriores y para codificaciones bipolar y pseudos-ternaria. Los bloques de los codificadores necesarios se encuentran en la misma librera que el bloque para codificacin polar Polar/On-Off.
Figura 5.1: Modelo de sistema de de transmisin con ruido gausiano aditivo en el canal y sistema de recepcin con deteccin ptima.
BINCOD
Ruido
Este bloque integra la seal de entrada en los intervalos de muestreo y se resetea al final de ellos.
Absolute Value Bond = 1 Integration Period = 1/64 Simple Time = 1/(8*8*64)
Muestreo
Este bloque Zero-Order hold implementa el muestreo en el receptor, realizado a la frecuencia del bit-rate.
Sample time = 1/64
Decisin Este bloque Relay decide el bit recibido en funcin de la amplitud del pulso muestreado. Acta como un comparador de nivel.
Input for on = 1/(2*64) (para on-off, 0 para polar) Input for off = 1/(2*64) (para on-off, 0 para polar) Output when on = 1 Output when off = 0
Relational operator
Este bloque se utiliza para comparar los bits recibidos con los emitidos. Sus parmetros se ajustan para que se genere un 1 cuando se produce un error.
Operator = =
Retardo
El detector, debido a la espera del muestreo para la toma de la decisin, introduce un retardo de un bit. Este bloque se usa para retardar los bits emitidos esta cantidad de tiempo de forma que sean comparables con los recibidos.
Frecuencia de muestreo = 64 Nmero de muestras = 1
Error
Este bloque To Workspace muestrea la seal error al bit-rate. La variable contiene un 1 en la posicin de cada bit errneo y 0s en las dems posiciones.
Variable name = err Maximum number of rows = [1000, 1, 1/64]
5.2 Simulacin
Al finalizar la simulacin quedar accesible una variable denominada err que contiene un 1 en las posiciones de los bits errneos. El nmero de bits se puede obtener con length(err) y el nmero de errores con sum(err). De esta forma, una estimacin de la probabilidad de error es sum(err)/length(err). Si los parmetros se ajustaron adecuadamente, deber obtener un nmero de errores 11 sobre un total de 513 bits con una probabilidad de 0.0214. La probabilidad terica se puede obtener suponiendo que el filtro paso-baja es ideal y que el ruido tiene una PSD uniforme. Utilice la funcin q para calcular el error, q((Eb/N0) 1/2), donde Eb (1/(2Br)) es la energa promedio por bit y N0 es la densidad de potencial espectral del ruido. En este caso, la probabilidad de error es: N 0 = 1 10 3 E P( ) = Q b 3 = 0.0026 10
Note que la estimacin no es muy buena debido al reducido nmero de errores observados ( y al uso de tablas para calcular la probabilidad de error!). La estimacin debe empeorar para el caso de codificacin polar ya que se comenten incluso menos errores (deteccin ms robusta).
Cuestiones
Repita la simulacin para codificacin polar. Modifique el codificador para adecuarlo a este cdigo. Modifique tambin el detector (bloque Decisin) para que ahora el nivel de deteccin sea 0. Por qu mejoran los resultados?
1.
Muestreador: Bloque Sample and Hold con frecuencia de muestreo de 10 Hz Codificador PCM: Codificador PCM de 8 bits con ley y parmetro de compresin 255.
Receptor: Filtro LPF: Este bloque Analog Filter Design tiene un orden de 6, 1 dB de rizado en la banda de paso y una frecuencia de corte doble del bit rate. Muestreador: Bloque Sample and Hold con frecuencia de muestreo igual al Bit rate del canal Decisin
Prcticas de Comunicaciones Digitales. J.M. Grriz & J.C. Segura-Luna Este bloque Relay decide el bit recibido en funcin de la amplitud del pulso muestreado. Acta como un comparador de nivel.
Decodificador PCM: Decodificador PCM de 8 bits con ley y parmetro de compresin 255. Filtro LPF (~Demodulador): Este bloque Analog Filter Design tiene un orden de 6, 1 dB de rizado en la banda de paso y una frecuencia de corte doble de la frecuencia de la seal de entrada.
Canal GAUSS
6.2 Simulacin
Con los parmetros antes fijados, simule el modelo durante 5 segundos. Compruebe el buen funcionamiento del circuito y discuta la seleccin de cada uno de los parmetros antes mencionados. Introduciendo bloques To Workspace compruebe el retardo existente entre la seal PCM transmitida y la seal PCM reconstruida. Calcule la probabilidad experimental de error en la transmisin-recepcin de l a cadena PCM. Calcule el error cuadrtico medio entre la seal transmitida y la recibida en los 5 segundos de simulacin.
6.3 Cuestiones:
Cul es la causa de la distorsin de la seal reconstruida? Cmo modificara el diagrama de bloques en emisor y receptor si desea transmitir los bits PCM en codificacin polar?
Sign
Bloque que genera una seal cuadrada con frecuencia de muestreo igual al anterior.
Sample Time = -1
Noise:
Bloque Band Limted White Noise que genera un ruido blanco con parmetros:
Noise Power = 0.002e-5 Simple Time = 1e-5
Dispersive Channel:
Bloque del tipo Digital Filter que modela un canal dispersivo tipo paso baja. Se encuentra en Libcom. Los parmetros del modelo son:
Transfer Fucntion Type = FIR (all zeros) Dispersion = 3.5
Implementa un filtro FIR adaptativo que minimiza por el mtodo de por mnimos cuadrados la diferencia entre una versin retardada de la seal de entrada y la seal filtrada por dicho filtro. Los parmetros del bloque son:
FIR filter length = 11 Memory weighting factor = 0.95 Initial Value of filter Taps = 0 Initial Input Variance Estimate = 1 Reset Input: Either Edge
Simule el sistema durante 0.02 segundos. Compruebe el buen funcionamiento del circuito y discuta la seleccin de cada uno de los parmetros antes mencionados. Introduciendo bloques To Workspace calcule el error cuadrtico medio experimental. El error mnimo se puede calcular como:
Este bloque devuelve con carcter aleatorio enteros en el intervalo de muestreo que modela una seal M-aria que se emite un sistema de comunicacin. Los parmetros del modelo son:
M-ary number = 4 Sample time = 0.1
Modula la seal de entrada usando el mtodo de Modulacin de amplitud por Cuadratura Rectangular. La salida es una representacin en Banda Base de la seal modulada. Los parmetros del modelo son:
M-ary number = 4 Input Type = Integer Normalization Method = MAverage Power Samples per symbol = 1
Este bloque modela un Canal que aade ruido gausiano a la seal transmitida. Los parmetros del mismo son:
Mode = Eb/N0= Number Symbol signal to Noise Ratio Eb/N0 5 dB bits per symbol = 1 Period = 0.1
Demodulador QAM con los mismos parmetros que el anterior. El Receptor debe conocer la forma en que la informacin se trasmite.
Error Rate Calculation
Bloque que devuelve la tasa de error, el nmero de bits comparados y los bits errneos en la variable que se define en su interior y que queda disponible en el Workspace de Matlab una vez la simulacin ha finalizado.
8.2 Simulacin y Cuestiones:
Simule el sistema durante 20 segundos. Compruebe el buen funcionamiento del circuito y discuta la seleccin de cada uno de los parmetros antes mencionados. Represente la constelacin de puntos original y ruidosa usando los bloques propios de Simulink. Compare la tasa de error en la transmisin de los pulsos con la tasa de error terica (para deteccin ptima) que se puede calcular como:
PB1 =
donde L=sqrt(M), M=2k con k par y Q(x) es la funcin error. A qu se debe la diferencia entre el error terico y el experimental? Simule el sistema para varios nmeros distintos de niveles de la seal transmitida y obtenga la tasa de error. En vez de la anterior, use la siguiente funcin de probabilidad de error para ratios de seal ruido grandes:
2 Eb log 2 M PB 2 = 2 Q sen( / M ) N0 donde Eblog2(M) es la energa por smbolo y M es el tamao del conjunto de smbolos. Observe como el detector-demodulador ptimo produce una tasa de error menor. Simule el circuito para diferentes ratios de seal-ruido y represente la mejora en la aproximacin dada por la ecuacin anterior. Compruebe que la probabilidad de error de PB2 es aproximadamente el doble que PB1.
Este bloque modela una hipottica seal binaria a transmitir que ser codificada con QAM-TCM Rectangular:
Framed based outputs = seleccionar Samples per frame = 3
Este bloque codifica la seal binaria (CT) de entrada y la modula usando QAM rectangular. Para ello los parmetros a usar dentro del bloque son:
Trellis Structure: poly2trellis([3 1 1], [ 5 2 0 0; 0 0 1 0; 0 0 0 1]) M-ary number = 16
El primer parmetro especifica el tipo de Codificacin Trellis. En el primer vector se especifica el delay para el codificador de los k bits de entrada (k=3). La segunda matriz especifica las n conexiones para los k bits de entrada. Para ms ayuda pulse el botn help de el bloque y la ayuda de Matlab acerca de la funcin poly2trellis. A la salida del bloque tenemos una seal 16-QAM.
Este bloque modela un Canal que aade ruido gausiano a la seal transmitida. Los parmetros del mismo son:
Mode = Eb/N0= Number Symbol signal to Noise Ratio Eb/N0 5 dB bits per symbol = 1 Period = 1
Este bloque decodifica la seal ruidosa 16QAM TCM de entrada recontruyendo la seal original con un cierto desfase:
Trellis Structure: poly2trellis([3 1 1], [ 5 2 0 0; 0 0 1 0; 0 0 0 1]) M-ary number = 16 Traceback Depth = 2
Unbuffer
Este bloque convierte la seal de entrada y salida vectorial (3x1) en seal escalar para su visualizacin y comparacin.
Error Rate Calculation
Bloque que devuelve la tasa de error, el nmero de bits comparados y los bits errneos en la variable que se define en su interior y que queda disponible en el Workspace de Matlab una vez la simulacin ha finalizado.
Integer Delay
Simule el sistema durante 20 segundos. La tasa de error debe estar en torno a 0.074. Compruebe el buen funcionamiento del circuito y discuta la seleccin de cada uno de los parmetros antes mencionados. Compare los resultados con la misma modulacin pero sin CT. Represente la constelacin de puntos original y ruidosa usando los bloques propios de Simulink.
En este sistema de secuencia directa basado en Espectro Extendido los bloques principales son:
10.1 Bloques de diseo: Secuencia de Bits
Este bloque consta de un generador de pulsos binarios de Bernoulli (1,0) y su adaptacin a codificacin bipolar (1,-1) mediante una funcin de Matlab.
Bernoulli.
Sample Time = 1
Matlab Function.
Matlab function = 2*(u)-1
Secuencia Extendida
Bloque idntico al anterior con la diferencia de el timepo de muestra que es 10 veces inferior (un bit rate 10 veces superior).
Este bloque adapta la seal antipodal modulada extendida al Modulador binario PSK:
Matlab Function = ((-1)*(u)+1)/2
AWGN
Este bloque modela un Canal que aade ruido gausiano a la seal transmitida. Los parmetros del mismo son:
Mode = Eb/N0= Number Symbol signal to Noise Ratio Eb/N0 0 dB bits per symbol = 1 Period = 0.1
Matlab Function3
Replica de la Seal extendida que debe incluir la estimacin por parte del receptor del tiempo de retraso en la propagacin (en nuestro caso este tiempo sera nulo).
Error Rate Calculation
Bloque que devuelve la tasa de error, el nmero de bits comparados y los bits errneos en la variable que se define en su interior y que queda disponible en el Workspace de Matlab una vez la simulacin ha finalizado.
10.2 Simulacin y Cuestiones:
Simule el sistema durante 100 segundos. La tasa de error debe estar en torno a 0.10891. Compruebe el buen funcionamiento del circuito y discuta la seleccin de cada uno de los parmetros antes mencionados. . Represente la constelacin de puntos original y ruidosa usando los bloques propios de Simulink. Compare los resultados con la misma modulacin pero sin EE (transmisin de una seal antipodal de Bit rate =1 en ruido gausiano mediante BPSK y demodulacin BPSK). Para ello calcule tericamente la Ganancia (relacin entre Bit rates) y redisee el bloque de ruido gausiano modificando el ratio Eb/N0, de manera que usemos la misma potencia de ruido en ambos casos, y el periodo del smbolo. Cul es el porcentaje de mejora en la tasa de error de transmisin-recepcin?