เหตุใดขอบเขตสัญญาณดิจิตอลถึงส่งสัญญาณที่ความถี่สูงกว่าทฤษฎีบทการสุ่มตัวอย่างที่ต้องการ


15

ในการค้นหาขอบเขต / ลอจิกตัววิเคราะห์พีซีที่ไม่แพงมากฉันได้พบอุปกรณ์เล็ก ๆ ที่ดูดีมากและฉันรู้ว่ามันจะทำงานได้ดี

อย่างไรก็ตามเมื่อดูจากข้อกำหนดฉันพบสิ่งนี้:

แบนด์วิดท์ vs อัตราตัวอย่าง

เพื่อที่จะบันทึกสัญญาณอย่างแม่นยำอัตราตัวอย่างจะต้องสูงขึ้นอย่างเพียงพอเพื่อรักษาข้อมูลในสัญญาณดังรายละเอียดในทฤษฎีการสุ่มตัวอย่าง Nyquist – Shannon สัญญาณดิจิตอลจะต้องได้รับการสุ่มอย่างน้อยสี่ครั้งเร็วกว่าส่วนประกอบความถี่สูงสุดในสัญญาณ สัญญาณอะนาล็อกจะต้องมีการสุ่มตัวอย่างเร็วกว่าส่วนประกอบความถี่ที่เร็วที่สุดในสัญญาณสิบเท่า

และด้วยเหตุนี้จึงมีอัตราการสุ่มตัวอย่าง 500MSPs แต่แบนด์วิดธ์ (ตัวกรอง) ของ 100MHz ดังนั้นอัตราส่วน 1: 5 สำหรับสัญญาณดิจิตอลและอัตราการสุ่มตัวอย่าง 50MSPs และแบนด์วิดท์ (ตัวกรอง) 5MHz ดังนั้นอัตราส่วน 1:10 สำหรับสัญญาณอะนาล็อก

เท่าที่ฉันเข้าใจ Niquist-Shannon เท่านั้นที่พูดถึงการสุ่มตัวอย่างที่ความถี่สูงสุดสองเท่า (ในทางทฤษฎี) แน่นอนว่ามันดีที่จะไม่ผลักดันขีด จำกัด และไม่มีตัวกรองที่สมบูรณ์แบบ แต่แม้กระทั่ง UART แบบง่าย ๆ ก็ยังสามารถส่งสัญญาณดิจิตอลด้วยความเร็วเดียวกันกับ baudrate!

นี่เป็นกฎทั่วไปสำหรับการสุ่มตัวอย่างหรือไม่ หรือบางสิ่งบางอย่างจากการขายอาจเขียน? มันช่วยให้ฉัน clueless อย่างใดฉันไม่เคยได้ยินเกี่ยวกับเรื่องนี้


5
ขอบเขตราคาถูกตัดมุมทุกชนิดในแง่ของความสามารถในการสอดแทรกตัวอย่างสัญญาณที่เหมาะสมสำหรับการแสดงผลซึ่งเป็นเหตุผลที่พวกเขาต้องการอัตราส่วนที่สูงเกินไปเช่นนี้เพื่อให้ได้ภาพที่เที่ยงตรง
Dave Tweed

7
สิ่งใดภายใต้ $ 5,000 นั้นราคาถูกพอคุณจะต้องตัดมุมเมื่อออกแบบขอบเขต
โฟตอน

9
หากคุณลองรูปแบบคลื่นซ้ำที่ 2f คุณจะไม่รู้อะไรเลยเกี่ยวกับรูปร่างของมัน มันเป็นสี่เหลี่ยมจัตุรัสไซน์หนึ่งเป็นรอยหยักหรือไม่? ใครจะรู้ ... ตัวอย่างของคุณไม่สามารถบอกคุณได้
brhans

