@@ -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 = |
|
|
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