· 4 min read

สิ่ง ที่ FFT แสดง ให้ คุณ เห็น จริง ๆ

เสียงทุกเสียงที่คุณได้ยิน เป็นผลรวมของคลื่นไซน์ The Fast Fourier เปลี่ยนแปลงการย่อยสลายของสารที่รวมกัน นี่คือสิ่งที่มันหมายถึง วิธีการทํางาน และทําไมอัลกอริทึมอายุ 60 ปี ยังคงอยู่ทุกหนทุกแห่ง.

คํา ถาม

เล่น คอร์ด เดียว กับ เปีย โน — เช่น เล่น ซี และ อี ด้วย กัน. หูคุณได้ยินเสียงเดียว แต่เสียงนั้น มีคลื่นความถี่ 2 ความถี่เหนือขึ้นไป 256 Hz และ 329.6 Hz คอ ชี ต้า ของ คุณ แยก มัน ออก จาก กัน — เซลล์ ผม ต่าง ๆ จะ ส่ง สัญญาณ ต่าง ๆ ไป ยัง สมอง ของ คุณ.

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

จริงๆแล้วเกิดอะไรขึ้น

สัญญาณที่ตัวอย่างตลอดเวลา เป็นรายการตัวเลข: แอมพลิจูดที่แต่ละจุดตัวอย่าง บันทึก 1 วินาทีที่ 44,100 Hz เป็นจํานวน 44,100 ตัว ตัวเลขเหล่านี้อธิบายสัญญาณในโดเมนของเวลา แอมพลิจูดเป็นฟังก์ชันของเวลา.

FFFT แปลงสิ่งนี้เป็นโดเมนความถี่ -- แอมพลิจูดเป็นฟังก์ชันของความถี่ ข้อมูลเดียวกัน ตัวแทนต่างกัน เช่น การสลับระหว่างพิกัดคาร์ทีเชียนกับพิกัดขั้ว ไม่มีอะไรถูกสร้างขึ้นหรือถูกทําลาย.

แกนคณิตศาสตร์: ทุกสัญญาณคาบๆ สามารถเขียนเป็นผลรวม ของคลื่นไซน์และโคไซน์ นี่คือทฤษฎีบทของโฟร์เออร์ (807) เอฟ เอฟ เอฟ พี คํานวณ ค่า สัมประสิทธิ์ ของ สัมพัทธ์ นั้น — แต่ ละ ความถี่ อยู่ ใน สัญญาณ เท่า ไร.

ทําไม "ผี"

วิธีที่ไร้เดียงสาในการคํานวณ การแปลงโฟร์แอร์ต้องการ N2 ดําเนินการสําหรับตัวอย่าง N สําหรับตัวอย่าง 1024, นั่นคือการดําเนินการประมาณ 1 ล้าน อัลกอริธึม คูลี-ทูกี้ (1965) ย่อให้เหลือ NElog2 (N) — ประมาณ 10,000 ปฏิบัติการสําหรับข้อมูลเดียวกันนี้ 100x เร่งความเร็ว สําหรับตัวอย่างเป็นล้าน ค่าความเร็วเป็น 50,000x.

เคล็ดลับ : แบ่งเปลี่ยน N-point เป็นสองจุด N/2 เปลี่ยนแปลง, พร้อมกัน นี่ต้องใช้ N ยกกําลัง 2 (หรือคุณใส่ 0 ลงไป) แต่ละส่วนทําให้เกิดปัญหา ปฏิบัติการ "Butterfly" รวมครึ่ง:

X[k]     = Even[k] + W · Odd[k]
X[k+N/2] = Even[k] - W · Odd[k]

โดย W เป็นเอกซ์โปเนนเชียลที่ซับซ้อน (การหมุนในระนาบเชิงซ้อน) สองกลุ่มย่อยเดียวกัน ให้จุดออกสองจุด นี่คือสาเหตุที่อัลกอริทึมเป็น "ด่วน" — มันใช้คํานวณซ้ําได้ทุกสองครั้ง.

PinePaper's Affication is a mode Cooley-Toukey Radix-2 DIT (demitive intime). จาวาสคริปต์ 40 บรรทัด เราเขียนมันจากรอยขีดข่วน แทนที่จะนําเข้าห้องสมุด เพราะเราต้องการให้นักเรียน สามารถอ่านแหล่งที่มาและเข้าใจทุกบรรทัด.

