นอกจากนี้ยังมีความเป็นไปได้ในการใช้การแปรปรวนความถี่ (ยังใช้เป็นแว่นขยายในการที่คุณได้รับการปรับปรุงความละเอียดในช่วงความถี่ที่คุณสนใจสำหรับ FFT ขนาดเดียวกันที่ค่าใช้จ่ายของความละเอียดต่ำที่ความถี่สูงกว่า) อย่างไรก็ตามคุณไม่ได้บันทึก MIPS ใด ๆ เนื่องจากขนาด FFT จะไม่ลดลงและการแปรปรวนความถี่นั้นอยู่ไกลจากราคาถูก
หากคุณต้องการคำนวณเฉพาะถังขยะบางอย่างใน FFT (และดังนั้นจึงประหยัด MIPS) มีสองวิธีที่จะทำเช่นนั้น เช่นเลื่อน DFT อ้างอิงในบทความนี้ให้คำอธิบายที่ดีมากhttp://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf ฉันยังคิดว่า goertzel algo ทำสิ่งที่คล้ายกัน แต่ฉันไม่รู้
จากนั้นมีตัวเลือกของการสุ่มตัวอย่างก่อน FFT'ing นั่นอาจจะช่วยประหยัด MIPS ได้อีกด้วย
แก้ไข: เพียงชี้แจงความคิดเห็นเกี่ยวกับอัลกอริทึม Goertzel ที่ไม่มีประโยชน์ โดยการเสียบค่าโดยตรงลงในนิพจน์ที่พบที่ด้านล่างของหน้าวิกินี้http://en.wikipedia.org/wiki/Goertzel_algorithmวิธี Goertzel จะซับซ้อนกว่า FFT เมื่อขนาดของ FFT ที่ต้องการมีขนาดใหญ่กว่า 128 (สมมติว่าขนาด FFT เป็นปัจจัยของ 2 และการนำ Radix-2 มาใช้)
อย่างไรก็ตามมีปัจจัยอื่น ๆ ที่ควรนำมาพิจารณาซึ่งเป็นประโยชน์ต่อ Goertzel เพื่ออ้างถึงหน้า wiki: "การใช้งาน FFT และแพลตฟอร์มการประมวลผลมีผลกระทบอย่างมีนัยสำคัญต่อประสิทธิภาพสัมพัทธ์การใช้งาน FFT บางอย่าง [9] ทำการคำนวณจำนวนเชิงซ้อนภายในเพื่อสร้างสัมประสิทธิ์แบบ on-the-fly หน่วยการทำงาน "อัลกอริธึม FFT และ DFT สามารถใช้ตารางค่าสัมประสิทธิ์ที่คำนวณล่วงหน้าเพื่อประสิทธิภาพเชิงตัวเลขที่ดีขึ้น แต่สิ่งนี้ต้องการการเข้าถึงค่าสัมประสิทธิ์บัฟเฟอร์ที่เพิ่มขึ้นในหน่วยความจำภายนอกซึ่งสามารถนำไปสู่การโต้แย้งแคชที่เพิ่มขึ้น ."
"อัลกอริธึมทั้งสองได้รับประมาณ 2 เท่าของประสิทธิภาพเมื่อใช้มูลค่าจริงมากกว่าข้อมูลที่มีมูลค่าซับซ้อนอย่างไรก็ตามผลกำไรเหล่านี้เป็นเรื่องธรรมดาสำหรับอัลกอริทึม Goertzel แต่จะไม่ประสบความสำเร็จสำหรับ FFT โดยไม่ต้องใช้ตัวแปรอัลกอริทึมเฉพาะ ข้อมูลที่มีค่า "