5
@ brhans โปรดทราบว่าประเด็นของคุณเป็นสิ่งที่สงสัย คลื่นสี่เหลี่ยมที่มีความถี่ไม่ได้หมายความว่าแบนด์วิดท์ของfแต่เป็นส่วนประกอบของสเปกตรัมทั่วสถานที่ f
Marcus Müller

4
คุณผิดเกี่ยวกับ UART classic 16550 UART ที่ทำงานด้วยอัตราบอดสูงสุดใช้เวลา 16 ตัวอย่างต่อบิต คุณไม่สามารถซิงค์ที่เชื่อถือได้กับสิ่งใด ๆ น้อยกว่า 3 ตัวอย่างต่อบิต (ดริฟท์ของนาฬิกาจะสะสมเช่นนั้นคุณจะสูญเสียหนึ่งบิตเป็นระยะ) ทฤษฎีการสุ่มตัวอย่าง Niquist เพียงกล่าวว่าคุณไม่สามารถสร้างสัญญาณที่มีความถี่การสุ่มน้อยกว่า 2 เท่า แต่ไม่ได้บอกว่าคุณจะได้รับสัญญาณที่ดีที่ความถี่ 2x
slebetman

คำตอบ:


10

"แม้แต่ UART แบบง่าย ๆ ก็ยังสามารถส่งสัญญาณดิจิตอลด้วยความเร็วเดียวกัน ... " UART ไม่จำเป็นต้องสร้างสัญญาณคลื่นสี่เหลี่ยมแบบแอนะล็อกที่นำข้อมูลดิจิตอลมาใช้ใหม่ดังนั้นจึงไม่คำนึงถึงทฤษฎีบท

ทฤษฎีบท Shannon-Nyquist พูดจริงเกี่ยวกับการเป็นตัวแทนที่สมบูรณ์แบบของสัญญาณอะนาล็อก การเป็นตัวแทนที่สมบูรณ์แบบที่นี่หมายถึงการรู้เพียงตัวอย่างสัญญาณที่คุณสามารถสร้างสัญญาณอะนาล็อกในโดเมนเวลาที่สมบูรณ์แบบได้อย่างสมบูรณ์แบบ

ของหลักสูตรนี้เป็นไปได้ในทางทฤษฎีเท่านั้น ในความเป็นจริงสูตรการสร้างใหม่เกี่ยวข้องกับชุดของฟังก์ชัน "sinc" ( ) ซึ่งไม่ จำกัด เวลา (เพิ่มจาก-ถึง+) ดังนั้นจึงไม่สามารถนำไปใช้งานได้อย่างสมบูรณ์ในฮาร์ดแวร์ ขอบเขตระดับสูงใช้รูปแบบที่ถูกตัดทอนของฟังก์ชัน sinc เพื่อให้ได้ความสามารถแบนด์วิดท์ที่สูงขึ้นด้วยอัตราตัวอย่างที่ต่ำกว่านั่นคือ MHz ที่มีตัวอย่างน้อยกว่าเพราะพวกเขาไม่เพียง "เข้าร่วมจุด" ดังนั้นพวกเขาจึงไม่ต้องการsinc(x)=sin(πx)πx+

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


8
ที่จริงแล้ว UART ทุกตัวที่ฉันได้เห็นตัวอย่างข้อมูลที่ 8 หรือ 16 เท่าของอัตราการส่งข้อมูล
ท่อ

1
@pipe ฉันเห็นด้วยไม่กี่อย่างที่ฉันได้เห็นก็ทำแบบนั้นเหมือนกัน ฉันแค่ชี้ให้เห็นหลักฐานที่ผิดพลาดในการให้เหตุผลของ OP
Lorenzo Donati สนับสนุนโมนิกา