สิ่ง ที่ บาร์ เหล่า นั้น หมาย ถึง

เมื่อ คุณ เห็น ตัว วิเคราะห์ สเปกตรัม — การ กระโดด เข้า สู่ ดนตรี — แต่ ละ บาร์ แสดง ถึง ความ ถี่. ความสูงคือขนาด (น้ําหนัก) ของความถี่ในสัญญาณปัจจุบัน.

  • ♪ A ไซน์บริสุทธิ์ ♪ ผลิตหนึ่งแท่งสูงที่ความถี่ของมันและไม่มีอะไรอื่น.
  • คลื่นจตุรัส ผลิตแท่งที่ฐานและทุกฮาร์โมนิคประหลาด (3, 5, 7...) ลดลงเป็น 1/n. นี่คือเหตุผลว่าทําไมคลื่นตารางเสียง "Buszy" มันมีพลังงานความถี่สูง.
  • ♪ เสียงสีดํา ♪ ผลิตแท่งของความสูงที่ประมาณเดียวกันทุกที่ ทุกความถี่มีความน่าจะเป็นเท่ากัน.
  • 'เสียงมนุษย์' ทําให้เกิดรากฐาน (เสียงที่ได้ยิน) บวกกับเสียงพยักหน้า ยอดเสียงประกอบ จากรูปร่างของแผ่นเสียงที่แยกสีได้.

หน้าต่าง: เหตุ ใด ขอบ ขอบ จึง สําคัญ

มันจับได้ FFT คาดเดาสัญญาณซ้ําตลอดไป แต่ ตัว อย่าง ของ เรา มี จํากัด — มัน เริ่ม และ หยุด. ถ้าสัญญาณไม่ได้เกิดขึ้นที่ศูนย์ที่จุดปลายทั้งสองตัดอย่างกะทันหัน สร้างเนื้อหาความถี่สูงเทียม มันเรียกว่า การรั่วไหลของสเปกตรัม.

แก้ไข: คูณสัญญาณด้วย a~wadow ฟังก์ชันที่ tapers อย่างราบรื่นถึงศูนย์ที่ขอบ หน้าต่างทั่วไป:

  • HEN (เสียงระฆัง): วัตถุประสงค์ที่ดี, สูญเสียความละเอียดความถี่
  • ~Hamming ~: คล้ายกับฮัน แต่ไม่ได้ถึงศูนย์ที่ขอบ, ด้านข้างที่ดีกว่าเล็กน้อย
  • ~ แบล็คแมน~: กลีบสมองหลักที่แคบกว่า การกดด้านข้างที่ดีกว่า สูญเสียความละเอียดความถี่

ทาง เลือก เป็น ทาง ออก เสมอ ระหว่าง มติ ของ ความ ถี่ (วิธี ที่ คุณ ระบุ ความ ถี่ ได้ อย่าง แม่นยํา) และ การ รั่วไหล ของ สเปกตรัม (ปริมาณ พลัง งาน ที่ ไหล ออก จาก ถัง ข้าง เคียง). ไม่มีหน้าต่างที่สมบูรณ์แบบ นี่ เป็น ผล จาก หลัก การ ที่ ไม่ แน่นอน — คุณ ไม่ อาจ มี ความ รู้ ที่ ถูก ต้อง ตาม อําเภอ ใจ ทั้ง ใน เรื่อง เวลา และ ความ ถี่ พร้อม กัน.

ที่ อยู่ ของ ชีวิต

คุณโต้ตอบกับผล FFT เสมอ:

  • ~MP3 และ AAC บีบอัด ~: เปลี่ยนเสียงเป็นความถี่, ทิ้งความถี่ใต้เส้นเสียง, บีบสิ่งที่เหลืออยู่ การแปลงเป็นพื้นฐานทั้งหมด ของการบีบอัดเสียงสูญเสีย.
  • ** การบีบอัด JPEG ~: เวอร์ชั่น 2 มิติ (DCT) แปลงบล็อก 8x8 พิกเซลเป็นพื้นที่ความถี่, ควอนตัมองค์ประกอบความถี่สูง นั่นเป็นเหตุผลที่วัตถุ JPEG ปรากฏเป็นบล็อก.
  • "WiF และ 5GG": การเข้ารหัส UNDM แบ่งข้อมูลผ่านเครื่องย่อยความถี่ต่างๆ FFT เปลี่ยนแปลงระหว่างการส่งสัญญาณของเวลากับสัญลักษณ์ของข้อมูลความถี่.
  • สัญญาณดิบจากสแกน MRI อยู่ในพื้นที่ความถี่ อินเวอร์ส FFT จะสร้างรูปภาพขึ้นมาใหม่ ตามหลักแล้ว ทุกๆ MRI ที่คุณเคยเห็นคือ การแปลงอินเวอร์สโฟร์เทียร์.
  • ** SASHam*: คํานวณ สเปกโตรแกรม (FT over หน้าต่างเลื่อน) เพื่อสกัดกั้นยอดหน้าต่าง ตรงกับรูปแบบกับฐานข้อมูล FFT เป็นก้าวแรกในการจดจําทุกเพลง.

