ISCE_INSAR/components/isceobj/Util/src/derampc.F

45 lines
1002 B
Fortran

subroutine derampc(c_img,i_dim)
implicit none
integer i_dim,i,j
complex c_img(i_dim,i_dim),c_phdn,c_phac
real r_phac,r_phdn
c_phdn = cmplx(0.,0.)
c_phac = cmplx(0.,0.)
do i=1,i_dim-1
do j=1,i_dim
c_phac = c_phac + c_img(i,j)*conjg(c_img(i+1,j))
enddo
enddo
do i=1,i_dim
do j=1,i_dim-1
c_phdn = c_phdn + c_img(i,j)*conjg(c_img(i,j+1))
enddo
enddo
if(cabs(c_phdn) .eq. 0)then
r_phdn = 0.0
else
r_phdn = atan2(aimag(c_phdn),real(c_phdn))
endif
if(cabs(c_phac) .eq. 0)then
r_phac = 0.0
else
r_phac = atan2(aimag(c_phac),real(c_phac))
endif
c write(6,*) 'Phase across, down = ',r_phac,r_phdn
do i=1,i_dim
do j=1,i_dim
c_img(i,j) = c_img(i,j)*cmplx(cos(r_phac*i+r_phdn*j),
& sin(r_phac*i+r_phdn*j))
enddo
enddo
end