@ท่อ. BTW ฉันคิดว่าพวกเขาสุ่มตัวอย่างอย่างรวดเร็วเพียงเพราะช่วยให้อัลกอริทึมการตรวจจับง่ายขึ้น ฉันไม่แน่ใจ แต่ฉันคิดว่าพวกเขาสามารถใช้ตัวอย่างน้อยกว่านี้ได้หากพวกเขาใช้อัลกอริธึมที่ซับซ้อนมากขึ้น (ซึ่งไม่สามารถใช้งานได้และมีราคาแพง
Lorenzo Donati สนับสนุนโมนิกา

2
เหตุผลตัวอย่าง UART สมัยใหม่ที่ 8x หรือ 16x (หรือมากกว่าหรือน้อยกว่าหรือที่ใดที่หนึ่งในระหว่าง) คือเพื่อให้พวกเขาสามารถวางตำแหน่งการสุ่มตัวอย่างของบิตในช่วงกลางของระยะเวลาบิต นั่นคือช่วงเวลา 1.5 บิตผ่านขอบของบิตเริ่มต้น ถ้า UART มีอสังหาริมทรัพย์ในซิลิกอนและความเร็วในการสำรองมันดูเหมือนว่าฉันมีเหตุผลอย่างสมบูรณ์ที่จะสร้างใหม่โดยใช้ฟังก์ชั่นราคาถูก(เช่นการแก้ไข Hermite อันดับ 3) จากนั้นพวกเขาควรมีมุมมองที่ดีสำหรับบิตเริ่มต้นและระดับเสถียรภาพที่เหมาะสมสำหรับบิตข้อมูลแต่ละบิต sinc(x)
เบิร์ตบริสโต - จอห์นสัน

3
UART ของ MCU บางตัวเช่นเดียวกับ MC6811 เก่าสุ่มตัวอย่างสามครั้งในช่วงกลางของบิต (นาฬิกา 5, 7 และ 9 เนื่องจากมันใช้การสุ่มตัวอย่าง 16X) ใช้ฟังก์ชันส่วนใหญ่เพื่อรับค่าบิตข้อมูลและตั้งค่า "สัญญาณรบกวนสัญญาณรบกวน" บิตสถานะ "ถ้าตัวอย่างไม่ตรงกันทั้งหมด พวกเขายังใช้ตัวอย่างจำนวนมากเพื่อยืนยันจุดเริ่มต้น สิ่งนี้ไม่เพียงช่วยตรวจจับและลดเสียงรบกวนบางอย่างเท่านั้น แต่ยังช่วยเพิ่มความทนทานต่อสัญญาณนาฬิกาได้อีกด้วย
Mike DeSimone

29

ทฤษฎีการสุ่มตัวอย่าง Nyquist-Shannon ... มักใช้ผิดพลาด ...

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

มันกระชับและมีข้อแม้ที่สำคัญสองข้อ

  1. แบนด์วิดธ์สมบูรณ์แบบ
  2. มากกว่า 2f

Point # 1 เป็นปัญหาสำคัญที่นี่เนื่องจากคุณไม่สามารถรับสัญญาณได้อย่างไร้ข้อ จำกัด เนื่องจากเราไม่สามารถบรรลุสัญญาณ bandlimited ได้อย่างสมบูรณ์แบบเราจึงต้องจัดการกับลักษณะของสัญญาณ bandlimited ที่แท้จริง ใกล้ชิดกับความถี่ nyquist จะสร้างการเปลี่ยนเฟสเพิ่มเติม ใกล้ชิดจะสร้างการบิดเบือนไม่สามารถสร้างสัญญาณที่น่าสนใจ

หลักการง่ายๆ? ฉันจะลองหาความถี่สูงสุดที่ฉันสนใจ 10 เท่า

เอกสารที่ดีมากเกี่ยวกับการใช้ผิดวัตถุประสงค์ของ Nyquist-Shannon http://www.wescottdesign.com/articles/Sampling/sampling.pdf

ทำไม "At 2x" ผิด

ใช้สิ่งนี้เป็นตัวอย่าง: เราต้องการสุ่มตัวอย่างคลื่นด้วยความถี่ f ถ้าเราสุ่มตัวอย่างอย่างสุ่ม ๆ ที่ 2f ... เราสามารถจับเส้นตรงได้

enter image description here


3
คำตอบที่ยอดเยี่ยม ขีด จำกัด Nyquist 2f ช่วยป้องกันนามแฝงแต่ยังอนุญาตให้เกิดข้อผิดพลาด amplitide 100% ตามที่แสดงในรูปของคุณ ด้วยคะแนนต่อรอบมากขึ้นข้อผิดพลาดของแอมพลิจูดข้อผิดพลาดของเฟสข้อผิดพลาดออฟเซ็ตและข้อผิดพลาดของความถี่จะลดลงเป็นค่าที่ยอมรับได้
MarkU

6
นี่เป็นคำตอบที่ยอดเยี่ยมจนกระทั่งตัวอย่างซึ่งแสดงให้เห็นว่ามันสำคัญมากที่อัตราตัวอย่างมากกว่าแบนด์วิดท์สองเท่า @MarkU พูดถึงผลกระทบที่มีอยู่เมื่อคุณไม่ปฏิบัติตาม "กฎหมาย"
ท่อ

4
ไปป์ :) ถ้าคุณอ่านสิ่งที่ OP เขียนว่า "การสุ่มตัวอย่างที่ความถี่สูงสุดสองเท่า (ในทางทฤษฎี)" สำหรับผู้เริ่มต้นนั่นไม่ใช่สิ่งที่ทฤษฎีบทระบุไว้ (อย่างที่ฉันเขียน) และมันเป็นทฤษฎีความเข้าใจผิดที่ผิดพลาดที่สุด เป็นภาพที่ใช่ใช่ แต่มันเป็นจุดที่ว่าทำไม "สองครั้ง" จึงผิดมากและไม่ใช่สิ่งที่ NS ระบุไว้อย่างสมบูรณ์
JonRB

