ค่าเฉลี่ยโดเมนเวลา FFT เทียบกับค่าเฉลี่ยของ Bin bin


12

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

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

fft 

คำตอบ:


8

ให้ฉันอธิบาย

  • การแปลงฟูริเยร์ไม่ได้แสดงฮิสโตแกรมของสัญญาณ การแปลงฟูริเยร์เป็นการแปลงเชิงเส้นที่รับสัญญาณจากโดเมนเวลา (ฟังก์ชันที่ซับซ้อน) ไปยังโดเมนความถี่ (ฟังก์ชันที่ซับซ้อนอื่น) ใช้ฟังก์ชันที่ซับซ้อนไปยังฟังก์ชันที่ซับซ้อนอื่น
  • ฟูเรียร์แปลงเป็นเส้นตรงตามที่โปสเตอร์ด้านบนชี้
  • ระยะในตัวอย่างของคุณมีความสำคัญตามที่กล่าวไว้ข้างต้น หากข้อมูล Trial-by-Trial แตกต่างกันไปในเฟสคุณไม่ต้องการเฉลี่ยก่อนทำการแปลงฟูริเยร์ แต่คุณไม่ต้องการเฉลี่ยหลังจากแปลงฟูริเยร์ คุณต้องการเฉลี่ยหลังจากการแปลงฟูริเยร์และบรรทัดฐาน ฉันจะทำอย่างละเอียดด้านล่างเท่าที่สิ่งที่ต้องทำ

ปัญหาหลักที่นี่คือคำถามที่ถูกวางผิด ไม่ใช่ "ฉันควรใช้การแปลงฟูริเยร์ก่อนค่าเฉลี่ยหรือหลังเฉลี่ย" เพราะมันไม่ได้ทำให้ความแตกต่างเนื่องจากความเป็นเชิงเส้นของการแปลงฟูริเยร์

คำถามที่ถูกต้องในการถามคือ "ฉันควรใช้แอมพลิจูดของการแปลงฟูริเยร์ก่อนเฉลี่ยหรือหลังจากเฉลี่ย" สำหรับคำถามนี้คำตอบคือก่อน

นี่คือรายละเอียด

สมมติว่าข้อมูลตัวอย่างของคุณแสดงด้วยลำดับดังนี้

d1=d1[n1],d1[n2],...d1[nN]

d2=d2[n1],d2[n2],...d2[nN]

d3=d3[n1],d3[n2],...d3[nN]

...

dM=dM[n1],dM[n2],...dM[nN]

โดยที่เป็นข้อมูลจากการทดลอง M และเป็นจุดเวลาตัวอย่างแล้ว:d1,...dMn1,...nN

F1=j=1M|F{dj}||F{j=1Mdj}|=F2

ดังนั้นในขณะที่การแปลงเป็นเชิงเส้นไม่ใช่.F|F|

นอกจากนี้ในขณะที่เป็นจริงสำหรับทุกคน ,ไม่ได้ แต่คือ.dj[ni]i,jF{dj}|F{dj}|

สำหรับสิ่งที่คุณควรทำคุณควรใช้การแปลงฟูริเยร์ของการทดลองเดี่ยว (ผ่าน FFT) รับแอมพลิจูดของการทดลองเดี่ยวและเฉลี่ยพวกมันด้วยกัน

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

เมื่อมีคนบอกว่ามีขนาดใหญ่องค์ประกอบก็หมายความว่ากว้างเป็นหน้าที่ของรูปลักษณ์ความถี่เช่น f มันเป็นคลื่นมือ ... อาจมาจากนักชีววิทยา: p1/f1/f

การแปลงฟูริเยร์ผกผันของเป็นฟังก์ชั่นเครื่องหมายบางอย่าง แต่นั่นไม่มีประโยชน์ มันเป็นฟังก์ชั่นสัญญาณจินตนาการ! ฟังก์ชั่นจริงสร้างการแปลงฟูริเยร์แบบสมมาตร1/f

ในความเป็นจริงบอกว่าสเปกตรัมคือบอกคุณบางอย่างเกี่ยวกับสัญญาณ แต่มันไม่ยอมให้คุณกู้คืนสัญญาณ สิ่งที่คุณรู้คือ. สิ่งนี้ไม่อนุญาตให้คุณกำหนดไม่ซ้ำกันเนื่องจากข้อมูลเฟสหมดไปและเรารู้ว่าโครงสร้างของสัญญาณอาศัยเฟสของมันอย่างมาก| F { x ( t ) } | = | 1 / f | x ( t )1/f|F{x(t)}|=|1/f|x(t)

