Friday, September 25, 2020

RFzero - WSPR Transmitter

บทความนี้แปลจาก https://www.rfzero.net/examples/wspr-transmitter/

หมายเหตุ โปรแกรมนี้จะทำงานได้จะต้องมีสัญญาณ GPS เท่านั้น เนื่องจาก WSPR จะต้องใช้เวลาที่แม่นยำในการส่งและรับ

โปรแกรม WSPR Transmitter ทำให้ RFzero สามารถส่งได้ตั้งแต่ความถี่ 2290 Hz จนถึง 200 MHz และอาจสูงกว่านั้นได้ (ต้องใช้ Harmonic)

การส่งถูกแบ่งออกเป็น 2 แบบลำดับการส่ง (Sequence) แต่ละรูแบบแบ่งเป็น 15 Time slot ซึ่งใช้ซ้ำ 2 รอบในรอบ 1 ชั่วโมง (แต่ละ Slot ส่งเป็นเวลา 2 นาที) ลำดับการส่งสามรถกำหนดได้ว่าจะตามลำดับไล่ไปเรื่อยๆ หรือจะใช้การสุ่มแบบ Random อีกทั้งสามารถเลือกส่งในเวลากลางวันและกลางคืนได้ ซึ่งจะอธิบายละเอียดอีกครั้งในการใช้ชุดคำสั่ง

สามารถกำหนดความถี่ได้ 15 ความถี่ กำลังส่ง และ control bit ซึ่งสามารถกำหนดได้อิสระ (กำหนดเองหรือกำหนดแบบอัตโนมัติ) การนำ control bit ไปใช้งาน สามรารถใช้เลือกใช้งาน filter  เลือกสายอากาศ สั่งงาน Relay สั่งงาน Tuner ซึ่ง control bit ทำงานด้วย IC ULN2803A ที่ขา D6 ถึง D0 และ Analog ที่ A0

สามารถใช้งาน WSPR ได้ทั้ง Type 1 (Call sign, square และกำลังส่ง) เช่น OZ0RF JO65 12 หรือ Type 2 (compound call sign, กำลังส่ง) เช่น OY/OZ0RF IP62

กำ config สามารถทำผ่าน port USB และ grid square สามารถกำหนดได้จาก GPS แบบอัตโนมัติหรือกำหนดเอง

ในขณะส่ง LED TX จะกระพริบ และเมื่อมีสัญญาณ GPS LED PPS จะกริบ 1 ครั้งทุก 1 วินาที และเมื่อสัญญาณ GPS สมบูรณ์ LED Valid จะติดค้าง


การ Config

การ Config ทำผ่าน port USB โดยโปรแกรม terminal เช่น Arduino IDE Serial Monito, Termite Terminal (Windows), CuteCom (Linux) หรือ Terminal (Mac OS) กำหนดค่าดังนี้

Speed: 9600 Baud

Data: 8 bits

Parity: No

Stop bit: 1

เชื่อมต่อ RFzero ผ่านสาย USB-B เข้ากับคอมพิวเตอร์ และเชื่อมต่อด้วยโปรแกรม terminal ด้วย COM port ซึ่ง RFzero จะแสดงขี้นชื่อว่า Arduino Zero เมื่อต่อแล้วหากไม่เห็น RFzero> หรือ RFzero config> ให้ลองกด enter เมื่อต่อการสั่งงานให้พิมพ์คำส่ง (command) หลังเครื่องหมาย > ได้เลย

***** คำสั่งต้องพิมพ์ด้วยตัวอักษรพิมพ์เล็กเท่านั้น *****

ถ้าขึ้น RFzero> หมายถึงอยู่ใน run mode คือ rfzero เริ่มทำงาน

ถ้าขึ้น RFzero config> หมายถึงอยู่ใน config mode


ถ้าต้องการเข้าสู่ config mode ให้พิมพ์คำสั่ง config ที่ RFzero> ตัวอย่าง

RFzero>config


ต้องการดูคำสั่งที่สามารถใช้ได้ทั้งหมดให้พิมพ์ ? ที่ RFzero config> ตัวอย่าง

RFzero config>?


หากต้องการออกจาก config mode ให้พิมพ์ exit ที่ RFzero config> ตัวอย่าง

RFzero config>exit


เมื่ออยู่ใน config mode ต่อไปนี้คือคำสั่งที่ใช้งาน


rd cfg

แสดง config ทั้งหมดที่จะถูกใช้หลังจากออกจาก config mode (กลับไป run mode)


wr default

เป็นการกำหนดค่า parameter ต่างๆ ให้กลับไปสู่ค่า default ซึ่งในแต่ละโปรแกรมของ RFzero จะมีค่า default แตกต่างกันไป


