##// END OF EJS Templates
Cambios en las operaciones de PulsePair_vRF read Note
avaldezp -
r1470:568f44d4930a
parent child
Show More
@@ -1584,6 +1584,26 class PulsePair_vRF(Operation):
1584 1584 '''
1585 1585 Return the PULSEPAIR and the profiles used in the operation
1586 1586 Affected : self.__profileIndex
1587 NOTA:
1588 1.) Calculo de Potencia
1589 PdBm = 10 *log10(10*(I**2 + Q**2)) Unidades dBm
1590 self.__buffer = I + Qj
1591
1592 2.) Data decodificada
1593 Se toma como referencia el factor estimado en jrodata.py y se adiciona
1594 en PulsePair solo pwcode.
1595 if self.flagDecodeData:
1596 pwcode = numpy.sum(self.code[0]**2)
1597 normFactor = self.nProfiles * self.nIncohInt * self.nCohInt * pwcode * self.windowOfFilter
1598 3.) hildebrand_sekhon
1599 Se pasa el arreglo de Potencia pair0 que contiene canales perfiles y altura dividiendole entre el
1600 factor pwcode.
1601 4.) data_power
1602 Este parametro esta dividido por los factores: nro. perfiles, nro intCoh y pwcode
1603 5.) lag_0
1604 Este parametro esta dividido por los factores: nro. perfiles, nro intCoh y pwcode
1605 Igual a data_power
1606
1587 1607 '''
1588 1608 #----------------- Remove DC-----------------------------------
1589 1609 if self.removeDC==True:
@@ -1592,16 +1612,20 class PulsePair_vRF(Operation):
1592 1612 dc= numpy.tile(tmp,[1,self.__nProf,1])
1593 1613 self.__buffer = self.__buffer - dc
1594 1614 #------------------Calculo de Potencia ------------------------
1595 pair0 = self.__buffer*numpy.conj(self.__buffer)
1615 pair0 = self.__buffer*numpy.conj(self.__buffer) * 10.0
1596 1616 pair0 = pair0.real
1597 1617 lag_0 = numpy.sum(pair0,1)
1598 1618 #-----------------Calculo de Cscp------------------------------ New
1599 1619 cspc_pair01 = self.__buffer[0]*self.__buffer[1]
1620 #------------------ Data Decodificada------------------------
1621 pwcode = 1
1622 if dataOut.flagDecodeData == True:
1623 pwcode = numpy.sum(dataOut.code[0]**2)
1600 1624 #------------------Calculo de Ruido x canal--------------------
1601 1625 self.noise = numpy.zeros(self.__nch)
1602 1626 for i in range(self.__nch):
1603 1627 daux = numpy.sort(pair0[i,:,:],axis= None)
1604 self.noise[i]=hildebrand_sekhon( daux ,self.nCohInt)
1628 self.noise[i]=hildebrand_sekhon( daux/pwcode ,self.nCohInt)
1605 1629
1606 1630 self.noise = self.noise.reshape(self.__nch,1)
1607 1631 self.noise = numpy.tile(self.noise,[1,self.__nHeis])
@@ -1610,7 +1634,7 class PulsePair_vRF(Operation):
1610 1634 #------------------ Potencia recibida= P , Potencia senal = S , Ruido= N--
1611 1635 #------------------ P= S+N ,P=lag_0/N ---------------------------------
1612 1636 #-------------------- Power --------------------------------------------------
1613 data_power = lag_0/(self.n*self.nCohInt)
1637 data_power = lag_0/(self.n*self.nCohInt*pwcode)
1614 1638 #--------------------CCF------------------------------------------------------
1615 1639 data_ccf =numpy.sum(cspc_pair01,axis=0)/(self.n*self.nCohInt)
1616 1640 #------------------ Senal --------------------------------------------------
@@ -1629,7 +1653,7 class PulsePair_vRF(Operation):
1629 1653 data_velocity = (self.lambda_/2.0)*data_freq
1630 1654
1631 1655 #---------------- Potencia promedio estimada de la Senal-----------
1632 lag_0 = lag_0/self.n
1656 lag_0 = data_power
1633 1657 S = lag_0-self.noise
1634 1658
1635 1659 #---------------- Frecuencia Doppler promedio ---------------------
General Comments 0
You need to be logged in to leave comments. Login now