%TRAMAS SID. %function [LARc,Nc,bc,Mc,xmaxc,xmc,flag,vad2,vad3,vad4,LARsid,xmaxsid]=sid(LARc,Nc,bc,Mc,xmaxc,xmc,vad1,vad2,vad3,vad4,LARsid,xmaxsid) %Entradas: %LARc:LAR codificados. %Nc:término de autocorrelación codificado. %bc:ganancia de autocorrelación codificado. %Mc:posición RPE codificada. %xmaxc:valor máximo RPE codificado. %xmc:subsecuencia seleccionada codificada. %vad1,vad2,vad3,vad4:decisión del vad para las cuatro tramas anteriores. %LARsid:LARc de las cuatro tramas anteriores. %xmaxsid:xmaxc de las cuatro tramas anteriores. %Salidas: %LARc:LAR codificados aplicado el sid. %Nc:término de autocorrelación codificado aplicado el sid. %bc:ganancia de autocorrelación codificado aplicado el sid. %Mc:posición RPE codificada aplicado el sid. %xmaxc:valor máximo RPE codificado aplicado el sid. %xmc:subsecuencia seleccionada codificada aplicado el sid. %flag:variable que indica si es una trama sid o no. %vad2,vad3,vad4:decisión del vad de las tres tramas anteriores. function [LARc,Nc,bc,Mc,xmaxc,xmc,flag,vad2,vad3,vad4,LARsid,xmaxsid]=sid(LARc,Nc,bc,Mc,xmaxc,xmc,vad1,vad2,vad3,vad4,LARsid,xmaxsid) LARsid=[LARsid(9:32),LARc];%actualizamos los LARsid para la siguiente trama. xmaxsid=[xmaxsid(5:16),xmaxc];%actualizamos los xmaxsid para la siguiente trama. flag=0; if(vad1==0 & vad2==0 & vad3==0 & vad4==0)%comprobamos si hay que aplicar el sid. flag=1;%ponemos esa bandera a uno indicando que es una trama sid. j=1:8;%sustituimos los LARc por una media ponderada. LARc(j)=round((LARsid(j)+LARsid(j+8)+LARsid(j+16)+LARsid(j+24))/4); j=1:4;%sustituimos los xmaxc por una media ponderada. xmaxc(j)=round(sum(xmaxsid)/16); Nc=zeros(1,4);%los demás parámetros los ponemos a cero. bc=zeros(1,4); Mc=zeros(1,4); xmc=zeros(1,52); end vad2=vad1;%actualizamos los valores de decisión. vad3=vad2; vad4=vad3;