mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-26 14:18:38 -05:00
532a93e7e3
complex c2(*) Replace it with complex c2(n2) and pass n2 as a parameter instead. Fix a missing -fPIC git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@298 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
68 lines
2.1 KiB
Fortran
68 lines
2.1 KiB
Fortran
subroutine fil651(d,n1,c,n2)
|
|
|
|
C FIR lowpass mixing filter designed with ScopeFIR. Real in, complex out.
|
|
|
|
C fsample = 5512.5 Hz
|
|
C Ntaps = 31
|
|
C fc = 1000 Hz
|
|
C fstop = 1378.125 Hz
|
|
C Ripple = 0.5 dB
|
|
C Stop Atten = 50 dB
|
|
C fmix = 1378.125 Hz
|
|
C fout = 2706.25 Hz
|
|
|
|
parameter (NTAPS=31)
|
|
parameter (NH=NTAPS/2)
|
|
parameter (NDOWN=2) !Downsample ratio
|
|
|
|
real d(n1)
|
|
complex c(n2)
|
|
|
|
complex ck(-NH:NH)
|
|
data ck/
|
|
+ (-0.000000073578,-0.000859869243),
|
|
+ ( 0.008518289457,-0.000000680308),
|
|
+ ( 0.000000834309, 0.011250152594),
|
|
+ (-0.001061705254, 0.000000072679),
|
|
+ ( 0.000000875897, 0.013958392128),
|
|
+ (-0.010047338711, 0.000000573160),
|
|
+ ( 0.000000770320, 0.015003869984),
|
|
+ (-0.025027880956, 0.000001142192),
|
|
+ ( 0.000000285583, 0.007151700551),
|
|
+ (-0.043634723888, 0.000001493512),
|
|
+ (-0.000000478847,-0.016788108005),
|
|
+ (-0.061886192046, 0.000001412144),
|
|
+ (-0.000001258694,-0.073548459509),
|
|
+ (-0.075261027462, 0.000000858668),
|
|
+ (-0.000001749252,-0.306638863572),
|
|
+ ( 0.419826269508, 0.000000000000),
|
|
+ (-0.000001749252, 0.306638863572),
|
|
+ (-0.075261027462,-0.000000858668),
|
|
+ (-0.000001258694, 0.073548459509),
|
|
+ (-0.061886192046,-0.000001412144),
|
|
+ (-0.000000478847, 0.016788108005),
|
|
+ (-0.043634723888,-0.000001493512),
|
|
+ ( 0.000000285583,-0.007151700551),
|
|
+ (-0.025027880956,-0.000001142192),
|
|
+ ( 0.000000770320,-0.015003869984),
|
|
+ (-0.010047338711,-0.000000573160),
|
|
+ ( 0.000000875897,-0.013958392128),
|
|
+ (-0.001061705254,-0.000000072679),
|
|
+ ( 0.000000834309,-0.011250152594),
|
|
+ ( 0.008518289457, 0.000000680308),
|
|
+ (-0.000000073578, 0.000859869243)/
|
|
|
|
n2=(n1-NTAPS+NDOWN)/NDOWN
|
|
k0=NH-NDOWN+1
|
|
|
|
do i=1,n2
|
|
c(i)=0.
|
|
k=k0 + NDOWN*i
|
|
do j=-NH,NH
|
|
c(i)=c(i) + d(j+k)*conjg(ck(j))
|
|
enddo
|
|
enddo
|
|
|
|
return
|
|
end
|