wr warmup SECONDS

SECONDS เป็นตัวเลขวินาทีที่ RFzero จะคอยหลังจากจ่ายไฟ เพื่อเป็นการ warmup


wr bcn CALL

CALL คือสัญญาณเรียกขานที่ใช้สำหรับส่งใน WSPR ใน WSPR Type 1 สามารถยาวได้ไม่เกิน 6 ตัวอักษร และจะต้องมีตัวเลขผสมอยู่ด้วย และ WSPR Type 2 จะยาวได้ไม่เกิน 10 ตัวอักษร และต้องมีตัวเลขผสมอยู่ด้วย ซึ่งปกติเราจะใช้ Type 1


wr loc LOCATOR

LOCATOR คำ grid locator ยาวไม่เกิน 8 ตัวอักษร แต่สำหรับ WSPR ใช้เพียง 4 ตัวอักษรเท่านั้นในการส่งด้วย WSPR Type 1


wr locator

เป็นการกำหนดให้ใช้ grid locator จากข้อมูลที่ได้จาก GPS มาคำนวนให้โดยอัตโนมัติ


wr locauto ONOFF

เลือกว่าจะกำหนด grid locator แบบอัตโนมัติจากข้อมูล GPS หรือจากทีกำหนดเอง

ONOFF = 0 คือกำหนดเอง

ONOFF = 1 คือแบบอัตโนมัติจากข้อมูล GPS


wr data INDEX FREQ CONTROL POWER

สำหรับใส่ข้อมูลลงในตารางกำหนดข้อมูลที่ใช้ส่ง ประกอบด้วย ความถี่ กำลังส่ง และค่า control bit

INDEX หมายถึงตำแหน่งของข้อมูลในตาราง ค่า 0 ถึง 14

FREQ หมายถึงความถี่ในหน่วย Hz ตั้งแต่ 2290 Hz ขึ้นไป ความถี่ไม่จำเป็นต้องไล่เรียงลำดับ และความถี่เดียวกับสามารถกำหนดได้มากกว่า 1 ครั้ง

CONTROL เป็นการกำหนดรูปแบบ bit pattern สำหรับควบคุมขา D6 ถึง D0 ใส่ค่าเป็นเลขฐาน 16 (Hex) โดยไม่ต้องใส่ 0x นำหน้า โดย 

  • D6 คือ Bit 6 
  • D5 คือ Bit 5 
  • D4 คือ Bit 4
  • D3 คือ Bit 3
  • D2 คือ Bit 2
  • D1 คือ Bit 1
  • D0 คือ Bit 0

เช่น 0101011 => 2B ซึ่ง D6/Bit 6 มีค่า 0 D5/Bit 5 มีค่า 1 ....

POWER กำหนดค่ากำลังส่ง ในรูปแบบ dBm หลังจาก ผ่านภาคขยาย รวม loss ในสายนำสัญญาณ และค่า loss อื่นๆ แล้ว ถ้าไม่มีค่าที่ตรงให้เลือกค่าที่ใกล้เคียงที่สุด ดังนี้

  • 0 dBm = 1 mW
  • 3 dBm = 2 mW
  • 7 dBm = 5 mW
  • 10 dBm = 10 mW
  • 13 dBm = 20 mW
  • 17 dBm = 50 mW
  • 20 dBm = 100 mW
  • 23 dBm = 200 mW
  • 27 dBm = 500 mW
  • 30 dBm =  1 W
  • 33 dBm =  2 W
  • 37 dBm =  5 W
  • 40 dBm =  10 W
  • 43 dBm =  20 W
  • 47 dBm =  50 W
  • 50 dBm =  100 W
  • 53 dBm =  200 W
  • 57 dBm =  500 W
  • 60 dBm =  1 kW
ตัวอย่างคำสั่งการกำหนดค่าข้อมูลที่ตำแหน่งที่ 7 ด้วยความถี่ 14 097 123 Hz (14.097.123 MHz) และ control bit เป็น 0101010 ด้วยกำลังส่ง 40dBm ใช้คำสั่งดังนี้

wr data 7 14097123 2a 40

จากตัวอย่างจะบันทึกข้อมูลในตารางข้อมูลดังภาพ










สามารถบันทึกข้อมูลในตารางด้วยความถี่เดียวกันได้มากกว่าหนึ่งครั้ง เช่น ต้องการใช้สายอากาศและกำลังส่งที่ต่างกันซึ่งสามารถเลือกด้วยการกำหนด control bit ไปควบคุมอุปกรณ์สลับสาอากาศ

ตัวอย่างตารางที่บันทึกข้อมูลความถี่และกำลังส่งเดียวกัน แต่กำหนด control bit ที่ต่างกัน




