สิ่ง ที่ FFT แสดง ให้ คุณ เห็น จริง ๆ
เสียงทุกเสียงที่คุณได้ยิน เป็นผลรวมของคลื่นไซน์. The Fast Fourier เปลี่ยนแปลงการย่อยสลายของสารที่รวมกัน. นี่คือสิ่งที่มันหมายถึง วิธีการทํางาน และทําไมอัลกอริทึมอายุ 60 ปี ยังคงอยู่ทุกหนทุกแห่ง.
On this page
คํา ถาม
เล่น คอร์ด กับ เปีย โน — พูด, C และ E ด้วยกัน. หูคุณได้ยินเสียงเดียว. แต่เสียงนั้น มีคลื่นความถี่ 2 ความถี่เหนือขึ้นไป 256 Hz และ 329.6 Hz. คอ ชี เลีย ของ คุณ แยก มัน ออก จาก กัน — เซลล์ ผม หลาย เซลล์ จะ สะท้อน ความ ถี่ ต่าง กัน ส่ง สัญญาณ ต่าง ๆ ไป ยัง สมอง ของ คุณ.
การแปลงแบบเร็วก็เช่นเดียวกัน แต่ด้วยตัวเลข แทนที่จะเป็นเซลล์ผม. ให้สัญญาณมัน (ลําดับของตัวอย่างแอมพลิจูดเมื่อเวลาผ่านไป) และมันจะส่งรายการความถี่และจุดแข็งของมันกลับมา. มันตอบ: ~ความถี่ที่ปรากฏอยู่และวิธีการของแต่ละ? ~
จริงๆแล้วเกิดอะไรขึ้น
สัญญาณที่ตัวอย่างตลอดเวลา เป็นรายการตัวเลข: แอมพลิจูดที่แต่ละจุดตัวอย่าง. บันทึก 1 วินาทีที่ 44,100 Hz เป็นจํานวน 44,100 ตัว. ตัวเลขเหล่านี้อธิบายสัญญาณในขอบเขตเวลา แอมพลิจูดเป็นฟังก์ชันของเวลา.
FFTT ได้แปลงสิ่งนี้เป็นโดเมนความถี่ แอมพลิจูดเป็นฟังก์ชันของความถี่. ข้อมูลเดียวกัน ตัวแทนต่างกัน. เช่น การสลับระหว่างพิกัดคาร์ทีเชียนกับพิกัดขั้ว ไม่มีอะไรถูกสร้างขึ้นหรือถูกทําลาย.
แกนคณิตศาสตร์: ทุกสัญญาณคาบๆ สามารถเขียนเป็นผลรวม ของคลื่นไซน์และโคไซน์. นี่คือทฤษฎีบทของโฟร์เออร์ (807). FFT คํานวณสัมประสิทธิ์ของผลรวมนั้น ความถี่แต่ละเส้นอยู่ในสัญญาณเท่าไหร่.
ทําไม "ผี"
วิธีที่ไร้เดียงสาในการคํานวณ การแปลงโฟร์แอร์ต้องการ N2 ดําเนินการสําหรับตัวอย่าง N. สําหรับตัวอย่าง 1024, นั่นคือการดําเนินการประมาณ 1 ล้าน. อัลกอริทึม Cooley-Toukey (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. นี่คือเหตุผลว่าทําไมคลื่นตารางเสียง "Boozzy" — มันมีพลังงานความถี่สูง ที่ไซน์บริสุทธิ์ไม่มี.- ♪ เสียงสีดํา ♪ ผลิตแท่งของความสูงที่ประมาณเดียวกันทุกที่. ทุกความถี่มีความน่าจะเป็นเท่ากัน.
- ♪ เสียงของมนุษย์♪สร้างรากฐาน (สนามที่คุณได้ยิน) บวก พลเอก — ยอด ที่ ขึ้น มา ใหม่ จาก รูป ของ แผ่น เสียง ของ คุณ ซึ่ง แยก ออก ว่า สระ ต่าง ๆ.
สาม คน แรก อยู่ ข้าง ล่าง — คลิกตรงกลาง. ความสูงคือสูตร, ไม่ใช่ภาพวาด, ไซน์คือ 1 ที่ฐาน, คลื่นกําลังสองเท่ากับ 1/n พอดี ที่ฮาร์โมนิคแปลกๆ.
หน้าต่าง: เหตุ ใด ขอบ ขอบ จึง สําคัญ
มันจับได้. 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, เลือกเครื่องกําเนิดเสียงสเปกตรัม. สร้างคลื่นสี่เหลี่ยม. ดู ลูก กรง ซิ — คุณจะเห็นว่า harmonics แปลกลดลงเป็น 1/n. เปลี่ยน เป็น เลื่อย ปัจจุบัน ฮาร์โมนิกส์ทั้งหมดก็มาแล้ว ลดลงเป็น 1/n. เปลี่ยน เป็น เสียง — สเปกตรัมแบบแบนๆ ทุกความถี่ที่มีโอกาสเท่ากัน.
เปลี่ยนฟังก์ชันของหน้าต่าง. ดูวิธีที่ฮันน์เรียบสเปกตรัมที่ค่าใช้จ่ายของ ยอดที่กว้างขึ้น. เปลี่ยน เป็น คน ดํา — ยอดเขาที่แคบกว่านี้ แต่ล่างสุด.
คุณไม่ได้อ่านเกี่ยวกับ FFT. คุณกําลังวัดสัญญาณ และสังเกตสิ่งที่เปลี่ยนแปลงเปิดเผย. นั่นคือความแตกต่างระหว่างความรู้กับความเข้าใจ.
อ้างอิง
- บริกแฮม อี.โอ. (1988). ♪เร็วโฟร์แอร์เปลี่ยนและโปรแกรมของมัน♪. เพรสทีสฮอลล์.
- คูลลี่ เจ.ดับเบิลยู. ทักกี้, J.W. (1965). อัลกอริธึมสําหรับการคํานวณเครื่องจักรของคอมพลิเน็กซ์โฟร์เมียร์ซีรีส์. maticary of Commutation, 19(90), 297-301.
- สี่ ปี ที่ แล้ว เจ. 1822). ♪ Theorie analytique de la Chaleur ♪. ปารีส: เฟอร์ ดิน ดี อต.
- แฮริส เอฟ.เจ. (1978). ในการใช้วินโดวส์ในการวิเคราะห์ฮาร์โมนิค กับดิสเดรตโฟร์เออร์. * prilations of the IEE*, 66(1), 51-83.
- Offpenheim, A.V. & ชัฟเฟอร์, อาร์.ดับเบิลยู. (2009). * การประมวลผลสัญญาณเวลาของ Discrate* (3 Ed.). เพรสทีสฮอลล์.
- แชนนอน ค.ศ. (1949). การสื่อสารกับสัญญาณรบกวน. ♪ประกาศของ IRE* 37(1), 10-21.
- สมิท, เอส. (1997). ♪คู่มือของนักวิทยาศาสตร์และวิศวกร การประมวลผลสัญญาณดิจิทัล♪. สํานักพิมพ์แคลิฟอร์เนีย.
- แวง เอ เอ. (2003). International-Strength สืบค้นเมื่อ Algorith. ♪ประกาศของ ISMIR 2003*. (อัลกอริธึมพิมพ์เสียงของซัคซาม)
- วอลเลซ จีเค. (1991). ภาพ JPEG ยังคงมาตรฐานการบีบอัดภาพ. * Commication of the ACM*, 34(4), 30-44.
PinePaper ของ FFT คือ Cooley-Toukey Radix-2. ปรับใช้กับ Hann, Hamming, และ Blackman finding, บวกกับ blow-pass และเครื่องกรองความเร็วสูง. ลองฟรีที่ [กระดาษพินินทร์/ดีเจ (/editor).
Ready to create?
Start making animated GIFs, videos, and graphics — free, no signup.
Open PinePaper Editor