bladeRF-fsk - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

bladeRF-fsk - แอปพลิเคชันบรรทัดคำสั่ง fsk

คำอธิบาย

โครงการ bladeRF-fsk เป็นโมเด็มซอฟต์แวร์ที่ใช้การเลื่อนความถี่ (FSK) อย่างง่ายซึ่งติดตั้งบนฝั่งโฮสต์พีซีทั้งหมดในรหัส C โครงการใช้ libbladeRF เพื่อส่ง/รับตัวอย่างด้วยอุปกรณ์ bladeRF ไม่จำเป็นต้องใช้พอร์ต USB 3.0 เมื่อใช้โมเด็มนี้ โครงการยังมีการจำลอง MATLAB/อ็อกเทฟ/การใช้งานส่วนฟิสิคัลเลเยอร์ (PHY) ของโมเด็ม

โปรแกรม bladeRF-fsk C ระดับบนสุดสาธิตการทำงานของโมเด็มในโปรแกรมการถ่ายโอนข้อมูล bladeRF-to-bladeRF อย่างง่าย โปรแกรมนี้สามารถส่ง/รับทั้งข้อความ (เช่น โปรแกรมแชท) และไฟล์ไบนารี (เช่น โปรแกรมถ่ายโอนไฟล์) ด้วยอัตราลิงก์ดิบที่ 250 kbps ในการสาธิตโปรแกรมอย่างถูกต้อง ต้องรันโปรแกรมสองอินสแตนซ์ด้วยอุปกรณ์ bladeRF สองตัวแยกกัน (ไม่รองรับการวนกลับ)

โมเด็มมอดูเลตด้วยคีย์การเลื่อนความถี่เฟสต่อเนื่อง (CPFSK) ตัวอย่าง Baseband I/Q CPFSK จะถูกส่งไปยังอุปกรณ์ bladeRF ซึ่งภายในจะแปลงจากดิจิตอลเป็นอะนาล็อก ผสมกับพาหะ RF พื้นที่สี่เหลี่ยมจัตุรัส และส่งผ่านอากาศ สัญญาณที่ได้รับผสมกับพาหะ RF พื้นที่สี่เหลี่ยมเพื่อแปลงเป็นเบสแบนด์ I/Q สุ่มตัวอย่างด้วย ADC และส่งไปยังโปรแกรมพีซีโฮสต์ผ่านการเชื่อมต่อ USB

โค้ดเลเยอร์ทางกายภาพมีตัวกรองสัญญาณความถี่ต่ำ FIR, การทำให้เป็นปกติของพลังงาน, ความสัมพันธ์ของพรีมเบิลสำหรับการตรวจจับสัญญาณ, การมอดูเลต/การดีโมดูเลชัน CPFSK และการเข้ารหัสสัญญาณรบกวน โค้ดเลเยอร์ลิงก์มีการกำหนดเฟรม การตรวจจับข้อผิดพลาดผ่านการตรวจสอบ CRC32 และการรับประกันการส่งมอบเฟรมผ่านการตอบรับและการส่งต่อซ้ำ

โครงการนี้จัดทำขึ้นเพื่อเป็นตัวอย่างทดลองและไม่ควรถือเป็นโมเด็มที่เคร่งครัด

ตัวอย่าง

ในการรันโปรแกรม bladeRF-fsk ระดับบนสุดด้วยค่าดีฟอลต์ ให้พิมพ์ลงในเทอร์มินัล:

bladeRF-fsk

หากต้องการดูรายการตัวเลือกการกำหนดค่าและวิธีตั้งค่า ให้พิมพ์:

bladeRF-fsk -h

