MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
N 次元の高速フーリエ変換
Y = fftn(X)
Y = fftn(X,sz)
Y = fftn(X) は、高速フーリエ変換アルゴリズムを使用して N 次元配列の多次元フーリエ変換を返します。N 次元変換は、X の各次元に沿って、1 次元変換を計算することと等価です。出力 Y は、X と同じサイズです。
X
Y
例
Y = fftn(X,sz) は、変換を行う前にベクトル sz の要素に従って X を切り捨てるか、X の末尾をゼロでパディングします。sz の各要素は、対応する変換次元の長さを定義します。たとえば、X が 5×5×5 の配列の場合、Y = fftn(X,[8 8 8]) は各次元をゼロでパディングして、8×8×8 の変換 Y を行います。
sz
Y = fftn(X,[8 8 8])
すべて折りたたむ
関数 fftn を使用して、多次元配列の各次元内の 1 次元高速フーリエ変換を計算できます。
fftn
3 次元信号 X を作成します。X のサイズは、20×20×20 です。
x = (1:20)'; y = 1:20; z = reshape(1:20,[1 1 20]); X = cos(2*pi*0.01*x) + sin(2*pi*0.02*y) + cos(2*pi*0.03*z);
信号の 3 次元フーリエ変換を計算します。これは 20×20×20 配列でもあります。
Y = fftn(X);
X をゼロでパディングして、32×32×32 の変換を計算します。
m = nextpow2(20); Y = fftn(X,[2^m 2^m 2^m]); size(Y)
ans = 1×3 32 32 32
入力配列。行列または多次元配列として指定します。X の型が single である場合、fftn はネイティブ レベルの単精度で計算し、Y の型も single になります。それ以外の場合、Y は double 型として返されます。
single
double
データ型: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical 複素数のサポート: あり
int8
int16
int32
uint8
uint16
uint32
logical
変換次元の長さ。正の整数のベクトルとして指定します。sz の要素は、対応する X の次元の変換の長さに相当します。length(sz) は ndims(X) 以上でなければなりません。
length(sz)
ndims(X)
データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
N 次元配列 X の離散フーリエ変換 Y は次のように定義されます。
Yp1,p2,...,pN=∑j1=0m1−1ωm1p1j1∑j2=0m2−1ωm2p2j2...∑jN=0mN−1ωmNpNjNXj1,j2,...,jN.
k = 1,2,...,N の各次元の長さは mk であり、ωmk=e−2πi/mk は 1 の複素根です。ここで i は虚数単位です。
すべて展開する
使用上の注意および制限:
sz 引数は固定サイズでなければなりません。
MEX 出力の場合、MATLAB® Coder™ は MATLAB が FFT アルゴリズムに使用するライブラリを使用します。スタンドアロン C/C++ コードの場合、コード ジェネレーターは既定で、FFT ライブラリの呼び出しを生成する代わりに FFT アルゴリズムのコードを生成します。特定のインストールされた FFTW ライブラリの呼び出しを生成するには、FFT ライブラリ コールバック クラスを指定します。FFT ライブラリ コールバック クラスの詳細については、coder.fftw.StandaloneFFTW3Interface (MATLAB Coder) を参照してください。
coder.fftw.StandaloneFFTW3Interface
MATLAB Function ブロックのシミュレーションの場合、シミュレーション ソフトウェアは MATLAB が FFT アルゴリズムに使用するライブラリを使用します。C/C++ コード生成の場合、コード ジェネレーターは既定で、FFT ライブラリの呼び出しを生成する代わりに FFT アルゴリズム用のコードを生成します。特定のインストールされた FFTW ライブラリの呼び出しを生成するには、FFT ライブラリ コールバック クラスを指定します。FFT ライブラリ コールバック クラスの詳細については、coder.fftw.StandaloneFFTW3Interface (MATLAB Coder) を参照してください。
コード置換ライブラリ (CRL) を使用して、Neon 拡張を含む ARM® Cortex®-A Processors で実行される最適化されたコードを生成できます。最適化されたコードを生成するには、Embedded Coder® Support Package for ARM Cortex-A Processors (Embedded Coder) をインストールしなければなりません。ARM Cortex-A で生成されたコードは Ne10 ライブラリを使用します。詳細については、Ne10 Conditions for MATLAB Functions to Support ARM Cortex-A Processors (Embedded Coder) を参照してください。
コード置換ライブラリ (CRL) を使用して、ARM Cortex-M Processors で実行される最適化されたコードを生成できます。最適化されたコードを生成するには、Embedded Coder Support Package for ARM Cortex-M Processors (Embedded Coder) をインストールしなければなりません。ARM Cortex-M で生成されたコードでは、CMSIS ライブラリを使用します。詳細については、CMSIS Conditions for MATLAB Functions to Support ARM Cortex-M Processors (Embedded Coder) を参照してください。
backgroundPool
ThreadPool
fftn 関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
fftn 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
虚数部がすべてゼロであっても、出力 Y は常に複素数です。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
fftn 関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2006a より前に導入
fft | fft2 | fftw | ifftn
fft
fft2
fftw
ifftn
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