ทำไมฉันถึงปล่อยสัญญาณเกินขนาด?


21

ฉันไม่สามารถคิดถึงวิธีที่ดีกว่าสำหรับการถามคำถามนี้ดังนั้นฉันจะเริ่มต้นด้วยตัวอย่าง สมมติว่าฉันมีสัญญาณอินพุทที่มีความถี่สูงสุด 50Hz (ตัวอย่างที่ 100Hz) ตอนนี้สัญญาณที่น่าสนใจอยู่ในช่วง 0-5Hz ดังนั้นฉันสามารถเพิ่มตัวกรองความถี่ต่ำด้วยการตัดค่า 5Hz และใช้สัญญาณผลลัพธ์สำหรับการประมวลผลเพิ่มเติม ความเข้าใจของฉันคือตอนนี้ฉันสามารถลดตัวอย่างสัญญาณกรองโดยปัจจัย 10 และลดภาระการประมวลผล ฉันถูกไหม? ถ้าใช่ทำไมการสุ่มตัวอย่างไม่ได้เกิดขึ้นหลังจากการกรองเสมอเพราะเป็นวิธีที่ชัดเจนสำหรับฉัน และถ้าฉันผิดในการสันนิษฐานของฉันฉันอยู่ที่ไหนผิด?


4
การสุ่มสัญญาณเกินขนาดและการทำลายสัญญาณนั้นมักจะเป็นวิธีที่จะจัดการกับการเปิดเสียงช้าจากการกรองแบบอะนาล็อกที่จะเป็นตัวแทนสัญญาณของคุณ จากนั้นการถอดรหัส (ด้วย lowpass ที่จำเป็นที่นำหน้าไว้) สามารถให้คุณภาพสัญญาณที่สูงขึ้น ตัวกรองผนังก่ออิฐเป็นที่รู้จักมากขึ้นในโดเมนดิจิทัล
Kortuk

คำตอบ:


17

คุณถูกต้องว่าหากสัญญาณของคุณมีค่าไม่เกิน <5 Hz คุณจะสามารถแสดงด้วยอัตราการสุ่มตัวอย่าง 10Hz ได้อย่างสมบูรณ์แบบ นี่คือทฤษฎีการสุ่มตัวอย่างที่รู้จักกันดี

แต่ ... อาจมีข้อควรพิจารณาในทางปฏิบัติสำหรับเหตุใดจึงไม่สามารถและ / หรือมีแนวโน้มที่จะใช้ข้อมูลตัวอย่างที่มีวิกฤต

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

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

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


1
ฉันไม่เข้าใจส่วนที่คุณพูดถึงสัญญาณที่ถูกสุ่มตัวอย่างอย่างยิ่ง หากสัญญาณของฉันอยู่ในช่วง 0-5Hz และแทนที่จะเป็น downsampling ด้วย 10 ฉันจะลดขนาดสัญญาณเป็น 8 (ตัวอย่าง) ฉันจะยังคงมีปัญหานี้หรือไม่
anasimtiaz

1
ซึ่งจะช่วยให้คุณมีแบนด์วิดท์ Nyquist พิเศษบางอย่าง (เช่นเข้ารหัสผ่านอัตราการสุ่มตัวอย่าง) ที่ไม่ได้ใช้โดยสัญญาณที่คุณสนใจ แถบนี้อนุญาตให้คุณมีตัวกรองที่สามารถใช้งานได้ซึ่งไม่ก้าวก่ายสัญญาณที่คุณสนใจ
Mark Borgerding

8

อีกสองเหตุผลที่ทำให้ตัวอย่างมากเกินไป:

  1. เวลาแฝงต่ำ: ตัวอย่างเช่นลูปควบคุมต้องการเวลาในการตอบสนองต่ำมาก การ oversampling ทำให้ได้รับข้อมูลเข้าและออกเร็วขึ้นเพื่อลดความหน่วงแฝง นอกจากนี้การกรอง lowpass ใด ๆ ก็แนะนำการหน่วงเวลากลุ่ม ยิ่งตัวกรอง lowpass คมชัดเท่าใดความล่าช้าของกลุ่มก็จะยิ่งมากขึ้นเท่านั้น หากคุณเกินขนาดคุณจะต้องมีตัวกรองการลดนามแฝงที่สูงชันน้อยกว่าและจบลงด้วยความล่าช้าของกลุ่มน้อยลง

  2. การปฏิบัติจริง: หากอินพุตและเอาต์พุตของคุณทำงานในอัตราเดียวกัน (สูง) คุณสามารถดาวน์สตรีมตัวอย่างได้ แต่คุณจะต้องอัพอีกครั้งก่อนที่คุณจะสามารถแสดงผลลัพธ์ได้ ตัวอย่าง: ในระบบโฮมเธียเตอร์คุณสามารถลดเส้นทางการประมวลผลเสียงเบสได้ แต่คุณจะต้องอัพอีกครั้งเนื่องจากเอาต์พุตกำลังทำงานในอัตราที่สูง ในหลายกรณีการประหยัดใน MIPS นั้นไม่คุ้มค่า