อะไรบอกคุณ? เพียงแค่ว่ามันมีความถี่ต่ำมากและความถี่สูงเล็กน้อย1/f

เช่นเดียวกับคำถามที่สำคัญค่าเฉลี่ยคุณซื้ออะไร และที่สำคัญกว่านั้นคือวิธีการตีความผลลัพธ์ ปรับในวันพรุ่งนี้เพื่อการสนทนาเชิงลึกเพิ่มเติม: p


1
+1 ขอบคุณที่ชี้แจง ฉันรู้สึกว่าฉันเข้าใจผิดในประเด็นพื้นฐานที่อยู่เบื้องหลังคำถามและฉันคิดว่าสิ่งนี้จะเป็นหัวใจของมันมากขึ้น
jstarr

2

ขั้นแรกให้ FFT เป็นอัลกอริทึม การแปลงสภาพนี้เรียกว่าการแปลงฟูริเยร์! มันแสดงให้เห็นถึงฮิสโตแกรมของสัญญาณ ในกรณีที่ไม่ต่อเนื่องการอ่านสูงในโดเมนความถี่หมายถึงพลังงานจำนวนมากที่ความถี่นั้น

คุณไม่ควรเฉลี่ยข้อมูลก่อน FFT เนื่องจากข้อมูลเฟสจะทำให้เกิดการเปลี่ยนแปลงที่สำคัญของข้อมูล

ลองนึกภาพตัวอย่าง 2 ตัวอย่างแต่ละอันประกอบด้วยโคไซน์บริสุทธิ์ ในโลกแห่งความเป็นจริงคุณจะไม่มีวันจับโคไซน์นี้ในจุดเริ่มต้นที่แน่นอน โคไซน์หนึ่งจะถูกเปลี่ยนเป็น reletive ไปที่อื่น (หรือทั้งคู่มีการเลื่อนที่ต่างกันไปจนถึงจุดเริ่มต้นโดยทางคณิตศาสตร์นี่คือ y1 = cos (wt-A) y2 = cos (wt-B) โดยที่ A & B เป็นกะในโมเดลของคุณ สองรายการแสดงได้ดีกว่าในสิ่งเดียวกันด้วยคณิตศาสตร์เล็ก ๆ ฉันสามารถเลือกค่าเหล่านี้เพื่อให้ y2-y1 = 0 ค่าเฉลี่ยของศูนย์คือศูนย์และไม่ใช่สิ่งที่คุณต้องการนี่คือปัญหาเฟส

หากเป้าหมายของคุณคือการหาสเปกตรัมเฉลี่ยที่คุณควรเฉลี่ยทั่วสเปกตรัมไม่เฉลี่ยสัญญาณ!


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

@ user1487551 ส่วนประกอบ 1 / f ที่แข็งแกร่งหมายถึงอะไร การแปลงฟูริเยร์ผกผันของ 1 / f เป็นฟังก์ชันสัญญาณและอาจบอกเป็นนัยว่าข้อมูลของคุณมีก้อนขนาดใหญ่เมื่อระบบมีเสถียรภาพ คุณอาจแสดงพล็อตหรือข้อมูลบางส่วน
Mikhail

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

2

คำตอบคือใช่ : ด้วย linearity ของ DFT การเฉลี่ยสัญญาณในเวลาและการรับ DFT ของค่าเฉลี่ยนั้นเท่ากับการเฉลี่ยค่า DFT ของสัญญาณยกเว้นว่าฉันไม่อยู่นอกฐานหรือเข้าใจผิดอย่างสมบูรณ์คำถามของคุณ

หากต้องการแสดงสิ่งนี้ให้นิยามตัวแปรบางตัวดังนี้

  • xn[]thn
  • Xk[]thk

1L=0Lxn[]

n=0N11LLxn[]ei2πkn/N

การสลับลำดับของการสรุปเราสามารถเขียนได้

1L=0Ln=0N1xn[]ei2πkn/N,

แต่นี่เป็นสิ่งเดียวกัน

1L=0LXk[l]

ซึ่งเหมือนกับค่าเฉลี่ยของ DFT ของแต่ละ trival นี่คือสิ่งที่เราต้องการแสดง


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