ทำไมต้องคำนวณ PSD เป็นจำนวนมาก?


53

วิธีการของ Welch เป็นอัลกอริธึมไปสู่การคำนวณความหนาแน่นสเปกตรัมพลังงาน (PSD) ของไทม์สตัวอย่างที่สม่ำเสมอ ฉันสังเกตเห็นว่ามีวิธีการมากมายสำหรับการคำนวณ PSD ตัวอย่างเช่นใน Matlab ฉันเห็น:

  • PSD ใช้เมธอด Burg
  • PSD ใช้วิธีความแปรปรวนร่วม
  • PSD ใช้ periodogram
  • PSD ใช้วิธีการแปรปรวนร่วมที่แก้ไขแล้ว
  • PSD โดยใช้วิธีการหลายจุด (MTM)
  • PSD ใช้วิธีของ Welch
  • PSD ใช้วิธี Yule-Walker AR
  • Spectrogram โดยใช้การแปลงฟูริเยร์ในระยะเวลาอันสั้น
  • การประมาณสเปกตรัม

อะไรคือข้อดีของวิธีการต่างๆเหล่านี้? เป็นคำถามที่ปฏิบัติได้เมื่อใดฉันจะต้องการใช้วิธีอื่นนอกเหนือจากวิธีของ Welch


ไม่ได้เป็นสามเณรในการประมวลผลสัญญาณ แต่เดา{} นี้อาจเกี่ยวข้องยัง{} นี้ ฉันแค่ googled
นักพัฒนา

4
ที่จริงแล้วคุณไม่ได้ "คำนวณ" PSD แต่ "ประมาณ" มัน มีความแตกต่างอย่างมาก
leonbloy

1
ลิงก์นี้มีตัวอย่างของเทคนิคที่กล่าวถึงข้างต้น: mathworks.com/help/signal/ug/nonparametric-methods.html

คำตอบ:


67

ฉันไม่มีความคุ้นเคยกับวิธีการ Multitaper ที่กล่าวว่าคุณได้ถามคำถามค่อนข้าง เพื่อศึกษาระดับปริญญา MSEE ของฉันฉันได้เรียนหลักสูตรทั้งหมดที่ครอบคลุมการประมาณค่า PSD หลักสูตรครอบคลุมทุกสิ่งที่คุณระบุไว้ (ยกเว้นวิธี Multitaper) และวิธีการย่อย แม้แต่สิ่งนี้ครอบคลุมแนวคิดหลักบางข้อเท่านั้นและมีวิธีการมากมายที่เกิดจากแนวคิดเหล่านี้

สำหรับผู้เริ่มต้นมีสองวิธีหลักในการประมาณค่าความหนาแน่นสเปกตรัมทางกำลังไฟฟ้า: แบบไม่อิงพารามิเตอร์และแบบพารามิเตอร์

วิธีการที่ไม่ใช้พารามิเตอร์นี้ใช้เมื่อรู้เพียงเล็กน้อยเกี่ยวกับสัญญาณล่วงหน้า โดยทั่วไปแล้วพวกเขามีความซับซ้อนในการคำนวณน้อยกว่าโมเดลพาราเมตริก วิธีการในกลุ่มนี้แบ่งออกเป็นสองประเภทเพิ่มเติม: periodograms และ correlograms บางครั้ง Periodograms ก็ถูกเรียกว่าเป็นวิธีการโดยตรงเนื่องจากมันส่งผลให้เกิดการเปลี่ยนแปลงข้อมูล สิ่งเหล่านี้รวมถึงสเปกตรัมตัวอย่างวิธีการของบาร์ตเล็ตต์วิธีของเวลช์ Correlograms บางครั้งเรียกว่าวิธีการทางอ้อมเนื่องจากใช้ประโยชน์จากทฤษฎีบท Wiener-Khinchin ดังนั้นวิธีการเหล่านี้จะขึ้นอยู่กับการแปลงฟูริเยร์ของการประมาณค่าลำดับของออโตคอร์เรชัน เนื่องจากความแปรปรวนจำนวนมากที่เกี่ยวข้องกับความล่าช้าในการสั่งซื้อที่สูงขึ้น (เนื่องจากตัวอย่างข้อมูลจำนวนเล็กน้อยที่ใช้ในสหสัมพันธ์) ใช้หน้าต่าง วิธี Blackman-Tukey เป็นการสรุปวิธี correlogram

