%DECODIFICADOR GSM. %function [sp,Nact,dpd,LARantd]=gsmdec(LARc,Nc,bc,Mc,xmaxc,xmc,Nact,dpd,LARantd) %Entradas: %LARc:LAR codificado. %Nc:término de correlación codificado. %bc:ganancia codificada. %Mc:posición RPE codificada. %xmaxc:valor máximo codificado. %xmc:subsecuencia seleccionada codificada. %Nact:valor de Nc de la trama anterior. %dpd:120 muestras anteriores reconstruidas. %LARantd:LAR de la trama anterior. %Salidas: %sp:trama de 160 muestras decodificada. %Nact:valor de Nc de la trama actual. %dpd:120 muestras anteriores reconstruidas. %LARantd:LAR de la trama actual. function [sp,Nact,dpd,LARantd]=gsmdec(LARc,Nc,bc,Mc,xmaxc,xmc,Nact,dpd,LARantd) for n=1:4%efectuamos el procesado en cuatro subtramas. e=rped(Mc(n),xmaxc(n),xmc(13*n-12:13*n));%decodificación RPE. if(Nc(n)<40 | Nc(n)>120)%comprobamos que Nc esté dentro del rango. Nc(n)=Nact; end Nact=Nc(n); dp=ltpd(Nc(n),bc(n),dpd);%decodificación LTP. d(40*n-39:40*n)=e+dp; dpd=[dpd(41:120),d(40*n-39:40*n)]; end [s,LARantd]=stpd(LARc,LARantd,d);%decodificación STP. sp=postproc(s);%aplicamos un postprocesado.