Tuesday, September 17, 2019

มาเล่น WSPR กันเถอะ

ทุกวันนี้ไม่มีกระแสอะไรจะมาแรงเกินไปกว่า FT8 และ FT4 อีกแล้ว ในสภาพ Propagation ที่ Solar Cycle อยู่ก้นเอ่งกระทะแบบนี้ บางวันที่ Sunspot เป็น 0 ติดต่อกันหลายๆ วันก็เคยมี ซึ่งกว่าจะกลับมาดีใหม่อีกครั้งก็ต้องรอไปอีก 2-3 ปีถึงจะเริ่มดีขึ้น (เขาว่ามาแบบนั้น) ช่วงนี้ Mode ที่สามารถทำให้ติดต่อกันได้แบบชิวๆ ก็ต้องเป็น FT8 ที่ทำให้ Mode อื่นๆ แทบจะไม่มีคนไปเล่นเลย เพราะไปรวมกันอยู่ที่ความถี่ FT8 กันส่วนใหญ่

บทความนี้จะไม่ได้มาว่ากันที่ Mode FT8 แต่จะมาแนะนำ Mode ที่มีมาก่อน FT8 แล้วก็เป็น Weak Signal Mode อยู่ในกลุ่ม Software ตัวเดียวกันที่นักวิทยุสมัครเล่นชาวอเมริกันชื่อ Joe Tayloy สัญญาณเรียกขาน K1JT (JT ก็มาจากชื่อเขานี่แหละ) ซึ่ง K1JT สนใจการติดต่อสื่อสารสัญญาณอ่อนมากๆ และได้สร้าง Mode JT65 ขึ้นมาสำหรับติดต่อสื่อสาร EME และก็มีการนำมาใช้งานในความถี่ HF ในเวลาต่อมา ซึ่งนอกจาก JT65 แล้วยังมี Mode อื่นๆ ที่มาพร้อมกันใน Software WSJT (Weak Signal Communication, by K1JT) ได้แก่
- FSK441 สำหรับติดต่อสะท้อนหางดาวตก
- FT4 FT8
- JT4 JT9
- QRA64
- ISCAT
- Echo (EME Echo)
และ WSPR


WSPR (Weak Signal Propagation Reporter) อ่านว่า วิสเปอร์ (Whisper) ที่แปละว่ากระซิบ ซึ่ง Mode นี้ก็กระซิบสมชื่อจริงๆ เพราะว่าหูเราฟังไม่ได้ยิน แต่โปรแกรมสามารถตรวจจับและรับสัญญาณได้

WSPR ถูกออกแบบมาให้ใช้กำลังส่งต่ำๆ ส่งสัญญาณออกไปให้สถานีปลายทางรับ การส่งจะส่งเป็นเวลา 2 นาทีต่อรอบการส่ง ซึ่งถ้าใช้เครื่องวิทยุเปิดความถี่ WSPR ใน Mode USB ฟังเสียงที่ส่งออกไปจะเป็นเสียงแหลมยาวๆ ตลอด 2 นาที หรือถ้าฟังด้วย Mode FM ก็จะเป็นเหมือน key เปล่า ถ้าไม่รู้ก็พาลคิดว่ามีคนมากดคีย์บี้เล่น แต่ไม่ใช่นะ..อันนี้ต้องบอกไว้ก่อน

เมื่อสัญญาณส่งออกไป ซึ่งจะมีข้อมูลของผู้ส่งถูกส่งออกไปด้วย

ข้อมูลที่ถูกส่งออกไปประกอบไปด้วย
- สัญญาณเรียกขานผู้ส่ง (Call sign)
- ตำแหน่งผู้ส่งเป็น Grid locator
- กำลังส่ง เป็น (dBm)

สถานีรับก็รับสัญญาณ แล้วก็จะถอดข้อมูลออกมา หน้าตาจะเป็นแบบนี้