โดยทั่วไปแล้ววิธีการพารามิเตอร์จะสมมติว่ามีรูปแบบสัญญาณบางอย่างก่อนการคำนวณค่าประมาณความหนาแน่นสเปกตรัมพลังงาน ดังนั้นจึงสันนิษฐานว่าความรู้เกี่ยวกับสัญญาณบางอย่างเป็นที่รู้จักล่วงหน้า มีวิธีการหลักสองแบบคือ: วิธีการอัตโนมัติและวิธีการย่อย

เมธอด Autoregressive สมมติว่าสัญญาณสามารถสร้างแบบจำลองเป็นเอาต์พุตของตัวกรอง autoregressive (เช่นตัวกรอง IIR) ซึ่งขับเคลื่อนด้วยลำดับสัญญาณรบกวนสีขาว ดังนั้นวิธีการทั้งหมดเหล่านี้พยายามที่จะแก้ปัญหาสำหรับค่าสัมประสิทธิ์ IIR โดยที่ความหนาแน่นสเปกตรัมพลังงานที่ได้จะถูกคำนวณอย่างง่ายดาย อย่างไรก็ตามจะต้องพิจารณาลำดับของแบบจำลอง (หรือจำนวนก๊อก) หากลำดับโมเดลมีขนาดเล็กเกินไปคลื่นความถี่จะราบรื่นและขาดความละเอียด หากลำดับของแบบจำลองสูงเกินไปยอดเขาที่ผิด ๆ จากเสาจำนวนมากก็จะปรากฏขึ้น หากสัญญาณอาจถูกสร้างแบบจำลองโดยกระบวนการ AR ของแบบจำลอง 'p' ดังนั้นผลลัพธ์ของตัวกรองคำสั่ง> = p ที่ขับเคลื่อนด้วยสัญญาณจะทำให้เกิดเสียงสีขาว มีหลายร้อยเมตริกสำหรับการเลือกคำสั่งโมเดล โปรดทราบว่าวิธีการเหล่านี้เป็นวิธีที่ยอดเยี่ยมสำหรับ SNR และสัญญาณย่านความถี่แคบที่สูงถึงปานกลาง ก่อนหน้านี้เป็นเพราะรุ่นแบ่งลงในเสียงที่สำคัญและเป็นแบบอย่างที่ดีขึ้นเป็นกระบวนการ ARMA อันหลังเป็นเพราะธรรมชาติที่เกิดจากหุนหันพลันแล่นของสเปกตรัมที่เกิดจากเสาในการแปลงฟูริเยร์ของตัวแบบที่เกิดขึ้น วิธีการ AR นั้นขึ้นอยู่กับการคาดคะเนเชิงเส้นตรงซึ่งเป็นสิ่งที่ใช้ในการคาดการณ์สัญญาณนอกค่าที่ทราบ เป็นผลให้พวกเขาไม่ต้องทนทุกข์ทรมานจากไซเดลและไม่ต้องมีหน้าต่าง

วิธีการ Subspace แยกสัญญาณออกเป็น Subspace สัญญาณและ Subspace สัญญาณรบกวน การหาประโยชน์จากมุมฉากระหว่างสอง subspaces ทำให้ pseudospectrum สามารถก่อตัวได้ซึ่งยอดเขาใหญ่ที่ส่วนประกอบของช่องแคบสามารถปรากฏขึ้นได้ วิธีการเหล่านี้ทำงานได้ดีในสภาพแวดล้อม SNR ต่ำ แต่มีราคาแพงมาก พวกเขาสามารถแบ่งออกเป็นสองประเภท: วิธีการย่อยเสียงรบกวนและวิธีการย่อยสัญญาณ

ทั้งสองหมวดสามารถใช้ประโยชน์ได้สองวิธี: eigenvalue การสลายตัวของเมทริกซ์ autocorrelation หรือการสลายตัวค่าเอกพจน์ของเมทริกซ์ข้อมูล

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

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