2

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

  1. ความถี่ Nyquist: หนึ่งไม่สามารถตรวจจับความถี่มากกว่า Nyquist ซึ่งเป็นครึ่งหนึ่งของอัตราการตรวจสอบอย่างน้อยโดยใช้วิธีการประมวลผลทั่วไป มีวิธีการที่เกี่ยวข้องกับสัญญาณการกรองก่อนการแปลง A / D ไปยังผู้ที่อยู่ในวงดนตรี Nyquist
  2. การตรวจจับความถี่ใกล้ Nyquist อาจเป็นเรื่องยากและอาจมีข้อผิดพลาด โปรดทราบว่านี่เป็นเพียงสำหรับผู้ที่ปิดวงดนตรีเท่านั้น ในตัวอย่างนี้การ จำกัด ช่วงให้อยู่ที่ 12Hz (6 Hz Nyquist) จะแก้ไขปัญหาที่เกี่ยวข้องกับเรื่องนี้ได้อย่างเพียงพอ
  3. ส่วนประกอบความถี่สูงมีแนวโน้มลดลงของความแข็งแรงเมื่อเทียบกับความถี่ต่ำ สิ่งนี้เกิดขึ้นเพราะทฤษฎีการสุ่มตัวอย่างสันนิษฐานว่าเป็นฟังก์ชั่นหวีคือการตรวจจับในระยะเวลาที่เท่ากัน ความจริงก็คือสัญญาณทั้งหมดจะถูกวัดผ่านหน้าต่างเล็ก ๆ ของเวลา ผลของสิ่งนี้คือการโน้มน้าวสี่เหลี่ยมผืนผ้าในโดเมนเวลาหรือคูณด้วยสัญญาณ sinc ในโดเมนความถี่ แน่นอนว่าถ้าคุณใช้สัญญาณ 10 ทุกครั้ง (เมื่อเทียบกับการใช้เวลาตัวอย่างนานขึ้น) การกระทบนี้จะลดลง

เพื่อแสดงให้เห็นถึงหลักการเหล่านี้ฉันได้เขียนโปรแกรม MATLAB แบบง่ายซึ่งฉันจะแสดงผลลัพธ์เช่นกัน

pis=linspace(0,2*pi,2048);
for f=1:512
sig=cos(f*pis+pi/2);
sig_average=filter(ones(16,1),1/16,sig);
sam_sig=sig_average(1:16:end);
freq=abs(fft(sam_sig));
freqs(f)=max(freq);
end
figure;plot((1:512)/64,freqs)

ป้อนคำอธิบายรูปภาพที่นี่


3
ฉันคิดว่ารายการคะแนนของคุณเป็นสิ่งที่ทำให้เข้าใจผิดเล็กน้อย: 1. ฉันจะกล่าวถึงการใช้ศักยภาพของ "การสุ่มตัวอย่างด้วยคลื่นความถี่" ที่นี่; มันเป็นวิธีที่ "ปกติ" ค่อนข้าง 2. ฉันไม่คิดว่าคุณสามารถสร้างข้อความที่ครอบคลุมโดยทั่วไปได้ 3. ส่วนประกอบความถี่สูงอาจไม่ได้รับการลดทอนอย่างที่คุณอธิบาย ปรากฏการณ์ที่คุณพูดถึงเกี่ยวข้องกับเวลาแปลง A / D converter; นี่เป็นเพียงปัจจัย จำกัด หากเวลาแปลงมีความสำคัญเมื่อเทียบกับช่วงการสุ่มตัวอย่างซึ่งมักจะไม่ใช่กรณี
Jason R

2
4. การยกตัวอย่างไม่ได้ช่วยเพิ่มความสามารถในการแก้ไขความถี่ที่เว้นระยะอย่างใกล้ชิด เวลาการสังเกตที่เพิ่มขึ้นเท่านั้นที่จะช่วยปรับปรุงความละเอียดของความถี่ คุณต้องการผลิตภัณฑ์แบนด์วิธเวลาเพียงพอ
Jason R

@ JasonR: คะแนนดี ฉันแก้ไขงบและเพิ่มสิ่งอื่นที่คุณแนะนำ พื้นหลัง DSP ส่วนใหญ่ของฉันอยู่กับสัญญาณที่ถูกวัดในช่วงเวลาหนึ่งดังนั้นอาจแสดงอคติของฉัน ...
PearsonArtPhoto

2

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

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


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

@ Jason R: การสุ่มตัวอย่างแบบสามเท่าเป็นกฎทั่วไปของหัวแม่มือในการถ่ายภาพด้วยแสงไฟ แต่คุณพูดถูกที่ทุกอย่างขึ้นอยู่กับว่าคุณมีเสียงดังมากแค่ไหน ฉันแก้ไขโพสต์แล้ว
Jonas

2

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

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