mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	Add fst280 files to CMakeLists.txt. Doesn't build yet.
This commit is contained in:
		
							parent
							
								
									a720e0ec21
								
							
						
					
					
						commit
						5dfb3c781b
					
				| @ -595,6 +595,21 @@ set (wsjt_FSRCS | |||||||
|   lib/wqencode.f90 |   lib/wqencode.f90 | ||||||
|   lib/wspr_downsample.f90 |   lib/wspr_downsample.f90 | ||||||
|   lib/zplot9.f90 |   lib/zplot9.f90 | ||||||
|  |   lib/fst280/bpdecode280_101.f90 | ||||||
|  |   lib/fst280/bpdecode280_74.f90 | ||||||
|  |   lib/fst280/decode280_101.f90 | ||||||
|  |   lib/fst280/decode280_74.f90 | ||||||
|  |   lib/fst280/encode280_101.f90 | ||||||
|  |   lib/fst280/encode280_74.f90 | ||||||
|  |   lib/fst280/fst280d.f90 | ||||||
|  |   lib/fst280/fst280sim.f90 | ||||||
|  |   lib/fst280/genfst280_wave.f90 | ||||||
|  |   lib/fst280/genfst280.f90 | ||||||
|  |   lib/fst280/get_ft280_bitmetrics.f90 | ||||||
|  |   lib/fst280/ldpcsim280_101.f90 | ||||||
|  |   lib/fst280/ldpcsim280_74.f90 | ||||||
|  |   lib/fst280/osd280_101.f90 | ||||||
|  |   lib/fst280/osd280_74.f90 | ||||||
|   ) |   ) | ||||||
| 
 | 
 | ||||||
| # temporary workaround for a gfortran v7.3 ICE on Fedora 27 64-bit | # temporary workaround for a gfortran v7.3 ICE on Fedora 27 64-bit | ||||||
| @ -1351,6 +1366,18 @@ target_link_libraries (ft4sim_mult wsjt_fort wsjt_cxx) | |||||||
| add_executable (record_time_signal Audio/tools/record_time_signal.cpp) | add_executable (record_time_signal Audio/tools/record_time_signal.cpp) | ||||||
| target_link_libraries (record_time_signal wsjt_cxx wsjt_qtmm wsjt_qt) | target_link_libraries (record_time_signal wsjt_cxx wsjt_qtmm wsjt_qt) | ||||||
| 
 | 
 | ||||||
|  | add_executable (fst280d lib/fst280/fst280d.f90 wsjtx.rc) | ||||||
|  | target_link_libraries (fst280d wsjt_fort wsjt_cxx) | ||||||
|  | 
 | ||||||
|  | add_executable (fst280sim lib/fst280/fst280sim.f90 wsjtx.rc) | ||||||
|  | target_link_libraries (fst280sim wsjt_fort wsjt_cxx) | ||||||
|  | 
 | ||||||
|  | add_executable (ldpcsim280_101 lib/fst280/ldpcsim280_101.f90 wsjtx.rc) | ||||||
|  | target_link_libraries (ldpcsim280_101 wsjt_fort wsjt_cxx) | ||||||
|  | 
 | ||||||
|  | add_executable (ldpcsim280_74 lib/fst280/ldpcsim280_74.f90 wsjtx.rc) | ||||||
|  | target_link_libraries (ldpcsim280_74 wsjt_fort wsjt_cxx) | ||||||
|  | 
 | ||||||
| endif(WSJT_BUILD_UTILS) | endif(WSJT_BUILD_UTILS) | ||||||
| 
 | 
 | ||||||
| # build the main application | # build the main application | ||||||
|  | |||||||
							
								
								
									
										72
									
								
								lib/fst280/gen_fst280wave.f90
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								lib/fst280/gen_fst280wave.f90
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,72 @@ | |||||||
|  | subroutine gen_fst280wave(itone,nsym,nsps,nwave,fsample,hmod,f0,icmplx,cwave,wave) | ||||||
|  | 
 | ||||||
