<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FFT on ZL Audio</title><link>https://zl-audio.github.io/zh-cn/tags/fft/</link><description>Recent content in FFT on ZL Audio</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 08 Aug 2026 21:43:20 -0400</lastBuildDate><atom:link href="https://zl-audio.github.io/zh-cn/tags/fft/index.xml" rel="self" type="application/rss+xml"/><item><title>高性能 FFT 库 zldsp::fft</title><link>https://zl-audio.github.io/zh-cn/reports/zldsp_fft/</link><pubDate>Tue, 04 Aug 2026 00:00:00 +0000</pubDate><guid>https://zl-audio.github.io/zh-cn/reports/zldsp_fft/</guid><description>&lt;p&gt;&lt;code&gt;zldsp::fft&lt;/code&gt; 是一个基于 &lt;a href="https://github.com/google/highway"&gt;Google Highway&lt;/a&gt; 构建的 header-only C++ FFT 库。&lt;code&gt;zldsp::fft&lt;/code&gt; 遵循 Apache-2.0 开源许可证。你可以在 &lt;a href="https://github.com/ZL-Audio/zldsp_fft"&gt;GitHub&lt;/a&gt; 获取源代码。&lt;code&gt;zldsp::fft&lt;/code&gt; 支持 SSE2/SSE4/AVX2/NEON SIMD target，并对复数同时支持 AoS/SoA 布局。&lt;/p&gt;
&lt;h2 id="使用"&gt;使用&lt;a class="td-heading-self-link" href="#%e4%bd%bf%e7%94%a8" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;C++ Standard: C++20 或更高版本&lt;/li&gt;
&lt;li&gt;Google Highway: 项目中必须包含并链接 Google Highway。本库的头文件需要解析以下 include：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;hwy/aligned_allocator.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;hwy/highway.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="编译参数"&gt;编译参数&lt;a class="td-heading-self-link" href="#%e7%bc%96%e8%af%91%e5%8f%82%e6%95%b0" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;要启用 SIMD，必须设置正确的编译 flag。Highway 会根据这些 flag 自动检测目标架构。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;SIMD Target&lt;/th&gt;
					&lt;th&gt;GCC/Clang&lt;/th&gt;
					&lt;th&gt;MSVC&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;SSE2&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-march=x86-64&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;no flag required&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SSE4&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-march=x86-64-v2 -mase -mpclmul&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;not supported&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AVX2&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-march=x86-64-v3 -maes -mpclmul&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/arch:AVX2&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;NEON&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-march=armv8-a+simd&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/arch:armv8.0&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;包含 &lt;code&gt;/src&lt;/code&gt; 目录下的相关头文件即可。&lt;/p&gt;</description></item></channel></rss>