ตอนนี้ฉันจะพยายามปิดรายการของคุณอย่างรวดเร็ว:

  • PSD ใช้เมธอด Burg: วิธี Burg ใช้ประโยชน์จากการเรียกซ้ำของ Levinson แตกต่างจากวิธี Yule-Walker เล็กน้อยโดยประมาณค่าสัมประสิทธิ์การสะท้อนโดยการลดค่าเฉลี่ยของข้อผิดพลาดการทำนายเชิงเส้นไปข้างหน้าและถอยหลัง สิ่งนี้ส่งผลให้ค่าเฉลี่ยฮาร์มอนิกของสัมประสิทธิ์สหสัมพันธ์บางส่วนของข้อผิดพลาดการทำนายเชิงเส้นไปข้างหน้าและข้างหลัง มันสร้างการประมาณการความละเอียดสูงมากเช่นเดียวกับวิธีการตอบโต้อัตโนมัติทั้งหมดเนื่องจากใช้การทำนายเชิงเส้นเพื่อคาดการณ์สัญญาณนอกบันทึกข้อมูลที่รู้จัก สิ่งนี้จะลบปรากฏการณ์ sidelobe ทั้งหมดอย่างมีประสิทธิภาพ มันยอดเยี่ยมกว่าวิธี YW สำหรับการบันทึกข้อมูลสั้น ๆ และยังลบการแลกเปลี่ยนระหว่างการใช้การประมาณค่าความสัมพันธ์แบบอัตโนมัติแบบลำเอียงและแบบไม่ลำเอียงเนื่องจากปัจจัยน้ำหนักแบ่งออก ข้อเสียอย่างหนึ่งคือสามารถแยกเส้นสเปกตรัมได้ นอกจากนี้ มันทนทุกข์ทรมานจากปัญหาเดียวกันทุกวิธี AR มี นั่นคือ SNR ต่ำถึงปานกลางทำให้ประสิทธิภาพลดลงอย่างรุนแรงเนื่องจากไม่มีการจำลองแบบของกระบวนการ AR อย่างเหมาะสม แต่เป็นกระบวนการ ARMA วิธี ARMA ไม่ค่อยถูกใช้เนื่องจากโดยทั่วไปแล้วจะส่งผลให้ชุดสมการไม่เชิงเส้นตรงกับพารามิเตอร์เฉลี่ยเคลื่อนที่

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

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

  • PSD โดยใช้วิธีการแปรปรวนร่วมที่ปรับเปลี่ยน : สิ่งนี้ปรับปรุงทั้งในวิธีการแปรปรวนร่วมและวิธีการ Burg สามารถเปรียบเทียบกับวิธี Burg โดยวิธี Burg จะลดข้อผิดพลาดการคาดคะเนเชิงเส้นตรงไปข้างหน้า / ย้อนกลับโดยเฉลี่ยด้วยความเคารพต่อสัมประสิทธิ์การสะท้อนวิธี MC นั้นย่อให้เล็กสุดด้วยสัมประสิทธิ์ AR ทั้งหมด นอกจากนี้มันไม่ได้รับผลกระทบจากการแยกเส้นสเปกตรัมและให้ความเพี้ยนน้อยกว่าวิธีการที่ระบุไว้ก่อนหน้านี้ นอกจากนี้ในขณะที่ไม่รับประกันตัวกรอง IIR ที่มีความเสถียร มันมีความต้องการในการคำนวณมากกว่าสองวิธีอื่นเช่นกัน

  • PSD โดยใช้วิธีของ Welch : วิธีของ Welch ปรับปรุงตาม periodogram โดยการระบุการขาดค่าเฉลี่ยของ ensemble ซึ่งมีอยู่ในสูตร PSD ที่แท้จริง มันทำให้วิธีของ Barlett โดยใช้การซ้อนทับกันและการเรียงหน้าต่างเพื่อให้ PSD "ตัวอย่าง" เพิ่มเติมสำหรับค่าเฉลี่ยหลอกวงดนตรี อาจเป็นวิธีที่ประหยัดและมีประสิทธิภาพขึ้นอยู่กับแอปพลิเคชัน อย่างไรก็ตามหากคุณมีสถานการณ์ที่มีไซนัสด์ที่อยู่ห่างกันมากวิธีการ AR อาจเหมาะสมกว่า อย่างไรก็ตามไม่จำเป็นต้องประเมินลำดับโมเดลเช่นวิธีการ AR ดังนั้นหากรู้เพียงเล็กน้อยเกี่ยวกับสเปกตรัมของคุณมาก่อนอาจเป็นจุดเริ่มต้นที่ดีได้

  • PSD ใช้วิธี Yule-Walker AR : นี่เป็นกรณีพิเศษของวิธีกำลังสองน้อยที่สุดที่มีการใช้ข้อผิดพลาดที่เหลือทั้งหมด สิ่งนี้ส่งผลให้ประสิทธิภาพลดลงเมื่อเทียบกับวิธีความแปรปรวนร่วม แต่อาจแก้ไขได้อย่างมีประสิทธิภาพโดยใช้การเรียกซ้ำของเลวินสัน มันเป็นที่รู้จักกันว่าวิธีการเชื่อมโยงอัตโนมัติ

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

  • การประมาณสเปกตรัม : นี่ไม่ใช่วิธีการ แต่เป็นคำศัพท์ครอบคลุมสำหรับส่วนที่เหลือของโพสต์ของคุณ บางครั้ง Periodogram จะเรียกว่า "สเปกตรัมตัวอย่าง" หรือ "Schuster Periodogram" ซึ่งในอดีตอาจเป็นสิ่งที่คุณอ้างถึง

