-
Berk Silemek authoredBerk Silemek authored
pex_m4i_8ch_WC.f 5.65 KiB
c gfortran pex_m4i_8ch_WC.f m4iset_8ch.c /usr/lib64/libspcm_linux.so -o pex_m4i_WC
use iso_c_binding
implicit real*8 (a-h,o-z)
integer*2 ipex(10000000)
integer*2 ipex1(10000000)
integer*4 ndp
real*8 amp(8),phi(8), phaseSub(8)
complex*16 uvec(8), uvec0(8),uvecwc(8),chelp
character*64 argu
pi=4.d0*datan(1.d0)
ipex=0
ipex1=0
c fsamp=625.d6
c fsamp=500.d6
fsamp=400.d6
c fbas=123.246d6
fbas=297.234d6
ndp=512000
c ndp=2*51200
ndp8=ndp/8
call getarg(1,argu)
read(argu,*)mode
call getarg(2,argu)
read(argu,*)att
amp0=att*32767.0d0
c Calibration is off
c phi(1) = phi(1) + 0.0
c phi(2) = phi(2) + ((3.5) * (pi / 180.0))
c phi(3) = phi(3) + ((-7.0045896053314207) * (pi / 180.0))
c phi(4) = phi(4) + ((1.0142267853021623) * (pi / 180.0))
c phi(5) = phi(5) + ((24.745329284667967) * (pi / 180.0))
c phi(6) = phi(6) + ((16.720711231231689) * (pi / 180.0))
c phi(7) = phi(7) + ((10.251145744323731) * (pi / 180.0))
c phi(8) = phi(8) + ((8.3969257831573483) * (pi / 180.0))
if(mode.eq.1) then
open(3,file='wcvec.dat',status='unknown')
do i=1,8
read(3,*)uvec_r,uvec_i
uvecwc(i)=dcmplx(uvec_r,uvec_i)
phaseSub(i)= uvec_i
uvec0(i)=dsqrt(0.125d0)*cdexp((0.d0,-1.d0)*dfloat(i-1)*pi/4.d0)
enddo
close(3)
do i=1,8