ตัวเลขแรกจะเป็น เวลา (UTC) ที่รับสัญญาณ
ตัวเลขที่ 2 (dB) คือความแรงของสัญญาณที่รับได้ เป็น dB
ตัวเลขที่ 3 (DT) คือเวลาที่คลาดเคลื่อนระหว่างสถานีรับสถานีส่ง (DT, Delta Time) ซึ่งถ้าเวลาคลาดเคลื่อนไปมาจะไม่สามารถถอดข้อมูลได้
ตัวเลขที่ 4 (Freq) ความถี่ที่รับ ซึ่งจะมีความละเอียดมาก ถ้าความถี่คลาดเคลื่อนเกินกว่า 200 Hz ซึ่งออกไปนอก Passband 1400-1600  Hz ก็จะรับสัญญาณไม่ได้
ตัวเลขที่ 5 (Drift) บอกความถี่คลาดเคลื่อนขณะส่ง ซึ่งตัวเลขที่ถ้าเครื่องส่งมีคุณภาพไม่ได้ มี Drift มาก การส่งจะไม่นิ่ง ทำให้ถอดข้อมูลไม่ได้ ตัวเลขที่ใช้วัดคุณภาพของเครื่องได้เลยว่าผลิตความถี่นิ่งแค่ไหน
ตำแหน่งที่ 6 เป็นสัญญาณเรียกขานของสถานีที่ส่ง
ตำแหน่งที่ 7 เป็นตำแหน่ง Grid locator ของสาถนีที่ส่ง
ตัวเลขตำแหน่งที่ 8 คือกำลังส่งของสถานีส่งเป็น dB
ตัวเลขตัวสุดท้ายคือระยะทางระหว่างสถานีรับและสถานีส่ง

ถ้าจะเริ่มใช้งาน WSPR ต้องมีอะไรบ้าง
สิ่งที่จำเป็นต้องมีเลยคือเครื่องวิทยุที่สามารถใช้งาน Mode SSB ได้ และคอมพิวเตอร์
จากนั้นก็เตรียมสาย Audio Jack สำหรับเอาสัญญาณเสียงจากเครื่องวิทยุ ไปเข้า Sound Card ของคอมพิวเตอร์ จะทาง Line-in หรือ Mic ก็ได้เหมือนกันหมด อันนี้กรณีรับอย่างเดียว หากต้องการส่งด้วยต้องมี Sound Card Interface หรือถ้ามี CAT Interface สำหรับต่อกับวิทยุได้ก็สะดวกดี

เมื่อเตรียมอุปกรณ์ครบแล้ว ต่อมาก็ติดตั้ง Software WSJT-X สามารถ Download ได้ที่นี่เลย

https://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html

ติดตั้งก็ไม่ยากกด Next รัวๆ จนจบ

ติดตั้งแล้วก็ต้องมาตั้งค่าให้ถูกต้องสำหรับ Mode WSPR

File -> Settings...
Tab General
My Call: ใส่ Call sign ของเราลงไป
My Grid: ใส่ Grid locator ของเราลงไป ให้ใส่แบบ 6 หลัก

Tab Audio เลือก Sound Card Input และ Output ให้ถูกต้อง

กรณีจะส่งด้วยให้ไปที่ Tab Radio
เลือก Serial Port ของ Sound Card Interface
PTT Method ก็เลือกให้ตรง ถ้าเป็น CAT ให้เลือก CAT แล้วตั้งค่าความเร็ว Serial Port ให้ตรงตามรุ่นเครื่องที่ใช้งาน

ถ้าทำครบแล้วก็กด OK

เลือกไปที่ Mode -> WSPR

ดูที่ปุ่ม Monitor ถ้าไม่เป็นสีเขียว ให้กดเป็นสีเขียว ถ้าทุกอย่างถูกต้องโปรแกรมจะเริ่มรับสัญญาณเข้ามาโดยจะต้องปรับความถี่วิทยุไปที่ความถี่ของ WSPR ต่อไปนี้

USB dial (MHz): 0.136, 0.4742, 1.8366, 3.5686, 5.2872, 7.0386, 10.1387, 14.0956, 18.1046, 21.0946, 24.9246, 28.1246, 50.293, 70.091, 144.489, 432.300, 1296.500

ถ้าความถี่ 2m ปรับไปที่ 144.489 MHz 
เมื่อมีสัญญาณเข้ามา ลักษณะจเป็นขีดเส้นตรงยาว แบบในภาพ


ที่สำคัญคือต้องปรับความถี่ให้เส้นขีด อยู่ใน Passband ระหว่าง 1400-1600 Hz โปรแกรมจึงจะรับได้และถอดข้อมูล ถ้าเส้นไปอยู่นอก Passband นี่ก็จะรับไมไ่ด้ เราต้องปรับความถี่หน้าเครื่อง ขึ้น หรือลง เล็กน้อยให้ตรง Passsband ตรงนี้จะเป็นตัวบอกว่าความถี่หน้าจอวิทยุ กับความถี่ที่ส่งจริงๆ คลาดเคลื่อนไปมากน้อยเท่าไหร่

ท้ายสุดอย่างลืมกดเลือกที่ Upload spots เพื่อส่งไปแสดงผลการรับที่ Website ที่ http://wsprnet.org/

คิดว่าเพียงเท่านี้ก็สามารถเริ่มต้นใช้งาน Mode WSPR ได้แล้ว

73 HS2JFW