| 
									
										
										
										
											2005-12-22 16:40:53 +00:00
										 |  |  |       subroutine setup65
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  Defines arrays related to the pseudo-random synchronizing pattern.
 | 
					
						
							|  |  |  | C  Executed at program start.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       integer npra(135),nprc(126)
 | 
					
						
							|  |  |  |       include 'prcom.h'
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  JT44
 | 
					
						
							|  |  |  |       data npra/
 | 
					
						
							|  |  |  |      +    1,1,1,0,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,
 | 
					
						
							|  |  |  |      +    1,0,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,1,1,
 | 
					
						
							|  |  |  |      +    1,0,0,1,0,0,1,0,1,1,1,0,0,1,1,1,0,0,0,0,
 | 
					
						
							|  |  |  |      +    0,0,1,1,1,0,1,1,1,0,1,0,0,1,1,1,1,0,1,0,
 | 
					
						
							|  |  |  |      +    1,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,1,0,1,0,
 | 
					
						
							|  |  |  |      +    1,1,1,1,1,0,1,0,1,1,0,1,0,0,0,0,0,1,1,0,
 | 
					
						
							|  |  |  |      +    1,1,1,0,1,1,0,1,1,0,1,0,1,1,0/
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  JT65
 | 
					
						
							|  |  |  |       data nprc/
 | 
					
						
							|  |  |  |      + 1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0,
 | 
					
						
							|  |  |  |      + 0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1,
 | 
					
						
							|  |  |  |      + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1,
 | 
					
						
							|  |  |  |      + 0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1,
 | 
					
						
							|  |  |  |      + 1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,
 | 
					
						
							|  |  |  |      + 0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,
 | 
					
						
							|  |  |  |      + 1,1,1,1,1,1/
 | 
					
						
							|  |  |  |       data mr2/0/                !Silence g77 warning
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  Put the appropriate pseudo-random sequence into pr
 | 
					
						
							|  |  |  |       nsym=126
 | 
					
						
							|  |  |  |       do i=1,nsym
 | 
					
						
							|  |  |  |          pr(i)=2*nprc(i)-1
 | 
					
						
							|  |  |  |       enddo
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  Determine locations of data and reference symbols
 | 
					
						
							|  |  |  |       k=0
 | 
					
						
							|  |  |  |       mr1=0
 | 
					
						
							|  |  |  |       do i=1,nsym
 | 
					
						
							|  |  |  |          if(pr(i).lt.0.0) then
 | 
					
						
							|  |  |  |             k=k+1
 | 
					
						
							|  |  |  |             mdat(k)=i
 | 
					
						
							|  |  |  |          else
 | 
					
						
							|  |  |  |             mr2=i
 | 
					
						
							|  |  |  |             if(mr1.eq.0) mr1=i
 | 
					
						
							|  |  |  |          endif
 | 
					
						
							|  |  |  |       enddo
 | 
					
						
							|  |  |  |       nsig=k
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  Determine the reference symbols for each data symbol.
 | 
					
						
							|  |  |  |       do k=1,nsig
 | 
					
						
							|  |  |  |          m=mdat(k)
 | 
					
						
							|  |  |  |          mref(k,1)=mr1
 | 
					
						
							|  |  |  |          do n=1,10                     !Get ref symbol before data
 | 
					
						
							| 
									
										
										
										
											2006-04-05 20:07:32 +00:00
										 |  |  |             if((m-n).gt.0) then
 | 
					
						
							|  |  |  |                if (pr(m-n).gt.0.0) go to 10
 | 
					
						
							|  |  |  |             endif
 | 
					
						
							| 
									
										
										
										
											2005-12-22 16:40:53 +00:00
										 |  |  |          enddo
 | 
					
						
							|  |  |  |          go to 12
 | 
					
						
							|  |  |  |  10      mref(k,1)=m-n
 | 
					
						
							|  |  |  |  12      mref(k,2)=mr2
 | 
					
						
							|  |  |  |          do n=1,10                     !Get ref symbol after data
 | 
					
						
							| 
									
										
										
										
											2006-04-05 20:07:32 +00:00
										 |  |  |             if((m+n).le.nsym) then
 | 
					
						
							|  |  |  |                if (pr(m+n).gt.0.0) go to 20
 | 
					
						
							|  |  |  |             endif
 | 
					
						
							| 
									
										
										
										
											2005-12-22 16:40:53 +00:00
										 |  |  |          enddo
 | 
					
						
							|  |  |  |          go to 22
 | 
					
						
							|  |  |  |  20      mref(k,2)=m+n
 | 
					
						
							|  |  |  |  22   enddo
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C  Now do it all again, using opposite logic on pr(i)
 | 
					
						
							|  |  |  |       k=0
 | 
					
						
							|  |  |  |       mr1=0
 | 
					
						
							|  |  |  |       do i=1,nsym
 | 
					
						
							|  |  |  |          if(pr(i).gt.0.0) then
 | 
					
						
							|  |  |  |             k=k+1
 | 
					
						
							|  |  |  |             mdat2(k)=i
 | 
					
						
							|  |  |  |          else
 | 
					
						
							|  |  |  |             mr2=i
 | 
					
						
							|  |  |  |             if(mr1.eq.0) mr1=i
 | 
					
						
							|  |  |  |          endif
 | 
					
						
							|  |  |  |       enddo
 | 
					
						
							|  |  |  |       nsig=k
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       do k=1,nsig
 | 
					
						
							|  |  |  |          m=mdat2(k)
 | 
					
						
							|  |  |  |          mref2(k,1)=mr1
 | 
					
						
							|  |  |  |          do n=1,10
 | 
					
						
							| 
									
										
										
										
											2006-04-05 20:07:32 +00:00
										 |  |  |             if((m-n).gt.0) then
 | 
					
						
							|  |  |  |                if (pr(m-n).lt.0.0) go to 110
 | 
					
						
							|  |  |  |             endif
 | 
					
						
							| 
									
										
										
										
											2005-12-22 16:40:53 +00:00
										 |  |  |          enddo
 | 
					
						
							|  |  |  |          go to 112
 | 
					
						
							|  |  |  |  110      mref2(k,1)=m-n
 | 
					
						
							|  |  |  |  112      mref2(k,2)=mr2
 | 
					
						
							|  |  |  |          do n=1,10
 | 
					
						
							| 
									
										
										
										
											2006-04-05 20:07:32 +00:00
										 |  |  |             if((m+n).le.nsym) then
 | 
					
						
							|  |  |  |                if (pr(m+n).lt.0.0) go to 120
 | 
					
						
							|  |  |  |             endif
 | 
					
						
							| 
									
										
										
										
											2005-12-22 16:40:53 +00:00
										 |  |  |          enddo
 | 
					
						
							|  |  |  |          go to 122
 | 
					
						
							|  |  |  |  120     mref2(k,2)=m+n
 | 
					
						
							|  |  |  |  122  enddo
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return
 | 
					
						
							|  |  |  |       end
 |