{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# MANUAL DE LABORATORIO DE COMUNICACIONES DIGITALES: PYTHON\n", "F. Javier Payán Somet, Juan José Murillo-Fuentes, José Carlos Aradillas Jaramillo \\\n", "_Departamento de Teoría de la Señal y Comunicaciones_ \\\n", "_Escuela Técnica Superior de Ingeniería_ \\\n", "_Universidad de Sevilla_ \n", "\n", "# Tema 6. Demodulador óptimo en un canal AWGN\n", "\n", "**Este notebook contiene código del Tema 6**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<table align=\"left\">\n", " <td>\n", " <a target=\"_blank\" href=\"https://colab.research.google.com/github/gapsc-us/labcomdig/blob/main/Tema6.Demodulador_Canal_AWGN.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n", " </td>\n", "</table>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inicialización" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Python ≥3.5 is required\n", "import sys\n", "assert sys.version_info >= (3, 5)\n", "\n", "# Numpy ≥1.16 is required\n", "import numpy as np\n", "assert np.__version__ >= \"1.16\"\n", "\n", "# To plot pretty figures\n", "%matplotlib inline\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "mpl.rc('axes', labelsize=14)\n", "mpl.rc('xtick', labelsize=12)\n", "mpl.rc('ytick', labelsize=12)\n", "\n", "# Ignore useless warnings\n", "import warnings\n", "warnings.filterwarnings(action=\"ignore\") #Ignorar warnings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Diseño experimental" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulación de un canal AWGN discreto" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Código 6.1** Salida del receptor vectorial en un canal AWGN para una PAM.\n", "\n", "Las funciones que se describen aquí están en el fichero labcomdig.py y se definieron en temas anteriores" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def transmisorpam(Bn,Eb,M,p,L):\n", " '''\n", " [Xn,Bn,An,phi,alfabetopam] = transmisorpam(Bn,Eb,M,p,L) \n", " \n", " Entradas: \n", " Bn = Secuencia de dígitos binarios\n", " Eb = Energía media por bit transmitida en Julios\n", " M = Número de síímbolos del código PAM\n", " p = Pulso paso de baja o paso de banda \n", " L = Número de puntos a utilizar en la representación de un símbolo\n", " \n", " Devuelve:\n", " Xn = la señal de información (discreta)\n", " Bn = La secuencia de dígitos binarios realmente transmitidos\n", " An = La secuencia de niveles de amplitud transmitidos\n", " \t phi = Pulso básico real normalizado (energía unidad)\n", " alfabetopam = Los niveles de amplitud asociados a cada símbolo\n", " ''' \n", " \n", " #Comprobación de parámetros de entrada\n", " p=p.squeeze()\n", " if len(Bn)<1 or Eb<=0 or M<2 or p@p==0 or L<1:\n", " raise Exception('Error: revise los parámetros de entrada')\n", " \n", " # Se obtienen en primer lugar los niveles asociado a cada símbolo ¿Cuántos bits hay en cada símbolo?\n", " k = int(np.ceil(np.log2(M))) \n", " M = 2**(k) # Se Ajusta M a una potencia de dos\n", " \n", " # El alfabeto [Ver la ecuación (4.21)] \n", " alfabetopam = np.sqrt(3*Eb*np.log2(M)/(M**2-1))*(2*(np.arange(M))-M+1)\n", " \n", " # Si Bn no tiene una longitud múltiplo de k, se completa con ceros\n", " Nb = len(Bn) # Número de bits a transmitir, actualizado\n", " Bn = Bn.squeeze().astype(int) #Comprobación de int y dimensiones \n", " Bn = np.r_[Bn,np.zeros(int(k*np.ceil(Nb/k)-Nb)).astype(int)] #\n", " Nb = len(Bn) # Número de bits a transmitir tras la corrección\n", " Ns = Nb//k # Número de símbolos a transmitir\n", " \n", " # La secuencia generada\n", " if M>2:\n", " An = alfabetopam[gray2de(np.reshape(Bn,[Ns,k]))]\n", " else:\n", " An = alfabetopam[Bn]\n", " \n", " # Comprobación de las longitudes y otros datos del pulso suministrado para \n", " # hacer que el número de muestras del mismo sea efectivamente L\n", " Ls = len(p)\n", " if Ls<L:\n", " p = np.r_[p, np.zeros(L-Ls)]\n", " elif Ls>L:\n", " print('La duración del pulso se trunca a {} muestras'.format(str(L)))\n", " p = p[:L] #Debe modificarse si se quiere un pulso de más de L muestras \n", " # Se normaliza la energía del pulso para obtener la base del sistema\n", " phi = p / np.sqrt(p@p) \n", " \n", " # Obtención del tren de pulsos, Xn = np.kron(An,phi) ó\n", " Xn = np.reshape(np.reshape(An,[Ns,1])*phi,[Ns*L,]) #Debe modificarse si se quiere un pulso de más de L muestras\n", " return [Xn,Bn,An,phi,alfabetopam]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se necesita la siguiente función, del notebook anterior:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def gray2de(b):\n", " '''\n", " Convierte cada columna de la matriz formada por dígitos binarios b en un vector\n", " fila de los valores decimales correspondientes, aplicando codificación de Gray.\n", " '''\n", " if not isinstance(b, (np.ndarray, list, tuple)): # se comprueba que no sea np.array, lista o tupla\n", " raise Exception('Error: la entrada no es un array, lista o tupla')\n", " b = np.array(b) # Esto es para que admita también listas y tuplas\n", " c = np.zeros_like(b); c[:,0] = b[:,0]\n", " for i in range(1,np.shape(b)[1]):\n", " c[:,i] = np.logical_xor(c[:,i-1], b[:,i])\n", " c = np.fliplr(c) # Convierte los bits menos significativos en los más significativos\n", " #Comprueba un caso especial.\n", " [n,m] = np.shape(c) \n", " if np.min([m,n]) < 1:\n", " d = []\n", " return\n", " d = c @ 2**np.arange(m)\n", " return d " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y, más adelante para la demodulación de una señal QAM," ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def split(Bn, M1, M2):\n", " '''\n", " Entradas\n", " Bn = una secuencia de símbolos binarios\n", " M1 = nº de símbolos de la componente en fase\n", " M2 = nº de símbolos de la componente en cuadratura \n", " Salida \n", " Bn = una secuencia de símbolos binarios\n", " M1 = nº de símbolos de la componente en fase\n", " M2 = nº de símbolos de la componente en cuadratura\n", " '''\n", " \n", " k1 = int(np.log2(M1))\n", " k2 = int(np.log2(M2))\n", " k = k1 + k2\n", " \n", " #Longitud de la secuencia\n", " Nb = len(Bn)\n", " \n", " #Una matriz con Ns=Nb/k filas formadas por los k bits\n", " W = np.reshape(Bn,[int(Nb/k),k])\n", " \n", " #Extrae la submatriz formada por los k1 primeros bits y pone una fila tras otra\n", " BnI = np.reshape(W[:,:k1],[k1*int(Nb/k)])\n", " \n", " #Extrae la submatriz formada por los k2 bits restantes y pone una fila tras otra\n", " BnQ = np.reshape(W[:,k1:],[k2*int(Nb/k)]) \n", " \n", " return BnI, BnQ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Código 6.1** Salida del receptor vectorial en un canal AWGN para una PAM." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x1209e0cd0>" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "np.random.seed(76) #To get same results\n", "\n", "#%% Transmisor\n", "M = 8 #Tamaño de la constalación\n", "Eb = 4 # Energía por bit transmitida\n", "L = 4 #N. de muestras por símbolo\n", "Nb = 10**4 #N. de bits a transmitir\n", "p = np.ones(L)\n", "Bn = np.random.randint(2, size = Nb)\n", "[Xn, Bn, An, phi, alfabeto] = transmisorpam(Bn,Eb,M,p,L)\n", "\n", "#%% Canal \n", "SNRdb = 0\n", "SNR = 10**(SNRdb/10) #paso a unidades naturales\n", "varzn = Eb/(2*SNR) #Cálculo de la varianza del ruido\n", "Wn = np.sqrt(varzn)*np.random.randn(len(Xn)) #Muestras de ruido, del canal\n", "rn = Xn + Wn #Salida del canal, entrada al receptor vectorial\n", "\n", "#%% Receptor Vectorial\n", "M = len(alfabeto) #Símbolos de la constelación M-PAM\n", "Nb = len(Bn) #Número de bits transmitidos\n", "Ns = int(Nb/np.log2(M)) #Nçumero d esímbolos transmitidos\n", "\n", "# Mediante filtro adaptado\n", "hr = np.flipud(phi)\n", "yn = np.convolve(hr, rn, 'valid')\n", "r = yn[np.arange(0,Ns*L,L)] #Salida del receptor vectorial\n", "\n", "# Mediante correlador\n", "r = np.reshape(rn,[Ns,L]) @ phi #Salida del receptor vectorial\n", "\n", "#%% Representación de resultados\n", "plt.figure(1, figsize=(10,6))\n", "plt.stem(r[:30],linefmt='b-',markerfmt='bo',basefmt='k-',use_line_collection = True)\n", "plt.xlabel('n')\n", "markerline, stemlines, baseline = plt.stem(An[:30],linefmt='r-',markerfmt='r_',basefmt='k-',use_line_collection = True)\n", "plt.setp(stemlines, 'linewidth', 3)\n", "plt.legend(['r','An'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Constelación recibida\n", "\n", "### Constelación mediante un banco de correladores\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rescatamos la siguiente función, al igual que las anteriores contenida en labdomdig.py" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def transmisorqam(Bn, Eb, M1, M2, p1, p2, L): \n", " '''\n", " [Xn,BnI,BnQ,AnI,AnQ,AI,AQ,phi1,phi2] = transmisorqam(Bn, Eb, M1, M2,p1,p2,L)\n", " \n", " Entradas:\n", " Bn = Secuencia de dígitos binarios\n", " Eb = Energía media por bit transmitida en Julios\n", " M1 = Nº de símbolos de la componente en fase\n", " M2 = Nº de símbolos de la componente en cuadratura\n", " p1 = Pulso real de la componente en fase\n", " p2 = Pulso real de la componente en cuadratura\n", " L = Nº de puntos que vamos a utilizar en la representación un símbolo\n", " \n", " Devuelve:\n", " Xn = la señal de información digital\n", " BnI = Bits transmitidos por la componente en fase\n", " BnQ = Bits transmitidos por la componente en cuadratura\n", " AnI = Niveles de amplitud transmitidos por la componente en fase\n", " AnQ = Niveles de amplitud transmitidos por la componente en cuadratura \n", " AI = Niveles de amplitud usados en la componente en fase\n", " AQ = Niveles de amplitud usados en la componente en cuadratura\n", " phi1 = Pulso básico normalizado (energía unidad) de la componente en fase\n", " phi2 = Pulso básico normalizado (energía unidad) de la componente en cuadratura \n", " '''\n", " #Comprobación de parámetros de entrada\n", " p1 = p1.squeeze()\n", " p2 = p2.squeeze()\n", " if len(Bn)<1 or Eb<=0 or M1<2 or M2<2 or p1@p1==0 or p2@p2==0 or L<1:\n", " raise Exception('Error: revise los parámetros de entrada') \n", " \n", " #Definiciones\n", " eps = np.finfo(float).eps # por debajo de este valor se considera cero\n", " \n", " #Comprobación de los pulsos básicos\n", " Ls1 = len(p1)\n", " Ls2 = len(p2)\n", " if Ls1<L:\n", " p1 = np.r_[p1, np.zeros(int(L-Ls1))]\n", " elif Ls1>L:\n", " p1 = p1[:L]\n", " print('La duración del pulso se trunca a {} muestras'.format(str(L)))\n", " if Ls2<L:\n", " p2 = np.r_[p2, np.zeros(int(L-Ls2))]\n", " elif Ls1>L:\n", " p2 = p2[:L]\n", " print('La duración del pulso se trunca a {} muestras'.format(str(L))) \n", "\n", " #Normalicemos las energías de los pulsos\n", " phi1 = 1/np.sqrt(p1@p1)*p1\n", " phi2 = 1/np.sqrt(p2@p2)*p2\n", " \n", " #Comprobemos la ortogonalidad\n", " if np.abs(phi1@phi2) >= 1e2*eps:\n", " raise Exception('Bases no ortogonales, no es posible realizar la transmisión')\n", " \n", " #Ajuste de los parámetros \n", " k1 = int(np.ceil(np.log2(M1))) #Número de bits de la componente en fase\n", " M1 = 2**(k1) #Valor de M1 tras la corrección\n", " k2 = int(np.ceil(np.log2(M2))) #Número de bist de la componente en cuadratura M2 = 2**(k2) #Valor de M2 tras la corrección\n", " k = k1 + k2 #Número de bits en cada símbolo QAM\n", " Nb = len(Bn); Bn = Bn.squeeze().astype(int) #Comprobación de int y dimensiones\n", " Bn = np.r_[Bn,np.zeros(int(k*np.ceil(Nb/k)-Nb)).astype(int)] \n", " \n", " #Obtención de la mitad de la distancia mínima entre símbolos para Eb dada\n", " A = np.sqrt(3*Eb*np.log2(M1*M2)/(M1**2+M2**2-2))\n", " \n", " #El alfabeto con los niveles\n", " AI = A * (2*np.arange(M1)-M1+1)\n", " AQ = A * (2*np.arange(M2)-M2+1)\n", " \n", " #Separación de la secuencia de bits en las secuencias de las componentes en fase y cuadratura\n", " BnI,BnQ = split(Bn,M1,M2)\n", " NbI = len(BnI)\n", " NbQ = len(BnQ)\n", " \n", " #Obtención de la secuencia de símbolos de las componentes en fase y cuadratura\n", " if M1>2:\n", " AnI = AI[gray2de(np.reshape(BnI,[int(NbI/k1),k1]))] \n", " else:\n", " AnI = AI[BnI]\n", " if M2>2:\n", " AnQ = AQ[gray2de(np.reshape(BnQ,[int(NbQ/k2),k2]))]\n", " else:\n", " AnQ = AQ[BnQ]\n", " Ns = len(AnI) \n", " \n", " #Las componentes en fase, cuadratura y total de la señal discreta a transmitir\n", " XnI=np.reshape(np.reshape(AnI,[Ns,1])*phi1,[Ns*L,]) #ó XnI=np.kron(AnI, phi1);\n", " XnQ=np.reshape(np.reshape(AnQ,[Ns,1])*phi2,[Ns*L,]) #ó XnQ=np.kron(AnQ, phi2);\n", " Xn = XnI+XnQ;\n", " return Xn, BnI, BnQ, AnI, AnQ, AI, AQ, phi1, phi2 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "**Código 6.2** Constelación de un sistema QAM rectangular paso de baja." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Datos\n", "Bn = np.random.randint(2, size=10**4)\n", "Eb = 2\n", "L = 4\n", "M1 = 4\n", "M2 = 4\n", "\n", "#%% Definición de los pulsos básicos\n", "p1 = np.r_[np.ones(int(L/2)), np.zeros(int(L/2))] \n", "p2 = np.r_[np.zeros(int(L/2)), np.ones(int(L/2))]\n", "\n", "#%% Transmisor: obtención de la señal QAM\n", "[Xn,BnI,BnQ,AnI,AnQ,AI,AQ,phi1,phi2] = transmisorqam(Bn,Eb,M1,M2,p1,p2,L)\n", "\n", "#%% Obtengamos los parámetros necesarios para la representación tras las posibles modificaciones\n", "L = len(phi1) #Número de muestras por símbolo\n", "Ns = int((len(BnI)+len(BnQ))/(np.log2(len(AI)*len(AQ))))\t#Nº de símbolos transmitidos\n", "\n", "#%% Receptor vectorial: obtención de las secuencias de niveles transmitidos\n", "#El canal es perfecto, a su salida se tiene una copia de la entrada\n", "#sn = np.dot(np.reshape(Xn,[Ns,L]),np.c_[phi1,phi2])\n", "sn = np.reshape(Xn,[Ns,L]) @ np.c_[phi1,phi2]\n", "sn1 = sn[:,0]\n", "sn2 = sn[:,1]\n", "\n", "#%% Extraemos la constellación de los valores recibidos\n", "s1 = np.unique(np.single(sn1)) #Valores distintos encontrados en An1\n", "xmax = max(s1)+max(s1)/10+0.5\n", "xmin = -(abs(min(s1))+abs(min(s1))/10)-0.5\n", "\n", "s2 = np.unique(np.single(sn2)) #Valores distintos encontrados en An2\n", "ymax = np.max(s2)+np.max(s2)/10+0.5\n", "ymin = -(np.abs(np.min(s2))+np.abs(np.min(s2))/10)-0.5\n", "\n", "#%% Se representa la constellación\n", "plt.figure(61,figsize=(6,6))\n", "# Representa los ejes\n", "plt.plot([xmin,xmax],[0,0],'b-')\n", "plt.plot([0,0],[ymin,ymax],'b-')\n", "#Representa la constelación\n", "for ii in range(len(s1)):\n", " for jj in range(len(s2)):\n", " plt.plot(s1[ii],s2[jj], 'r*')\n", "plt.axis('square')\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ### Constelación mediante filtros adaptados\n", " \n", " Usamos la función ya definida en el tema anterior" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def transmisorpsk(Bn,Eb,M,p1,p2,L): \n", " '''\n", " [Xn,Bn,An,phi1,phi2,alfabeto] = transmisorpsk(Bn,Eb,M,p1,p2,L)\n", " \n", " Entradas:\n", " Bn = Secuencia de dígitos binarios\n", " Eb = Energía media por bit transmitida en Julios\n", " M = Número de símbolos del código PSK\n", " p1 = Pulso real de la componente en fase\n", " p2 = Pulso real de la componente en cuadratura\n", " L = Número de puntos que se utilizará en la representación de un símbolo\n", " \n", " Devuelve:\n", " Xn = la señal de información discreta\n", " Bn = La secuencia de dígitos binarios realmente transmitidos\n", " An = La secuencia de símbolos complejos transmitidos\n", " phi1 = Pulso básico real normalizado (energía unidad) de la componente en fase\n", " phi2 = Pulso básico real normalizado (energía unidad) de la componente en cuadratura\n", " alfabeto = El alfabeto utilizado asociado a cada símbolo transmitido\n", " '''\n", " #Comprobación de parámetros de entrada\n", " p1 = p1.squeeze(); p2 = p2.squeeze()\n", " if len(Bn)<1 or Eb<=0 or M<2 or p1@p1==0 or p2@p2==0 or L<1:\n", " raise Exception('Error: revise los parámetros de entrada')\n", " \n", " #Definiciones\n", " eps = np.finfo(float).eps # por debajo de este valor se considera cero\n", " \n", " # Comprobación de las longitudes y otros datos de los pulsos de llamada\n", " Ls1 = len(p1)\n", " Ls2 = len(p2)\n", " if Ls1==0 or Ls2==0:\n", " print('No es posible realizar la transmisión') \n", " return\n", " \n", " if Ls1<L:\n", " p1 = np.r_[p1, np.zeros(int(L-Ls1))]\n", " elif Ls1>L:\n", " p1 = p1[:L]\n", " print('La duración del pulso se trunca a {} muestras'.format(str(L)))\n", " if Ls2<L:\n", " p2 = np.r_[p2, np.zeros(int(L-Ls2))]\n", " elif Ls2>L:\n", " p2 = p2[:L]\n", " print('La duración del pulso se trunca a {} muestras'.format(str(L))) \n", " \n", " # Se comprueba la ortogonalidad\n", " if abs(p1@p2) >= 1e0*eps*10:\n", " print('No es posible realizar la transmisión') \n", " return\n", " \n", " # Se normalizan las energías de los pulsos\n", " phi1 = p1 / np.sqrt(p1@p1) \n", " phi2 = p2 / np.sqrt(p2@p2) \n", " # Se genera el pulso complejo [Ver la ecuación (5.25)]\n", " phi = phi1 - 1j*phi2\n", " \n", " # Obtención de los niveles asociados a cada símbolo: alfabeto\n", " # Número de bits por símbolo\n", " k = int(np.ceil(np.log2(M)))\n", " # Se ajusta M a una potencia de dos\n", " M = 2**(k)\n", " # El alfabeto [Ver la ecuación (5.24)]\n", " alfabeto = np.sqrt(Eb*k)*np.exp(1j*2*np.pi*np.arange(M)/M) #empieza en 0\n", " \n", " # Si la longitud de Bn no es múltiplo de k, se completa con ceros\n", " Nb = len(Bn) \n", " Bn = np.r_[Bn,np.zeros(int(k*np.ceil(Nb/k)-Nb)).astype(int)] #\n", " \n", " # Número de bits y símbolos que vamos a transmitir\n", " Nb = len(Bn) # Número de bits que vamos a transmitir tras la corrección \n", " Ns = int(Nb/k)\n", "\n", " # La secuencia generada\n", " if M>2:\n", " An = alfabeto[gray2de(np.reshape(Bn,[Ns,k]))]\n", " else:\n", " An = alfabeto[Bn]\n", " \n", " # Obtención del tren de pulsos, Xn = np.real(np.kron(An, phi)) ó\n", " Xn = np.real(np.reshape(np.reshape(An,[Ns,1])*phi,[Ns*L,]))\n", " return [Xn, Bn, An, phi1, phi2, alfabeto] " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " **Código 6.3** Constelación de un sistema M-PSK paso de baja mediante filtros adaptados." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#%% Datos\n", "Bn = np.random.randint(2, size=10**4)\n", "Eb = 4/3\n", "L = 8\n", "M = 8\n", "\n", "#%% Definición de los pulsos básicos\n", "p1 = np.r_[np.ones(int(L/2)), np.zeros(int(L/2))] \n", "p2 = np.r_[np.zeros(int(L/2)), np.ones(int(L/2))] \n", "\n", "#%% Transmisor: Generación de la señal M-PSK\n", "[Xn,Bn,An,phi1,phi2,alfabeto] = transmisorpsk(Bn,Eb,M,p1, p2, L);\n", "k = np.log2(len(alfabeto))\n", "L = len(phi1) #Número de muestras por símbolo\n", "Ns = int(len(Bn)/k) #Nº de símbolos transmitidos\n", "\n", "#%% Receptor Vectorial con filtros adaptados\n", "hr1 = np.flipud(phi1)\n", "hr2 = np.flipud(phi2)\n", "\n", "yn1 = np.convolve(hr1,Xn, 'valid')\n", "yn2 = np.convolve(hr2,Xn, 'valid')\n", "\n", "# Señal de salida\n", "sn1 = yn1[np.arange(0,Ns*L,L)] \n", "sn2 = yn2[np.arange(0,Ns*L,L)] \n", " \n", "#%% Representación: \n", "# Obtiene valores máximos y mínimos para la representación\n", "xmax = max(sn1) + max(sn1)/10 + 0.5\n", "xmin = -(abs(min(sn1)) + abs(min(sn1))/10) - 0.5\n", "ymax = max(sn2) + max(sn2)/10 + 0.5\n", "ymin = -(abs(np.min(sn2))+abs(min(sn2))/10) - 0.5\n", "\n", "plt.figure(62,figsize=(6,6))\n", "# Pinta los ejes\n", "plt.plot([xmin,xmax],[0,0],'b-')\n", "#hold\n", "plt.plot([0,0],[ymin,ymax],'b-')\n", "\n", "# Representa\n", "Nmax = int(min(64,len(Bn)/k))\n", "plt.plot(sn1[:Nmax],sn2[:Nmax], 'r*')\n", "plt.axis('square')\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Scattering plot del vector de observación\n", "**Código 6.4** Scattering plot de un sistema QAM rectangular." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1080x1080 with 9 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Datos\n", "Bn = np.random.randint(2, size=10**3)\n", "Eb = 4\n", "L = 4\n", "M1 = 2\n", "M2 = 2\n", "\n", "#%% Transmisor. Definición de los pulsos básicos\n", "p1 = np.r_[np.ones(int(L/2)), np.zeros(int(L/2))] \n", "p2 = np.r_[np.zeros(int(L/2)), np.ones(int(L/2))] \n", "\n", "# Obtención de la señal QAM\n", "[Xn,BnI,BnQ,AnI,AnQ,AI,AQ,phi1,phi2] = transmisorqam(Bn,Eb,M1,M2,p1,p2,L)\n", "\n", "# Obtengamos los parámetros necesarios para la representación tras las posibles modificaciones\n", "L = len(phi1); #Número de muestras por símbolo\n", "Ns = int((len(BnI)+len(BnQ))/(np.log2(len(AI)*len(AQ)))) #Nº de símbolos transmitidos\n", "\n", "#%% Constelación en ausencia de ruido\n", "sn = np.dot(np.reshape(Xn,[Ns,L]),np.c_[phi1,phi2])\n", "sn1 = sn[:,0]\n", "sn2 = sn[:,1]\n", "\n", "# Obtiene los valores únicos\n", "sx = np.unique(np.single(sn1))\n", "xmax = max(sx)+max(sx)/10+0.5\n", "xmin = -(abs(min(sx))+abs(min(sx))/10)-0.5\n", "\n", "sy = np.unique(np.single(sn2))\n", "ymax = max(sy)+max(sy)/10+0.5\n", "ymin = -(abs(min(sy))+abs(min(sy))/10)-0.5\n", "\n", "#%% Constellación (scattering) recibida para diversos valores de SNRdb\n", "plt.figure(63, figsize=(15,15))\n", "for SNRdB in range(9): #SNR = 0,1,2,...,8 dB\n", " plt.subplot(3,3,SNRdB+1)\n", " # Representa los ejes\n", " plt.plot([xmin,xmax],[0,0],'b-')\n", " \n", " plt.plot([0,0],[ymin,ymax],'b-')\n", " plt.grid(), plt.axis('square')\n", " # Se obtiene varianza del ruido del canal\n", " \n", " SNR = 10**(SNRdB/10) #SNR en unidades naturales\n", " varzn = Eb/(2*SNR)\n", " # Se obtienen muestras de ruido a sumar en el canal, se suman y se recuperan\n", " Wn = np.sqrt(varzn)*np.random.randn(np.size(Xn))\n", " r = np.reshape(Xn+Wn,[Ns,L]) @ np.c_[phi1,phi2] #Salida Rx Vectorial\n", " plt.plot(r[:,0], r[:,1], '.b')\n", " plt.axis([-5, 5, -5, 5])\n", " # Representa los valores obtenidos a la salida del receptor vectorial\n", " for ii in range(len(sx)):\n", " for jj in range(len(sy)):\n", " plt.plot(sx[ii],sy[jj], 'ro'); \n", " plt.xlabel('$E_b/N_0=$' + str(SNRdB) + 'dB')\n", "plt.tight_layout\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Ejercicio propuesto" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Se desea generar una señal PAM para lo cual se utiliza la función transmisorpam diseñada en el Capítulo 4. Las señales transmitidas vienen dadas por: \n", "\n", "$$\n", "si(t) = A_i\\phi(t), i = 1, . . . ,M\n", "$$\n", "\n", "dónde $A_i \\in {−7C,−5C,−3C,−C, C, 3C, 5C, 7C}$ y $\\phi(t)$ es un pulso de energía unidad\n", "proporcional al pulso mostrado en la Figura 6.18.\n", "\n", " <img src=https://raw.githubusercontent.com/gapsc-us/labcomdig/main/figures/pulsosP6.png style=\"max-width:45%;width:auto;height:auto;\" align=\"center\">" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1.** Determinar C para que la energía por bit transmitida sea 7/4 J." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. Utilizando la función transmisorpam, escribir el código que permite obtener la señal discreta transmitida cuando:\n", "\n", " a) La secuencia transmitida está formada por la conversión de decimal a binario de los cuatro primeros dígitos del DNI del lector.\n", "\n", " b) L = 8.\n", "\n", " c) El pulso básico de duración T es el mostrado en la Figura 6.18." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**3.** Representar la versión discreta de la señal transmitida." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**4.** Obtener la constelación de las señales transmitidas y representarla de manera similar\n", "a las mostradas en las figuras 6.13 y 6.14. Para ello modificar el código anterior para\n", "que se transmita un total de $N_b=10^5$ bits." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**5.** Si se supone que la señal se transmite en un canal AWGN, diseñar un demodulador y obtener y representar la función densidad de probabilidad del vector de observación cuando la relación SNR se encuentra entre 4 dB y 18 dB, con un incremento de 2 dB." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }