複素数を扱うためにvDSP.hで定義された構造体
typedef struct DSPComplex {
float real;
float imag;
} DSPComplex;
typedef struct DSPSplitComplex {
float * __nonnull realp;
float * __nonnull imagp;
} DSPSplitComplex;
1次元高速フーリエ変換
vDSP_create_fftsetup
vDSP_destroy_fftsetup
1次元高速フーリエ変換(In-Place Complex)
vDSP_fft_zip テンポラリバッファ未使用
vDSP_fft_zipt テンポラリバッファ使用
1次元高速フーリエ変換(Out-Of-Place Complex)
vDSP_fft_zop テンポラリバッファ未使用
vDSP_fft_zopt テンポラリバッファ使用
1次元高速フーリエ変換(In-Place Real)
vDSP_fft_zrip テンポラリバッファ未使用
vDSP_fft_zript テンポラリバッファ使用
vDSP_fftm_zrip 複数信号,テンポラリバッファ未使用
vDSP_fftm_zript 複数信号,テンポラリバッファ使用
vDSP_fft_zripの引数
vDSP_Length Log2N -> 要素数を2の何乗かで指定します。要素数が1024なら210=1024なので10を指定します。
FFTDirection Direction -> kFFTDirection_Forward: フーリエ変換, kFFTDirection_Inverse : 逆変換
参考:
Using Fourier Transforms
1次元高速フーリエ変換(Out-of-Place Real)
vDSP_fft_zrop テンポラリバッファ未使用
vDSP_fft_zropt テンポラリバッファ使用
vDSP_fftm_zrop 複数信号,テンポラリバッファ未使用
vDSP_fftm_zropt 複数信号,テンポラリバッファ使用
1次元高速フーリエ変換(固定長)
vDSP_FFT16_copv 16要素 interleaved
vDSP_FFT32_copv 32要素 interleaved
vDSP_FFT16_zopv 16要素 split
vDSP_FFT32_zopv 32要素 split
2次元高速フーリエ変換(In-Place Real)
vDSP_fft2d_zrip
vDSP_fft2d_zript
2次元高速フーリエ変換(Out-of-Place Real)
vDSP_fft2d_zrop
vDSP_fft2d_zropt
離散フーリエ変換
vDSP_DFT_zop_CreateSetup
vDSP_DFT_zrop_CreateSetup
vDSP_DFT_DestroySetup
vDSP_DFT_Execute
離散コサイン変換
vDSP_DCT_CreateSetup
vDSP_DCT_Execute
相関,畳み込み
vDSP_conv 2つの実ベクターの相関または畳み込み
vDSP_zconv 2つの複素ベクターの相関または畳み込み
vDSP_wiener ウィーナフィルタとして使えるFIRフィルタの生成
vDSP_desamp デシメーション,アンチエイリアスするFIRフィルタ
vDSP_zrdesamp デシメーション,アンチエイリアスするComplex-real FIRフィルタ
vDSP_f3x3 3x3カーネルでの2次元畳み込みで画像をフィルタ
vDSP_f5x5 5x5カーネルでの2次元畳み込みで画像をフィルタ
vDSP_imgfir 1カーネルでの2次元畳み込みで画像をフィルタ
ウィンドウ
vDSP_blkman_window
vDSP_hamm_window
vDSP_hann_window
単一チャネル4次IIRフィルタ
vDSP_biquad_CreateSetup
vDSP_biquad_DestroySetup
vDSP_biquad
複数チャネル4次IIRフィルタ
vDSP_biquadm_CreateSetup
vDSP_biquadm_DestroySetup
vDSP_biquadm_ResetState
vDSP_biquadm_SetActiveFilters
vDSP_biquadm_SetCoefficientsSingle
vDSP_biquadm_SetCoefficientsDouble
vDSP_biquadm_SetTargetsSingle
vDSP_biquadm_SetTargetsDouble
vDSP_biquadm_biquadm
複素ベクター変換
vDSP_ctoz DSPComplex から DSPSplitComplex へ変換
vDSP_ztoc DSPSplitComplex から DSPSplitComplex へ変換
floatから24ビット整数への変換
vDSP_vsmfix24
vDSP_vsmfixu24
vDSP_vflt24
vDSP_vfltu24
vDSP_vfltsm24
vDSP_vfltsmu24