|  |   real wave(nwave) | ||||||
|  |   complex cwave(nwave) | ||||||
|  |   real, allocatable, save :: pulse(:) | ||||||
|  |   real, allocatable :: dphi(:) | ||||||
|  |   integer itone(nsym) | ||||||
|  |   logical first | ||||||
|  |   data first/.true./ | ||||||
|  |   save first,twopi,dt,tsym | ||||||
|  | 
 | ||||||
|  |   if(first) then | ||||||
|  |      allocate( pulse(3*nsps*fsample) ) | ||||||
|  |      twopi=8.0*atan(1.0) | ||||||
|  |      dt=1.0/fsample | ||||||
|  |      tsym=nsps/fsample | ||||||
|  | ! Compute the smoothed frequency-deviation pulse | ||||||
|  |      do i=1,3*nsps | ||||||
|  |         tt=(i-1.5*nsps)/real(nsps) | ||||||
|  |         pulse(i)=gfsk_pulse(2.0,tt) | ||||||
|  |      enddo | ||||||
|  |      first=.false. | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  | ! Compute the smoothed frequency waveform. | ||||||
|  | ! Length = (nsym+2)*nsps samples, zero-padded | ||||||
|  |   allocate( dphi(0:(nsym+2)*nsps-1) ) | ||||||
|  |   dphi_peak=twopi*hmod/real(nsps) | ||||||
|  |   dphi=0.0  | ||||||
|  |   do j=1,nsym         | ||||||
|  |      ib=(j-1)*nsps | ||||||
|  |      ie=ib+3*nsps-1 | ||||||
|  |      dphi(ib:ie) = dphi(ib:ie) + dphi_peak*pulse(1:3*nsps)*itone(j) | ||||||
|  |   enddo | ||||||
|  | 
 | ||||||
|  | ! Calculate and insert the audio waveform | ||||||
|  |   phi=0.0 | ||||||
|  |   dphi = dphi + twopi*(f0-1.5*hmod/tsym)*dt                          !Shift frequency up by f0 | ||||||
|  |   wave=0. | ||||||
|  |   if(icmplx.eq.1) cwave=0. | ||||||
|  |   k=0 | ||||||
|  |   do j=0,(nsym+2)*nsps-1 | ||||||
|  |      k=k+1 | ||||||
|  |      if(icmplx.eq.0) then | ||||||
|  |         wave(k)=sin(phi) | ||||||
|  |      else | ||||||
|  |         cwave(k)=cmplx(cos(phi),sin(phi)) | ||||||
|  |      endif | ||||||
|  |      phi=mod(phi+dphi(j),twopi) | ||||||
|  |   enddo | ||||||
|  | 
 | ||||||
|  | ! Compute the ramp-up and ramp-down symbols | ||||||
|  |   if(icmplx.eq.0) then | ||||||
|  |      wave(1:nsps/2)=0.0 | ||||||
|  |      wave(nsps/2+1:nsps)=wave(nsps/2+1:nsps) *                                & | ||||||
|  |           (1.0-cos(twopi*(/(i,i=0,nsps/2-1)/)/real(nsps)))/2.0 | ||||||
|  |      k1=(nsym+1)*nsps+1 | ||||||
|  |      wave(k1+nsps/2:)=0.0 | ||||||
|  |      wave(k1:k1+nsps/2-1)=wave(k1:k1+nsps/2-1) *                              & | ||||||
|  |           (1.0+cos(twopi*(/(i,i=0,nsps/2-1)/)/real(nsps)))/2.0 | ||||||
|  |   else | ||||||
|  |      cwave(1:nsps/2)=0.0 | ||||||
|  |      cwave(nsps/2+1:nsps)=cwave(nsps/2+1:nsps) *                               & | ||||||
|  |           (1.0-cos(twopi*(/(i,i=0,nsps/2-1)/)/real(nsps)))/2.0 | ||||||
|  |      k1=(nsym+1)*nsps+1 | ||||||
|  |      cwave(k1+nsps/2:)=0.0 | ||||||
|  |      cwave(k1:k1+nsps/2-1)=cwave(k1:k1+nsps/2-1) *                              & | ||||||
|  |           (1.0+cos(twopi*(/(i,i=0,nsps/2-1)/)/real(nsps)))/2.0 | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   return | ||||||
|  | end subroutine gen_fst280wave | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user