คุณจะถ่ายโอนข้อมูลผ่านสายสัญญาณเสียงได้อย่างไร


17

ฉันต้องการส่งผ่านข้อมูลบางอย่างผ่านสายสัญญาณเสียง (เช่นจากการ์ดเสียงไปยังโทรศัพท์มือถือของฉัน) ด้วยสายเคเบิลสั้น ๆ

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

ไอเดีย? ;)

(PS - แนวคิดปัจจุบันของฉันใช้รหัสเครื่องหมาย Biphase มีประโยชน์กับสิ่งนี้หรือไม่)

ขอบคุณ



3
ฉันแค่โดนไล่ออกจากคำถามนี้ - มันทำให้ฉันรู้สึกแก่ ย้อนกลับไปเมื่อฉันเป็นเด็กคอมพิวเตอร์มาพร้อมกับเทปคาสเซ็ตไดรฟ์เพื่อเก็บข้อมูลในรูปแบบเสียง ดังนั้นใช่มันเป็นไปได้ในการถ่ายโอนข้อมูลผ่านสายสัญญาณเสียงและในความเป็นจริงมันเป็นหนึ่งในวิธีแรกที่จะทำเช่นนั้น :)
AngryEE

คำตอบ:


12

นี่คือตัวอย่างโครงการที่ใช้ FSK: http://sree.cc/electronics/arduino-as-an-fsk-modem

โมเด็ม FSK จะแปลงสัญญาณดิจิตอลเป็นสัญญาณอะนาล็อกหรือสัญญาณเสียงโดยใช้เทคนิคการเปลี่ยนคีย์ความถี่ ที่นี่เราสามารถทำให้ Arduino ของเราเป็นโมเด็ม FSK โดยการอัปโหลดรหัสง่าย ๆ โครงการนี้ผลิตและเล่นเสียงที่สอดคล้องกับสัญญาณดิจิตอลและ demodulate สัญญาณเสียงเป็นสัญญาณดิจิตอลที่สอดคล้องกัน


2
คุณช่วยให้บริบทเพิ่มเติมอีกหรือไม่ ลิงก์เหล่านี้ด้วยตัวของมันเองไม่ควรเป็นคำตอบที่สมบูรณ์ ในความเป็นจริงลิงค์ที่สองของคุณไม่ทำงานอีกต่อไป
Kellenjb

11

พิจารณาใช้ Baudot (สเปค EIA / TIA-825) มันเป็นโปรโตคอลที่ใช้สำหรับ TDD ซึ่งเป็นเทคโนโลยีโมเด็มสำหรับผู้ใช้ที่หูหนวก มันส่งที่ 45.5 บิตต่อวินาทีและจัดการได้ดีกับสภาพแวดล้อมการเชื่อมต่อเสียงที่ไม่ดี

ฉันเคยเห็นมันนำมาใช้กับซอฟต์แวร์การวิเคราะห์ความถี่อย่างง่าย (การสุ่มตัวอย่าง / การกรองหน้าต่างที่ความถี่หลัก) ฉันรู้ว่าโครงการ Astrix ใช้งานได้ดังนั้นอาจมีรหัสตรวจสอบหากคุณไม่กังวลเกี่ยวกับสิทธิ์ใช้งาน


ขอบคุณสำหรับความคิดที่ดี คุณรู้อะไรง่ายกว่านี้ไหม? ฉันจำเป็นต้องถ่ายโอนข้อมูลประมาณ 4-8 บิตในแต่ละครั้งโดยมีการหยุดระหว่างที่เป็นไปได้บางอย่าง (ระเบิดข้อมูล)
โรมัน

2
@roman - สำหรับข้อมูลจำนวนนั้นฉันจะเลือกสองเสียงที่แตกต่างเพื่อเล่นและใช้ตัวกรองรอยที่แต่ละความถี่และทดสอบระดับพลังงาน คุณสามารถใช้ความถี่อื่นสองความถี่ที่สลับไปมาและใช้เป็นนาฬิกา การค้นหาอย่างรวดเร็วควรให้ตัวกรองรอยในเกือบทุกภาษาที่คุณต้องการ
Jim Rush

5

มีเหตุผลใดที่ไม่ควรใช้โมเด็มที่มีอยู่แล้วในโทรศัพท์มือถือของคุณ?

มิฉะนั้นฉันจะแนะนำให้คุณดูที่มาตรฐานโมเด็มความเร็วต่ำที่ใช้สำหรับ POTS (บริการ / ระบบโทรศัพท์ธรรมดา) ในช่วงปี 1980 และ 90 ฉันสงสัยจาก Bell 103, 212 (300, 1200bps) ถึง V.32 (9600bps) ควรจะใช้งานได้โดยใช้ส่วนเสียงซึ่งฉันเชื่อว่าเหมือนกันกับ (US) Bell มาตรฐานดินแดนสายโทรศัพท์ 300 ถึง ~ 3000 Hz ( แก้ไข ) การตอบสนองความถี่บวก / ลบปัญหาตัวแปลงสัญญาณเสียงดิจิทัลไร้สาย

300 bps ผ่านการกดปุ่ม Shift ความถี่เสียงแบบสองโทน (AFSK), V.21นั้นค่อนข้างง่ายที่จะนำไปใช้ในซอฟต์แวร์หรือฮาร์ดแวร์ มิฉะนั้นโมเด็ม IC เช่น Silicon Labs SI2401หรือ CML Microcircuits FX / MX614หรือCMX869B (มีอีกหลายคน)


ฉันเคยใช้ 300bps AFSK กับวิทยุ FRS หนึ่งคู่มาก่อน ใช้งานได้ดี!
แบรด

2

หากคุณมีข้อมูลจำนวนน้อยมาก (<= 4 บิต) คุณสามารถใช้ DTMF ง่ายต่อการเข้ารหัสและถอดรหัสได้ง่ายขึ้น ใช้งานได้ดีในสภาพแวดล้อมที่มีเสียงดัง


ฮาร์ดแวร์มีอยู่เพื่อถอดรหัส DTMF แต่โดยทั่วไปฉันจะไม่พูดว่า "ง่าย" ในการถอดรหัส การเข้ารหัสไม่ได้ยากเกินไป แต่ไม่ใช่สิ่งที่ง่ายที่สุดในโลก การถอดรหัสนั้นค่อนข้างยากหากไม่มีฮาร์ดแวร์เฉพาะ
supercat

1
เนื่องจาก OP กำลังมองหาอัลกอริทึมที่จะใช้บนโทรศัพท์ของเขาจึงไม่จำเป็นต้องใช้ฮาร์ดแวร์พิเศษ โทรศัพท์มีกำลังการประมวลผลเพียงพอที่จะถอดรหัส DTMF เป็นค่า
Jerry Penner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.