วิธีที่ดีที่สุดในการส่งสัญญาณในความถี่ต่ำมาก (250Hz)?


8

ฉันเป็นโปรแกรมเมอร์หันหน้าไปทางคำถามอิเล็กทรอนิกส์ดังนั้นฉันคิดว่าที่นี่เป็นสถานที่ที่จะถาม!

  • ฉันมีเซ็นเซอร์สนามแม่เหล็กซึ่งให้ค่าสนามแม่เหล็ก (แกน XYZ) 250 ครั้งต่อวินาที
  • วงจรอิเล็กทรอนิกส์ที่มีไมโครโปรเซสเซอร์ที่ตั้งโปรแกรมได้ควบคุมขดลวดซึ่งสามารถเปลี่ยนสนามแม่เหล็กใกล้กับเซ็นเซอร์นี้ แต่อุปกรณ์ทั้งสองนั้นไม่ได้อยู่ในตำแหน่งที่เข้มงวดดังนั้นฉันจึงไม่สามารถถ่ายทอดการวัดตำแหน่งได้
  • ฉันต้องการส่งสัญญาณที่แตกต่างกัน 2 ประเภทจากวงจรไปยังเซ็นเซอร์ซึ่งสามารถทนต่อเสียงรบกวนที่รุนแรงในสนามแม่เหล็กและจะสั้นกว่าครึ่งวินาที (ใช่วินาที - เราอยู่ใน 250 Hz!)

วิธีแก้ปัญหาในปัจจุบันคือการส่งคลื่นสี่เหลี่ยม 17Hz จากนั้น 12Hz จากนั้นเป็น 17Hz สำหรับสัญญาณ A การกลับคำสั่งสำหรับสัญญาณ B แต่เพื่อตรวจจับสัญญาณเหล่านี้จำเป็นต้องส่งคลื่นที่ยาวพอซึ่งทำให้สัญญาณมีความยาวประมาณ 1.5 วินาที

ดังนั้นคำถามของฉันที่นี่คือ: มีวิธีสมมติว่ารูปแบบเช่นรูปแบบดนตรีที่สามารถใช้ในการส่งสัญญาณได้เร็วขึ้นและยังมีความน่าเชื่อถือ?

คำตอบ:


7

ด้วยอัตราตัวอย่าง 250 Hz คุณสามารถส่งได้ 100 บิต / วินาทีหรือมากกว่า ใน 0.5 วินาทีนั่นจะเป็น 50-60 บิต

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

สามารถใช้เทคนิค DSP ที่เรียกว่า " ตัวกรองที่จับคู่ " เพื่อตรวจจับรหัสได้


ฟังดูน่าสนใจ! แต่ฉันกำลังหลงทางว่า "ตัวกรองที่จับคู่" ที่ซับซ้อนในการคำนวณอาจเป็นอย่างไร มันจะต้องใช้การคำนวณ FFT / อื่น ๆ จำนวนมากหรือไม่
rubmz

ฉันตรวจสอบการใช้งาน c ++ สำหรับตัวกรองที่จับคู่แล้วและดูเหมือนว่าจะต้องใช้การคำนวณจำนวนมากเพื่อตรวจจับสัญญาณ ดังนั้นมันอาจจะไม่เป็นประโยชน์สำหรับฉันเพราะรหัสด้านเซ็นเซอร์ของฉันจะทำงานในสภาพแวดล้อม RT ดังนั้นจึงมีตัวกรองอื่น ๆ ที่อาจอนุญาตให้ฉันส่งสัญญาณ 2 ประเภทภายในเวลาน้อยกว่า 0.5 วินาทีโดยไม่มีการคำนวณมากเกินไป ?
rubmz

2
ไม่จำเป็นต้องมีการแปลงฟูริเยร์ แต่ต้องการตัวกรองฟิลเตอร์ FIR (การตอบสนองต่อแรงกระตุ้น จำกัด ) ในแต่ละช่องสัญญาณสามช่อง ตัวอย่างที่เข้ามา (128 คูณและเพิ่ม 128, 250 ครั้งต่อวินาทีรวมเป็น ~ 33k คูณเพิ่มการดำเนินการต่อวินาทีต่อตัวกรองหรือรวมประมาณ 100k MAC / s วินาที) แม้แต่ชิป DSP ที่ต่ำมากเช่น Microchip dsPIC สามารถจัดการการคำนวณแบบเรียลไทม์ได้อย่างง่ายดาย
Dave Tweed

2
เพื่อให้ชัดเจนคุณจะต้องเรียกใช้การคำนวณแยกต่างหากสำหรับรหัสที่แตกต่างกันที่คุณต้องการตรวจจับ ตัวอย่างเช่นหากคุณมี 10 รหัสที่แตกต่างกันซึ่งหนึ่งในนั้นสามารถส่งได้ตลอดเวลาคุณจะต้องเรียกใช้สิบตัวกรองที่ตรงกันในแบบขนานรวมเป็น 1M MACs / วินาที - ยังอยู่ในความสามารถของ ชิปเซ็ต dsPIC หรือคล้ายกัน หากคุณพบว่ารหัสที่สั้นกว่านั้นมีความแข็งแกร่งเพียงพอในแอปพลิเคชันของคุณคุณสามารถใช้ตัวกรองที่สั้นกว่านั้นได้และภาระการคำนวณจะลดลงตามสัดส่วน
Dave Tweed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.