หากคุณสนใจคุณอาจพิจารณาวิธีการย่อยเช่น MUSIC และ Pisarenko Harmonic Decomposition สิ่งเหล่านี้จะสลายสัญญาณไปสู่สเปซของสัญญาณและสัญญาณรบกวนและใช้ประโยชน์จากมุมฉากระหว่างสเปซของเสียงและสเปคตรัมย่อยของสัญญาณเพื่อสร้าง pseudospectrum เช่นเดียวกับวิธี AR คุณอาจไม่ได้รับการประเมิน PSD "จริง" ในพลังงานที่มีแนวโน้มมากที่สุดที่ไม่ได้อนุรักษ์ไว้และแอมพลิจูดระหว่างส่วนประกอบของสเปกตรัมนั้นสัมพันธ์กัน อย่างไรก็ตามทุกอย่างขึ้นอยู่กับแอปพลิเคชันของคุณ

ไชโย


ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม! คุณสามารถเพิ่มข้อสังเกตเบื้องต้นเกี่ยวกับความแตกต่างระหว่างวิธีพารามิเตอร์และไม่ใช่พารามิเตอร์ได้หรือไม่ นอกจากนี้อาจมีความชัดเจนมากขึ้นในการจัดกลุ่มวิธีการที่เกี่ยวข้องอย่างใกล้ชิดหรือมาจากอีกวิธีหนึ่งเช่น periodogram method วิธีของ Bartlett ⊆วิธีของ Welch
nibot

อย่างแน่นอน ฉันเพิ่งเพิ่มคำแนะนำและบางหมวดหมู่
ไบรอัน

ยินดีต้อนรับ ขอบคุณสำหรับการตอบคำถามแบบละเอียด
Jason R

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

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

12

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

ใน matlab ฟังก์ชันของหน้าต่างอาจถูกเรียกใช้โดยใช้ฟังก์ชัน dpss นอกเหนือจากการใช้หน้าต่างที่เหมาะสมที่สุดแล้วอัลกอริทึมยังได้รับน้ำหนักของช่วงเวลาที่แตกต่างกันโดยพิจารณาจากจำนวนการรั่วไหลที่จะเพิ่มลงในการประมาณสเปกตรัมพลังงาน อัลกอริทึมให้ชุดของน้ำหนักที่ปรับข้อมูลได้ การประมาณค่าคลื่นความถี่ด้วยชุดของข้อมูลน้ำหนักแบบปรับได้อาจทำได้ใน Matlab โดยการสร้างวัตถุสเปกตรัม.mtmด้วย 'adaptive' ที่ใช้เป็นตัวเลือกการรวม

เกี่ยวกับวิธีการที่ไม่ใช้พารามิเตอร์วิธีการ MT เป็นวิธีที่ดีที่สุดในการประเมินสเปกตรัมพลังงานสำหรับอนุกรมเวลาที่อยู่กับที่


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