ตามทฤษฎีบทตัวอย่างที่คุณให้นั้นผิด แท้จริงมันเป็นตัวอย่างแสดงให้เห็นว่าทำไมความถี่การสุ่มตัวอย่างควรมากกว่า 2f ในคลื่นที่ไม่มีข้อ จำกัด อย่างสมบูรณ์แบบที่มีความถี่มากกว่า 2f จะช่วยให้การสร้างคลื่นสมบูรณ์
bunyaCloven

4
และนั่นคือประเด็นของฉัน สหกรณ์ได้รับการระบุที่ 2x ฉันอ้างถึงทฤษฎีบทอย่างแน่นอน (ไม่เคยบอกที่ 2x เลยว่ายิ่งใหญ่กว่าด้วยสัญญาณ จำกัด วงที่สมบูรณ์แบบ) และยังแสดงให้เห็นว่าทำไมคุณไม่ควรลองที่ 2x ตัวอย่างไม่ได้มีไว้เพื่อแสดงให้เห็นว่าควรทำอย่างไร แต่ทำไมการตีความทางภาษาพูดของ NS จึงผิดอย่างมาก
JonRB

13

มีความแตกต่างระหว่างการวิเคราะห์สัญญาณสำหรับข้อมูลและแสดงผลบนหน้าจอขอบเขต ขอบเขตการแสดงผลนั้นเป็นจุดเชื่อมต่อดังนั้นถ้าคุณมีคลื่นไซน์ 100 MHz สุ่มตัวอย่างที่ 200 MHz (ทุก 5 nsec) และคุณได้ลองจินตนาการถึงองค์ประกอบสัญญาณแล้วคุณสามารถสร้างสัญญาณใหม่ได้ เนื่องจากคุณมีส่วนที่เป็นของจริงเพียงอย่างเดียว 4 คะแนนจึงเป็นค่าต่ำสุดที่จำเป็นมากและถึงแม้จะมีสถานการณ์ทางพยาธิวิทยาเช่นการสุ่มตัวอย่างที่ 45, 135, 225 และ 315 องศาซึ่งจะดูเหมือนคลื่นสี่เหลี่ยมที่มีขนาดเล็กกว่า อย่างไรก็ตามขอบเขตของคุณจะแสดงเพียง 4 จุดเชื่อมต่อกันด้วยเส้นตรง ท้ายที่สุดขอบเขตก็ไม่มีทางที่จะรู้ว่ารูปร่างที่แท้จริงคืออะไร - การทำเช่นนั้นจะต้องใช้เสียงประสานที่สูงขึ้น เพื่อที่จะทำการประมาณค่าที่ดีพอสมควรกับ 100 MHz ไซน์มันจะต้องใช้ตัวอย่างประมาณ 10 ต่อรอบ - ยิ่งดี แต่ 10 คือกฎง่ายๆ แน่นอน 100 ตัวอย่างจะ overkill สำหรับขอบเขตการแสดงผลและกฎทางวิศวกรรมของหัวแม่มือมักจะทำงานในอำนาจของ 10


