主要内容

fftshift

ゼロ周波数成分をスペクトルの中心に移動

説明

Y = fftshift(Xは,ゼロ周波数成分を配列の中心に移動することで,フ,リエ変換Xを並べ替えます。

  • Xがベクトルの場合,fftshiftXの左半分と右半分を入れ替えます。

  • Xが行列の場合,fftshiftは,Xの第1象限と第3象限を2象限と第4象限を入れ替えす。

  • Xが多次元配列の場合,fftshiftは,各次元に沿ってXの半空間を入れ替えます。

Y = fftshift(X昏暗的は,Xの次元昏暗的に沿って処理します。たとえば,行列Xの行が複数の1次元変換を表す場合,fftshift (X, 2)Xの各行の半分を入れ替えます。

すべて折りたたむ

行ベクトルの左半分と右半分を入れ替えます。ベクトルの要素数が奇数である場合、中央の要素はベクトルの左半分に含まれると見なされます。

Xeven = [1 2 3 4 5 6];fftshift (Xeven)
ans =1×64 5 6 1 2 3
Xodd = [1 2 3 4 5 6 7];fftshift (Xodd)
ans =1×75 6 7 1 2 3 4

信号の周波数成分の解析時に,ゼロ周波数成分を中心にシフトすると役立場合があります。

信号年代を作成し,フ,リエ変換を計算して,パワ,をプロットします。

Fs = 100;%采样频率T = 0:(1/fs):(10-1/fs);%时间向量S = cos(2* *15*t);n =长度(S);X = fft(S);F = (0:n-1)*(fs/n);%频率范围幂= abs(X).^2/n;%的权力情节(f、电力)

图中包含一个轴对象。axis对象包含一个line类型的对象。

ゼロ周波数成分をシフトし,ゼロを中心にしてパワ,をプロットします。

Y = fftshift(X);Fshift = (-n/2:n/2)*(fs/n);%以零为中心的频率范围powershift = abs(Y).^2/n;%零中心功率情节(fshift powershift技术)

图中包含一个轴对象。axis对象包含一个line类型的对象。

複数の1次元信号は,行列内の行として表すことで処理できます。次に,次元引数を使用してフ,リエ変換を計算し,各行のゼロ周波数成分をシフトします。

行が2の1次元信号を表す行列一个を作成し,各信号のフ,リエ変換を計算します。各信号のパワ,をプロットします。

Fs = 100;%采样频率T = 0:(1/fs):(10-1/fs);%时间向量S1 = cos(2* *15*t);S2 = cos(2* *30*t);n = length(S1);A = [s1;S2);X = fft(A,[],2);F = (0:n-1)*(fs/n);%频率范围幂= abs(X).^2/n;%的权力情节(f、电力(1:),f,权力(2:))

图中包含一个轴对象。axis对象包含2个line类型的对象。

ゼロ周波数成分をシフトし,ゼロを中心にして各信号のパワ,をプロットします。

Y = fftshift(X,2);Fshift = (-n/2:n/2)*(fs/n);%以零为中心的频率范围powershift = abs(Y).^2/n;%零中心功率情节(fshift powershift技术(1:),fshift, powershift技术(2:))

图中包含一个轴对象。axis对象包含2个line类型的对象。

入力引数

すべて折りたたむ

入力配列。ベクトル、行列、または多次元配列として指定します。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑
複素数のサポ,ト:あり

演算の対象の次元。正の整数のスカラ,として指定します。値を指定しない場合,fftshiftはすべての次元に沿って入れ替えます。

  • 入力行列Xcを考えます。演算fftshift (Xc, 1)Xcの各列の半分を入れ替えます。

    fftshift(Xc,1)逐列操作

  • 行列Xrを考えます。演算fftshift (Xr, 2)Xrの各行の半分を入れ替えます。

    fftshift(Xr,2)逐行操作

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

拡張機能

C/ c++コ,ド生成
MATLAB®Coder™を使用してCおよびc++コドを生成します。

Gpuコ,ド生成
GPU编码器™を使用してNVIDIA GPU®のためのCUDA®コードを生成します。

バ,ジョン履歴

R2006aより前に導入