การตรวจจับเฟสระหว่างคลื่นสี่เหลี่ยมและสัญญาณคลื่นไซน์


9

ฉันมีวงจรที่มีอินพุตสี่เหลี่ยมคลื่นดิจิตอล (สร้างโดย PLD, 1.8Vp) และเอาต์พุตคลื่นไซน์ (0.5 - 3.5 Vp) สัญญาณทั้งสองมีความถี่ 100kHz อย่างไรก็ตามเฟสนั้นแตกต่างกัน

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

ปรับปรุง

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


2
คุณต้องการทราบความแตกต่างของเฟสอย่างแม่นยำเพียงใด และคุณจำเป็นต้องทำเช่นนี้เป็นการทดลองครั้งเดียวหรือเป็นส่วนหนึ่งของการทำงานอย่างต่อเนื่องของวงจรของคุณ? จริง ๆ แล้วทั้งสองส่วนมีการล็อคความถี่ด้วยกัน (หรือได้รับความถี่จากการอ้างอิงทั่วไป) หรือว่าพวกเขาทั้งคู่มีเพียง 100 kHz หรือไม่?
โฟตอน

คำตอบ:


11

การตรวจจับเฟสนั้นง่ายที่สุดสำหรับสัญญาณดิจิตอล มันเป็นประตู XOR ฉันจะแปลงไซน์เป็นคลื่นสี่เหลี่ยม ป้อนตัวเปรียบเทียบกับไซน์ในอินพุตหนึ่งและไซน์เฉลี่ย (LPF) ที่อีกตัวหนึ่งเพื่อให้ตัวเปรียบเทียบให้คลื่นสี่เหลี่ยมวัฏจักรหน้าที่ 50% จากนั้นใช้เครื่องตรวจจับเฟสแบบดิจิตอล


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

1
@udushu - LPF เฉลี่ยแก้ปัญหานั้น มันจะดูแลแอมพลิจูดที่แตกต่างกันและ DC ออฟเซ็ต
stevenvh

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

@ThePhoton - คุณมีประเด็น แต่ OP ไม่ได้กล่าวถึงความแม่นยำ 1 °ของเขาเมื่อฉันตอบ OTOH มีผู้เปรียบเทียบที่มีการกระจายน้อยกว่า 100 ps ซึ่งเป็นคำสั่งที่มีขนาดน้อยกว่า 1 °
stevenvh

@ThePhoton - ดูเหมือนว่าตัวเปรียบเทียบ zero-cross เป็นโซลูชัน ขอบคุณทุกท่านสำหรับการอภิปราย
udushu

4

เนื่องจากคุณบอกว่าคุณมี DSP ในการประมวลผลคลื่นไซน์คุณสามารถใช้การแปลงฟูริเยร์ที่ซับซ้อนเพื่อวัดเฟส (คุณต้องประเมินค่า DFT ที่ความถี่ที่รู้จักเท่านั้น)

นี่คือความสัมพันธ์ที่ใกล้ชิดกับสิ่งที่ Curd แนะนำเกี่ยวกับการผสม - จุดเดียว DFT เป็นเครื่องผสมชนิดหนึ่งตามด้วยตัวรวมหรือตัวกรอง low-pass ความแตกต่างคือการทำในโดเมนที่ซับซ้อน (หรือใช้เครื่องผสม IQ ในอะนาล็อกหนึ่ง) คุณสามารถกำหนดมุมของเอาต์พุตที่ซับซ้อน การใช้เฉพาะส่วนประกอบจริงหรือเครื่องผสมเพียงตัวเดียวคุณไม่สามารถบอกได้ว่าสารตะกั่วจากความล่าช้าและความไวของแอมพลิจูดนั้นเป็นเรื่องที่ท้าทายมากขึ้น


หวังว่าฉันจะทำได้ นั่นจะแก้ไขปัญหามากมายที่ฉันมีอยู่ในขณะนี้ น่าเสียดายที่ DSP ที่ฉันต้องใช้ไม่มีที่ใดที่อยู่ใกล้กับแรงม้าที่จำเป็นในการทำ DFT แบบเรียลไทม์กับสัญญาณ 100kHz
udushu

คุณต้องคำนวณช่องความถี่หนึ่งช่องเท่านั้นไม่ใช่ # bins = # ตัวอย่างที่ผู้คนเชื่อมโยงกับการแปลงฟูริเยร์ นอกจากนี้คุณต้องวัดเฟสบ่อยแค่ไหน? หากไม่บ่อยคำถามจริงก็คือหากระบบของคุณสามารถสุ่มตัวอย่างและจัดเก็บในอัตรานั้นไม่ได้หากสามารถประมวลผลได้
Chris Stratton

ปัจจุบัน DSP ได้รับการกำหนดค่าให้สุ่มตัวอย่างที่ 20kHz และมีการสุ่มสัญญาณเฉพาะสัญญาณ demodulated ไม่ใช่ผู้ให้บริการ 100kHz ฉันไม่คิดว่า dsPIC33 ที่ต่ำต้อยที่ฉันใช้จะสามารถสุ่มตัวอย่างสัญญาณ 100kHz ได้เลย
udushu

@udushu การค้นหาด่วนแนะนำ dsPIC อาจทำได้ประมาณ megasample / วินาที แต่ถ้าแบนด์วิดท์อะนาล็อกเพียงพอและคุณทราบความถี่คุณสามารถขีดเส้นใต้และใช้ประโยชน์จากนามแฝงได้โดยเจตนา
Chris Stratton

0

สมมติว่าแอมพลิจูดของสัญญาณอินพุททั้งคู่เป็นค่าคงที่ (หากไม่สามารถทำให้คงที่โดยวงจร AGC) คุณสามารถใช้มิกเซอร์ (มัลติพอยเตอร์) เป็นตัวตรวจจับเฟส:

หากสัญญาณอยู่ในเฟสเอาต์พุตจะเป็นค่าบวก
หากสัญญาณอยู่นอกเฟส 180 °เอาต์พุตจะเป็นลบ
สำหรับความแตกต่างของเฟสอื่น ๆ เอาต์พุตจะอยู่ระหว่างค่าเหล่านั้น

การตรวจสอบขั้นตอนเช่นเป็นที่กล่าวถึงในแผ่นข้อมูลเป็นหนึ่งของการใช้งานของ mutliplier อนาล็อกไอซีAD633

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.