อัลกอริธึมอายุ 60 ปี ในกระเป๋าของคุณ ทํางานหลายพันล้านครั้งต่อวัน.

((เสียงรบกวน: ฟังก์ชัน-พล็อต)

ลองสิ

เปิด PinePaper, เลือกเครื่องกําเนิดเสียงสเปกตรัม สร้างคลื่นสี่เหลี่ยม ดูที่แท่งสิ -- คุณจะเห็น ฮาร์โมนิคแปลกๆ ตกลงมาเป็น 1/n เปลี่ยน ไป เป็น เลื่อย ตอน นี้ ทุก คน อยู่ พร้อม หน้า กัน และ ตก ลง มา เป็น 1/n. ปรับ ตัว ให้ เข้า กับ เสียง — สเปกตรัม แบบ แฟลกซ์ ทุก ความ ถี่ พอ ๆ กัน.

เปลี่ยนฟังก์ชันของหน้าต่าง ดูวิธีที่ฮันน์เรียบสเปกตรัมที่ค่าใช้จ่ายของ ยอดที่กว้างขึ้น เปลี่ยน ไป เป็น แบล็ค แมน — ยอด เขา ที่ แคบ กว่า แต่ เป็น ลูก โลก ชั้น ล่าง.

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

อ้างอิง

  • Brigham, E.O. (1988). ♪เร็วโฟร์แอร์เปลี่ยนและโปรแกรมของมัน♪ เพรสทีสฮอลล์.
  • Vey, J.W. & Toky, J.W. (1965). อัลกอริธึมสําหรับการคํานวณเครื่องจักรของคอมพลิเน็กซ์โฟร์เมียร์ซีรีส์ maticary of Commutation, 19(90), 297-301.
  • Fourier, J. (1822). ♪ Theorie analytique de la Chaleur ♪ ปารีส: เฟอร์ ดิน ดี อต.
  • แฮริส เอฟ.เจ. (1978). ในการใช้วินโดวส์ในการวิเคราะห์ฮาร์โมนิค กับดิสเดรตโฟร์เออร์ * prilations of the IEE*, 66(1), 51-83.
  • Oppenheim, A.V. และ Shafer, R.W. (2009). * การประมวลผลสัญญาณเวลาของ Discrate* (3 Ed.). เพรสทีสฮอลล์.
  • แชนนอน (1949). การสื่อสารกับสัญญาณรบกวน ♪ประกาศของ IRE* 37(1), 10-21.
  • Smith, S.W. (1997). ♪คู่มือของนักวิทยาศาสตร์และวิศวกร การประมวลผลสัญญาณดิจิทัล♪ สํานักพิมพ์แคลิฟอร์เนีย.
  • แวง, เอ, อัล (2003). International-Strength สืบค้นเมื่อ Algorith. ♪ประกาศของ ISMIR 2003* (อัลกอริธึมพิมพ์เสียงของซัคซาม)
  • วอลเลซ จีเค (1991). ภาพ JPEG ยังคงมาตรฐานการบีบอัดภาพ * Commication of the ACM*, 34(4), 30-44.

PinePaper's FFT (FFF) เป็นระบบ Cooley-Toukey Radix-2. ปรับใช้กับฮันน์, แฮมมิง, และ Blackman windowing รวมกับเครื่องกรองความเร็วสูง ลองฟรีที่ กระดาษพิ้นเตอร์. studiod/editor.

Ready to create?

Start making animated GIFs, videos, and graphics — free, no signup.

Open PinePaper Editor