_NOTE_: ใน Windows 10 หากคุณใช้งานโปรแกรมสองอินสแตนซ์บนพีซีเครื่องเดียวกัน คุณต้องระบุหมายเลขซีเรียล bladeRF ด้วยตัวเลือก '-d' เนื่องจาก [ปัญหา #484](https://github.com /Nuand/bladeRF/issues/484). ตัวอย่าง:

bladeRF-fsk -d *:serial=4e

ตามค่าเริ่มต้น โปรแกรมจะใช้อุปกรณ์ bladeRF เครื่องแรกที่มีอยู่ รับอินพุต TX จาก stdin เขียนเอาต์พุต RX ไปยัง stdout และใช้ชุดความถี่และอัตราขยายเริ่มต้นของการส่ง/รับ กำไรอาจต้องปรับแต่งเพื่อการเชื่อมต่อที่ดีกับ bladeRF อื่นที่รัน bladeRF-fsk ในการถ่ายโอนไฟล์ ให้ใช้ตัวเลือก '-i' และ '-o' หากใช้ stdin สำหรับข้อมูล tx โปรแกรมจะส่งข้อมูลทีละบรรทัด

โปรแกรมทำงานจนกว่าจะได้รับ EOF ในอินพุต TX

### ตัวอย่าง: การถ่ายโอนไฟล์ ### 1) ตรวจสอบให้แน่ใจว่าเสียบอุปกรณ์ bladeRF สองเครื่องเข้ากับพีซีของคุณ (หรือพีซีแยกกันสองเครื่อง) โดยต่อเสาอากาศ TX และ RX

2) เรียกใช้ bladeRF-fsk บนอุปกรณ์ตัวใดตัวหนึ่ง (ตัวรับ) โดยระบุไฟล์เอาต์พุต RX:

bladeRF-fsk -r 904M -t 924M -o rx.jpg

3) เรียกใช้ bladeRF-fsk บนอุปกรณ์อื่น (ผู้ส่ง) ด้วยความถี่ตรงข้ามและระบุไฟล์ TX อินพุต:

bladeRF-fsk -r 924M -t 904M -i puppy.jpg

4) ไฟล์จะเริ่มถ่ายโอน และความคืบหน้าจะถูกพิมพ์ในเทอร์มินัลสำหรับอุปกรณ์ส่ง

5) เมื่อการส่งเสร็จสิ้น ให้กด [CTRL-D] บน Linux/OSX หรือ [CTRL-Z แล้ว ENTER] บน Windows เพื่อหยุดโปรแกรมเมื่อสิ้นสุดการรับ

หากอุปกรณ์ที่ส่งไม่ได้รับการตอบสนองใด ๆ จากอุปกรณ์ที่รับ ก็จะออกจากโปรแกรม ลองเพิ่มอัตราขยายและเรียกใช้อีกครั้ง

ทราบข้อจำกัด

1) ขณะนี้โปรแกรมไม่รองรับการใช้ XB-200 transverter expansion board เพื่อส่ง/รับที่ความถี่ต่ำกว่า 300MHz ในการเพิ่มการรองรับ XB-200 จำเป็นต้องเพิ่มตัวเลือกการกำหนดค่าใหม่รวมถึงฟังก์ชันจากส่วน "บอร์ดขยาย" ของ libbladeRF API ลงในซอร์สโค้ด

2) ขณะนี้โปรแกรมไม่สามารถทำการถ่ายโอนไฟล์สองไฟล์ในทั้งสองทิศทางพร้อมกันได้ เหตุผล #1: โปรแกรมทำงานจนกว่าจะได้รับ EOF ในอินพุต TX ซึ่งหมายความว่าด้านใดก็ตามที่ส่งไฟล์เสร็จก่อนจะหยุดทำงานและหยุดรับ จำเป็นต้องเพิ่มบิต EOF ในรูปแบบแพ็กเก็ตเลเยอร์ลิงก์เพื่อหยุดพฤติกรรมนี้ เหตุผล #2: ดูเหมือนว่าโปรแกรมจะทำงานได้ไม่ดีในระหว่างการถ่ายโอนไฟล์พร้อมกันเหล่านี้ และมักจะสูญเสียการเชื่อมต่อ จำเป็นต้องมีการตรวจสอบเพิ่มเติมเพื่อแก้ปัญหานี้

ดูสิ่งนี้ด้วย

bladeRF-cli(1)