3
แต่องค์ประกอบจินตภาพคือศูนย์ (น่าจะเป็น) ...
โอลิเวอร์ Charlesworth

2
@OliverCharlesworth - ไม่เกี่ยวกับนาฬิกาตัวอย่าง องค์ประกอบจินตภาพคือ 90 องศาสำหรับรอบไซน์ที่ทริกเกอร์ที่ศูนย์แอมพลิจูดเนื่องจากถ้ามันเป็นศูนย์และทั้งสองตัวอย่างจะเป็นศูนย์ไม่มีทางที่จะบอกได้ว่าไซน์นั้นอยู่ที่นั่น
WhatRoughBeast

1
จริงๆแล้วมันฟังดูเหมือน 2x oversampling ฉันมีเวลาที่ยากลำบากในการสร้างแบบจำลองวิธีการสร้างองค์ประกอบจินตภาพ (สั้น ๆ ของการดำเนินการเปลี่ยนความถี่หรือการแปลงฮิลแบร์ต) การไม่อ้างว่าเฟรมเวิร์กนี้ไม่ถูกต้องที่นี่เพียง แต่ฉันไม่เคยเห็นมันใช้วิธีนี้ คำค้นหาใด ๆ ของ Google ที่ฉันควรตรวจสอบ
Oliver Charlesworth

ยิ่งไปกว่านั้นไม่เชื่อว่า "ต้องการฮาร์มอนิกที่สูงขึ้น" - ข้อความอ้างอิง OP อ้างถึง " ส่วนประกอบความถี่ที่เร็วที่สุด " - เนื่องจากข้อ จำกัด นั้นการแก้ไขแบบซิน (เพียงพอ) ควรสร้างสัญญาณรูปแบบเดิมสำหรับอะไร> 2f
Oliver Charlesworth

1
@OliverCharlesworth - "การสร้างแบบจำลองเวลายากวิธีหนึ่งสร้างองค์ประกอบจินตภาพ" - ตรง ไม่เป็นไปได้ซึ่งเป็นเหตุผลว่าทำไมคุณต้องโอเวอร์โหลด ในโลก RF คุณสร้างฉันและ Q แต่มันไม่มีประโยชน์ที่นี่ และสำหรับการแก้ไขแบบ sinc ผู้ผลิตขอบเขตพบว่าไม่ประหยัดไม่พูดถึงเรื่องที่ไม่เข้าใจง่ายในส่วนของผู้ใช้ ที่อัตราสแกนสูงสุดในขอบเขตดิจิทัลร่องรอยจะชัดเจนเมื่อจุดเชื่อมต่อด้วยเส้นตรงและขีด จำกัด ของอัตราตัวอย่างชัดเจน (และหวังว่าจะเป็นแหล่งของความระมัดระวัง)
WhatRoughBeast
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.