Join/Login

Business Software

Open Source Software

For Vendors

Blog

About

More

Articles

Create

SourceForge Podcast

Site Documentation

Subscribe to our Newsletter

Support Request

For Vendors Help Create Join Login

Business Software

Open Source Software

SourceForge Podcast

Resources

Articles

Case Studies

Blog

Menu

Help

Create

Join

Login

Home

Browse

WSJT

WSPR

WSJT WSPR

Weak signal ham radio communication

Brought to you by: bsomervi, chetfenn, dg2ycb, k1jt

Summary

Files

Reviews

Support

Mailing Lists

Git ▾

WSJT-X

WSPR

WSPR-X

WSJT

Echo

FMT

MAP65

MAP65IQ

WSJT-X Superbuild

More...

Old SVN

Menu ▾ ▴

Browse Commits

Fork

Merge Requests 0

Forks 1

Branches

master

Tags

wspr212

[40a5ff]: / wspr0.f90  Maximize  Restore  History

Download this file

96 lines (90 with data), 3.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

program wspr0

!  use dfport

  character*40 infile,outfile

  character*12 arg

  integer nt(9)

  real*8 f0,tsec

  character*11 utcdate

  character*3 month(12)

  data month/'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'/

  nargs=iargc()

10 if(nargs.eq.0) then

     print*,' '

     print*,'WSPR0 Version 0.3 r90'

     print*,' '

     print*,'Usage: wspr0 Tx  f0 ftx nport call grid dBm [snr] [outfile | nfiles]'

     print*,'       wspr0 T/R f0 ftx nport call grid dBm pctx'

     print*,'       wspr0 Rx  f0 [infile ...]'

     print*,' '

     print*,'       f0 is the transceiver dial frequency (MHz)'

     print*,'       ftx is the signal frequency (MHz)'

     print*,'       nport is the COM port number for PTT control'

     print*,'       snr is the S/N in 2500 Hz bandwidth (for test files)'

     print*,'       pctx is the percentage of 2-minute periods to Tx'

     print*,' '

     print*,'Examples:'

     print*,'       wspr0 Tx  10.1386 10.140100 1 K1JT FN20 30'

     print*,'       wspr0 Tx  10.1386 10.140100 0 K1JT FN20 30 -22 test.wav'

     print*,'       wspr0 T/R 10.1386 10.140100 0 K1JT FN20 30 25'

     print*,'       wspr0 Rx  10.1386'

     print*,'       wspr0 Rx  10.1386 00001.wav 00002.wav 00003.wav'

     print*,' '

     print*,'For more information see:'

     print*,'       physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT'

     go to 999

  endif

  ntr=0

  nsec0=999999

  call getarg(1,arg)

  if(arg(1:2).eq.'TX'.or. arg(1:2).eq.'Tx' .or. arg(1:2).eq.'tx') then

! Transmit only

     if(nargs.lt.7) then

        nargs=0

        go to 10

     endif

     call wspr0_tx(nargs,ntr)

  else if(arg(1:2).eq.'RX'.or. arg(1:2).eq.'Rx' .or. arg(1:2).eq.'rx') then

! Receive only

     call wspr0_rx(nargs,ntr)

  else if(arg(1:3).eq.'T/R'.or. arg(1:3).eq.'t/r') then

! Transmit and receive, choosing sequences randomly

     if(nargs.ne.8) then

        nargs=0

        go to 10

     endif

     call random_seed

     ntr=1

     call getarg(2,arg)

     read(arg,*) f0

     call getarg(8,arg)

     read(arg,*) pctx

     pctx=min(max(pctx,0.0),100.0)

20   nsec=time()

     call gmtime2(nt,tsec)

     nsec=tsec

     write(utcdate,1001) nt(4),month(nt(5)),nt(6)

1001 format(i2,'-',a3,'-',i4)

     nsec=mod(nsec,86400)

     if(nsec.lt.nsec0) then

        write(*,1028) utcdate,f0+1400.d-6,f0+1600.d-6

        write(13,1028) utcdate,f0+1400.d-6,f0+1600.d-6

1028    format(/' UTC Date: ',a11,'    Search range:',f11.6,' to',f11.6,' MHz'// &

             ' UTC Sync dB    DT     Freq    Message                  Noise'/    &

             '-------------------------------------------------------------')

     endif

     nsec0=nsec

     call random_number(x)

     if(pctx.eq.49.5) print*,pctx,100.0*x

     if(100.0*x.lt.pctx) then

        call wspr0_tx(nargs,ntr)

     else

        call wspr0_rx(nargs,ntr)

     endif

     call pa_sleep(100)

     go to 20

  else

! Illegal set of command parameters

     nargs=0

     go to 10

endif

999 end program wspr0

SourceForge

Create a Project

Open Source Software

Business Software

Top Downloaded Projects

Company

About

Team

SourceForge Headquarters
225 Broadway Suite 1600
San Diego, CA 92101
+1 (858) 422-6466

Resources

Support

Site Documentation

Site Status

SourceForge Reviews

© 2025 Slashdot Media. All Rights Reserved.

Terms Privacy Opt Out Advertise

×
Want the latest updates on software, tech news, and AI?

Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.

Submit