Radix-4 FFT เมื่อเทียบกับ Radix-2


10

การใช้ Radix-4 เร็วกว่าการแปลงรหัส Radix-2 FFT ที่เท่ากันหรือไม่? และถ้าเป็นเช่นนั้นทำไมมันจะเร็วขึ้น?

คำตอบ:


5

มันขึ้นอยู่กับ. ในทางทฤษฎีคุณสามารถบันทึกการคูณด้วย radix-4 ได้เนื่องจาก radix-4 มีจำนวนของผีเสื้อ 1 / 4th และ 3 mpy + 8 เพิ่มต่อผีเสื้อ (ถ้ามีโครงสร้างที่เหมาะสม) และ radix 2 มี 1 mpy + 2 เพิ่มต่อผีเสื้อ .

ดังนั้นในแง่ของการทวีคูณมันจะดีขึ้นเล็กน้อย แต่ก็มีความซับซ้อนที่สูงขึ้นในแง่ของโครงสร้างโค้ดการจัดการข้อยกเว้นการจัดการค่าสัมประสิทธิ์การจัดการการลงทะเบียน

ดังนั้นมันจึงเป็นข้อได้เปรียบเฉพาะถ้าจำนวน mpy เป็นปัจจัย จำกัด ซึ่งสำหรับฮาร์ดแวร์ส่วนใหญ่ในทุกวันนี้ไม่ใช่กรณี


2

ที่นี่ ! คุณสามารถค้นหาคำอธิบายของความแตกต่างหลักระหว่างอัลกอริธึมสองประการสำหรับ FFT ในตอนท้ายของเอกสารมีบางตารางที่เป็นไปได้ที่จะทราบว่าหากขนาดของข้อมูลเพิ่มขึ้นประสิทธิภาพของ radix-4 fft จะดีกว่า radix-2


2

π2บาป()cos()

จำนวนสุทธิของการคูณและการเพิ่มเติมที่ฉันคิดว่าเหมือนกัน แต่ผีเสื้อ radix-4 สามารถทำได้ในหน่วยประมวลผลลงทะเบียนธนาคาร (ฉันคิดว่ามีการลงทะเบียนจุดลอยตัวที่แตกต่างกันประมาณ 16 รายการและคุณต้องการ 8 สำหรับชิ้นส่วนจริงและ imag ของค่า 4 ค่า, 2 รีจิสเตอร์สำหรับ twiddles บาปและโคไซน์และบางทีรีจิสเตอร์อื่นหรือสองค่าเพื่อลบล้าง) นี้เร็วกว่าการทำในหน่วยความจำ


-2

ใน radix 2 จำนวนของตัวอย่างอยู่ในรูปของกำลังของ 2 กำลัง แต่ใน radix 4 จำนวนของตัวอย่างอยู่ในอำนาจของ 4


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