COM API


SpectraPLUS-SC
Visual BasicC++ Excelのような外部プログラムでコントロールし、データを処理することができます。アプリケーションプログラムインターフェース(API)は下記の通りです。

 備考: この機能にアクセスするには「Automation Tools」オプション(Opt/10)の搭載が必須です。「Accessed Denied」が表示される場合は非搭載ですので当該オプションを追加購入下さい。

初期化
アナライザーIコントロール
データ取得



        *VB サンプル: ZIPファイル

        *)C/C++ サンプル: ZIPファイル



14-1 初期化

言語別 (VB/C/Excel) に以下記述します

 

Visual Basic (Microsoft Visual Studio 2008)

1. プロジェクトへのオートメーションインターフェースに参照を加えます

  1.  プロジェクトを選択 | 参照を追加
  2.  参照ダイアログでCOMタブを選択
  3. SpectraPLUS-SC Automation Typelibを選択
  4.  OKをクリック 

2. クラスのインスタンスを作成します

Dim SP As SpectraPLUS-SC_SCAutomationLib.ISpectraPLUS-SC_SC
SP = New SpectraPLUS-SC_SCAutomationLib.SpectraPLUS-SC_SCClass

3. メソッドを呼び出します

SP.Run()

 

Return Values

メソッドがHRESULTsを返すので、もしエラーが発生すればVisual Basicは戻り値を例外にコンバートします。そのようにコードで例外を取り扱わなければなりません。

On Error GoTo Err_Trap

    

... call methods, etc.

 

Err_Trap:

     Dim sMsg As String

  sMsg = "The error returned: "

     sMsg = sMsg & Err.Description

  MsgBox sMsg, vbCritical, _

       "Error" & Str$(Err.Number)

  Err.Clear

  Resume Next

 

Accessing Arrays

GetSpectrum()SAFEARRAYSをどう使用するかに関する例を以下に述べます。freqdataの両方は単精度浮動小数点配列です。

Dim freq() As Single

Dim data() As Single

      

SP.GetSpectrum(0, freq, data)

    

Dim n As Variant

    

For Each n In freq

  Value = n

Next n

    

For Each q In data

  Value = q

Next q



Visual C++ (Visual Studio 2008)

  1. Type Library (TLB)をインポートします。
  2. そのTypeのスマートポインタを作成します。
  3. メソッドを呼び出します。 

#import "C:\SpectraPLUS-SC_SC\bin\ SPAxnIface.tlb" no_namespace

 

CoInitialize(NULL);

 

ISpectraPLUS-SC_SCPtr ISP(__uuidof(SpectraPLUS-SC_SCClass));

 

if ( ISP )

{

  ISP->Run();

}

 

… execute remainder of program …

 

ISP = 0;

 

戻り値はHRESULTSです。スマートポインターのVisual C++実装は戻り値を妨害し、エラーを除外します。このようにすべてのコードはtry/catchブロックに注意しなければなりません。除外されるタイプは_com_errorです。 

 

try

{

  ISP->Run();

}

catch ( _com_error &error )

{

  MessageBox( error.ErrorMessage() );

}

 

 

 

備考

    SpectraPLUSは通常、手動操作で終了致します。  リモート環境下での制御は下記例を参照下さい。

 

    C++ code:

    // Close the analyzer
    m_SP.Release();
    HWND hWnd = ::FindWindow("SpectraPLUS-SC", NULL);
    if (hWnd)
    {
        ::SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    }


Microsoft Excel

1. Excelのデベロッパータブを有効にします

 Excel 2007

  1.  Officeボタンをクリック
  2. オプションをクリック
  3.  Popularをクリック
  4.  "Show Developer tab in the Ribbon" ボックスをチェック

Excel 2010

  1.  ファイルタブをクリック
  2.  オプション・コマンドをクリック
  3.  カスタマイズリボンカテゴリーをクリック
  4.  メインタブリストの"Developer"ボックスをチェック

2. オートメーションインターフェースに参照を加えます

  1.  デベロッパータブをクリック
  2.  ビューコードをクリック
  3. ツール| 参照を選択
  4.  スクロールダウンし"SpectraPLUS-SC Automation Typelib"をチェック
  5. OKをクリック

3. クラスのインスタンスを作成します

Dim SP As SpectraPLUS-SC_SCClass
Set SP = CreateObject("SpectraPLUS-SC_SC.Axn")

4. メソッドを呼び出します

SP.Run

  

以下はスペクトラルデータ列の取得方法とスプレッドシートでの利用例です。

Dim channel As Integer
Dim startHz As Single
Dim stopHz As Single

' 周波数範囲とチャンネルを指定
channel = 0
startHz = 500#
stopHz = 2000#         

' スペクトラルデータ列変数の定義
Dim freq() As Single
Dim data() As Single       

' アナライザーからデータの読み込み
SP.GetSpectrumInSpan channel, startHz, stopHz, freq, data       

Dim n As Variant
Dim q As Variant        

Dim col As Integer
Dim row As Integer 

' セルにデータをロード        
col = 1
row = 1
For Each n In freq
  Sheet1.Cells(row, col).value = n
  row = row + 1
Next n   

col = 2
row = 1
For Each q In data
  sheet1.Cells(row, col).value = q
  row = row + 1
Next q


 

14-2 COM APIコントロール


以下の各機能はアナライザーをコントロールするために使われます。


Analyzer Operations
Analyzer Configuration
Calibration Commands
Plot and Windows Commands
Overlay Control
File Management
File Positioning
File Post-Process
Signal Generation
Digital Input and Output Lines
備考

 
Analyzer Operations(アナライザー操作)

 
Run()

'アナライザーをランするか、レコーディングを開始します
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


  Stop()

'アナライザー、レコーディングや再生を停止します
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful

 
Play()

'現時位置から再生を開始します。Recorderモードでファイルを開いておきます
Parameters: none

Return: S_OK = success, E_FAIL = unsuccessful

  Record()

'レコーディングを開始します
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


RecordPause()

'レコーディングをポーズします。アナライザーは動作を継続しますが、データはWAVファイルに保存されません
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


RecordResume()

'ポーズしたレコーディングを再開します
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


FileStep( int numFFTSteps )

'現在のファイル位置で指定した回数のFFTを実行します(Post-Processモードのみ)
Parameters: numFFTSteps: 1 or more
Return: S_OK = success, E_FAIL = unsuccessful


Triggger()

'シングルトリガーを実行します。トリガーオプションを有効にしておきます
Return: S_OK = success, E_FAIL = unsuccessful

 

Analyzer Configuration(アナライザー構成)


LoadConfig( BSTR cfg_filename )

指定した定義ファイル(.cfg)をロードします
Parameters: cfg_filename = filename of the configuration file.  Full path or just filename if file located in /cfg folder
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

SaveConfig( BSTR cfg_filename )

現在の設定値を指定した定義ファイル(.cfg)に保存します
Parameters: cfg_filename = filename of the configuration file.

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetMode( long mode )

'モードをセットします
Parameters: mode: 0 = Real-Time, 1 = Recorder, 2 = Post-Processing
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetNmChannels( long num_channels )

'チャンネルを指定します。WAVファイルが開いている場合は無効です
Parameters: num_channels: 1 = mono, 2 = stereo
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetSamplingRate( long rate )

'デバイスのサンプリングレートを指定します。WAVファイルが開いている場合は無効です
Parameters: rate = sanples per second
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetSamplingPrecision( long bits )

'デバイスのサンプリングプレシジョンを指定します。WAVファイルが開いている場合は無効です
Parameters: bits = 8, 16 or 24
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetFFTsize( long fft_size )

'FFTサイズを指定します
Parameters: fft_size = 32 - 1048576 pts
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetDecimationRatio( long ratio )
      'Decimation Ratio
をセットします
       Parameters: ratio = 1 through 50
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetSmoothingWindow( long window )

'窓関数を指定します

Parameters: window = value as shown below(下記数値参)

     BARTLETT        0
      BLACKMAN      1
      FLATTOP          2
      HAMMING        3
      HANNING         4
      KAISER           5
      PARZEN          6
      TRIANGULAR   7

      UNIFORM        8

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    SetAverageMode( long mode )

'アベレージモードを指定します
Parameters: mode: 0 = Free Run, 1 = Sound Level Meter
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetAverageType( long type )

'アベレージタイプを指定します
Parameters: type: 0 = Exponential, 1 = Linear,  2 = Vector
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetAverageSize( long size )

'アベレージサイズを指定します
Parameters: size = average size 1 - 10000(Free Run mode), 0 = Off/1 = Fast/2 = Mediaum/3  = Slow/ 4  = Foreve(SLM mode)
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   ResetAverage( )

'ランニングアベレージをリセットします
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetDualChannelProcessingMode( long proc_mode )

'デュアルチャンネルモードをセットします。モノ動作時は無効です
Parameters: none

    LEFT_ONLY                                                   0
    RIGHT_ONLY                                                  1
    BOTH_LEFT_AND_RIGHT                              2
    AVERAGE_LEFT_AND_RIGHT                       3
    RATIO_LEFT_AND_RIGHT                             4
    RATIO_RIGHT_AND_LEFT                             5
    CROSS_SPECTRUM_LEFT_AND_RIGHT       6
    CROSS_SPECTRUM_RIGHT_AND_LEFT       7
    TRANSFER_LEFT_AND_RIGHT                     8
    TRANSFER_RIGHT_AND_LEFT                     9
    COHERENCE_FUNCTION                             10
    TRANSFER_L_R_AND_COHERENCE          11
    TRANSFER_R_L_AND_COHERENCE          12

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    EnablePSD( long channel )

'PSDスケーリングを有効にセットします
Parameters: channel: 0 = Left, 1 = Right
Return: S_OK = success, E_FAIL = unsuccessful


    DisablePSD( long channel )

'PSDスケーリングを無効にセットします
Parameters: channel: 0 = Left, 1 = Right
Return: S_OK = success, E_FAIL = unsuccessful


    SetAmplitudeScaleType( long channel, long scale_type )

'対象チャンネルのアンプリチュード軸スケーリングをセットします
Parameters: channel: 0 = Left, 1 = Right.  scale_type:  0  =  Linear,  1  =  Logarithmic,  2  =  Log  Magnitude
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetFrequencyScaleType( long channel, long scale_type, long octave_number )

'対象チャンネルの周波数軸スケーリングをセットします(オクターブスケール使用時)
Parameters: channel: 0 = Left, 1 = Right.  ocutave_number:  1,3,6,9,12,24,48,96
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetSpectrumWeighting( long channel, long weighting )

'対象チャンネルの聴感補正/weightingをセットします
Parameters: channel: 0 = Left, 1 = Right.  weighting:  0  =  Flat,  1  =  A,  2  =  B,  3  =  C
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   SetTotalPowerWeighting( long channel, long weighting )

'対象チャンネルの聴感補正/weightingをセットします
Parameters: channel: 0 = Left, 1 = Right.  weighting:  0  =  Flat,  1  =  A,  2  =  B,  3  =  C
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   TriggerEnable()

'トリガーを有効にセットします
Return: S_OK = success, E_FAIL = unsuccessful


   TriggerDisable()

'トリガーを無効にセットします
Return: S_OK = success, E_FAIL = unsuccessful


SetTriggerThreshold( float threshold_pct )
     
トリガ閾値を設定します。
      Parameter: threshold_pct: the trigger threshold in percent between 0 and 100
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetPeakHold( long channel_ext, long peak_hold_type )

’指定したチャンネルのピークホールドタイプをセットします
Parameters: channel_ext = 0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence.  peak_hold_type: 0 = Off, 1 = Fast, 2 = Medium, 3 = Slow, 4 = Forever
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


ResetPeakHold( long channel_ext )

指定したチャンネルのピークホールドをリセットします
Parameters: channel_ext = 0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


SetOverlapPercentage( long channel, long overlap_percent )

overlap percentage値をセットします
Parameters: overlap_percent = 1 - 99
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetCompensationFile( long channel, BSTR filename )

指定したチャンネルのtransducer compensation ファイルをセットします
Parameters: channel = 0 = Left, 1 = Right.  filename = mic compensation filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


EnableCompensationFile( long channel )

指定したチャンネルのtransducer compensation ファイルを有効にします
Parameters: channel = 0 = Left, 1 = Right.  filename = mic compensation filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


DisableCompensationFile( long channel )

指定したチャンネルのtransducer compensation ファイルを無効にします
Parameters: channel = 0 = Left, 1 = Right.  filename = mic compensation filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetMarkerFreq( long channel_ext, long marker, float freqHz )

指定したチャンネルのマーカに周波数をセットします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence. marker = 1 - 8, freqHz = frequency in Hz
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


ResetOverloadCount()

すべてのチャンネルのオーバーロード検知をリセットします
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


 DataLoggingEnable()

データログを有効にします
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


DataLoggingDisable()

データログを無効にします
Parameters: none

Return: S_OK = success, E_FAIL = unsuccessful


SetDataLoggingFile( long channel, BSTR filename )

指定したチャンネルのデータログファイルネームをセットします
Parameters: channel: 0 = Left, 1 = Right.  filename = data log filename
Return: S_OK = success, E_FAIL = unsuccessful


SetRunControl( long mode, long fft_limit, float time_limit, float start_delay_time )
   ‘Run Control
オプションを設定します。
   Parameters: mode: 0=Continuous, 1=Stop after FFT limit, 2=Stop after time limit
                      fft_limit: number of FFTs to process before stopping when mode = 1

                      
time_limit: seconds to process before stopping when mode = 2
                      
start_delay_time: seconds to delay before starting processor
   Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

SetCrossChannelDelay( float delay )

  
クロスチャネル遅延値を設定します。
   Parameters: delay: delay value in msec.  (must be between -1000 and +1000)

   Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

SetMetadata
( BSTR metadata )

  
現在の wafe ファイルに保存するメタデータのテキストを設定します。この機能を実行するには、ウェーブファイルを開いている必要があります。
   Parameters: metadata - up to 2000 characters max of ascii text

   Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


ResetCSEL()

    Description: cSELの値をリセットします。 累積騒音暴露レベル(cSEL)ユーティリティウィンドウが開いている必要があります。
    Return: S_OK = success, E_FAIL = unsuccessful





 

Calibration Commands


LoadCalibrationFile( long channel, BSTR filename )

指定したチャンネルのキャリブレーションファイルをロードします
Parameters: channel: 0 = Left, 1 = Right.  filename = calibration filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


CalibrationToExternalSource( long channel, float source_level )

指定したチャンネルのキャリブレーションを実行します
Parameters: channel: 0 = Left, 1 = Right.  sourece_level = value to calibrate to
SPL例: 94.0
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

       備考:外部ソースでキャリブレーションを行うにはキャリブレーションオプションを使います

        次の条件が満たされるまで測定は継続されます:

         1)信号レベルが+/-0.1ミリボルト以内に安定(典型的なマイク感度+/-0.03 dB
         2
)信号レベルが元の値の12%以内(約+/-1 dB

  
両条件を60秒以内に満たさない場合は測定が停止し、E_FAILエラーが発生します。

   セットが完了すると、マイクキャリブレータがオンになります。

CalibrateToZeroDBr( long channel, float freqiemcy )

  
選択した周波数でのキャリブレーションを 0.0 dBr に設定します。.
   Parameters: channel: 0 = Left, 1 = Right; frequency = frequency at which the resulting calibration will become 0.0 dBr
   Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

SaveCalibrationFile( long channel, BSTR cal_filename )

  
指定したチャンネルのキャリブレーションファイルを保存します。
   Parameters: channel: 0 = Left, 1 = Right; cal_filename = filename of the calibration file.

   Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
  
 Note:
短いファイル名が使用されている場合、<File><Set Paths>ダイアログボックスにリストされているようにCalパスに保存されます。


 



Plot and Windows CommandsPlot/ビュー操作コマンド)


OpenPlot( long channel, long plot_type )

指定したチャンネルのPlot/ビューを開きます
Parameters: channel: 0 = Left, 1 = Right.  filename = calibration filename

               
plot_type: 1 = Time Series, 2 = Spectrum, 3 = Phase, 4 = Spectrogram, 5 = 3-D Surface
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


ClosePlot( long channel, long plot_type )

指定したチャンネルのPlot/ビューを閉じます
Parameters: channel: 0 = Left, 1 = Right.  filename = calibration filename

              
plot_type: 1 = Time Series, 2 = Spectrum, 3 = Phase, 4 = Spectrogram, 5 = 3-D Surface
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


MinimizeApplication()

ビューを最小化(アイコン)します
Return: S_OK = success, E_FAIL = unsuccessful


MaximizeApplication()

ビューを最大化します
Return: S_OK = success, E_FAIL = unsuccessful


RestoreApplication()

ビューサイズを戻します
Return: S_OK = success, E_FAIL = unsuccessful


HideApplication()

ビュー表示を無効化します
Return: S_OK = success, E_FAIL = unsuccessful


ShowApplication()

ビュー表示を有効にします
Return: S_OK = success, E_FAIL = unsuccessful


ClearSpectrum( long channel_ext )

指定したチャンネルのスペクトラルデータをクリアーします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence.
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


ClearPeakHoldSpectrum( long channel_ext )

指定したチャンネルのピークホールドスペクトラルデータをクリアーします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence.
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


SetSpectrumPlotFrequencySpan( long channel_ext, float startHz, float stopHz )

指定したチャンネルのSpectrumビューの周波数レンジをセットします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence
               startHz = start frequncy, stopHz =  stop  frequncy
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


SetSpectrumPlotTop( long channel_ext, float plot_top )

指定したチャンネルのSpectrumビューの縦軸(アンプリオチュード)の最大値をセットします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence
                    plot_top = plot top value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


SetSpectrumPlotRange( long channel_ext, float plot_range )

指定したチャンネルのSpectrumビューの縦軸(アンプリオチュード)のレンジ値をセットします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence
                    plot_top = plot range value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)


SetSpectrumPlotGraphType( long channel_ext, long graph_type )

指定したチャンネルのSpectrumビューのグラフタイプをセットします
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Cpmposte, 3 = Coherence
                    graph_type: 0 = Line, 1 = Bars, 2 = Stepped Bars
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

        ’備考:Composite channe = デュアルチャンネル操作 (L&R average, Transfer Function or Cross Spectrum)

 

SetTimeSeriesPlotTimeSpan(  float start_time, float stop_time )
     
時系列プロットに表示するタイムスパンを設定します。
      Parameters: start_timestop_time = time span to display

      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

  
WritePlotToBitmapFile( long channel_ext, long plot_type, BSTR bmp_filename )
    
プロット画像をビットマップファイルに保存します。
     Parameters: channel_ext: 0 = Left, 1 = Right, 2

                      
plot_type: 1 = Time Series, 2 = Spectrum, 3 = Phase, 4 = Spectrogram, 5 = 3-D Surface
                      
bmp_filename = full filename and path to store bitmap
     Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 


Overlay Control

  
SetOverlay( long channel_ext, long overlay_indexint create_from_peak_hold, BSTR szLegend)
     
現在のスペクトルデータからオーバーレイを作成します。
      Parameters: channel_ext: 0 = Left, 1 = Right, 2
                      overlay_index = 1 - 7
                      create_from_peak_hold = 1 to create the overlay from the peak hold values (peak hold must be enabled)
                      szLegend = legend to apply to overlay                    
     Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   ShowOverlay( long channel_ext, long overlay_index)
    
指定されたオーバーレイを表示します
     Parameters: channel_ext: 0 = Left, 1 = Right, 2
                      overlay_index = 1 - 7
    Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   HideOverlay( long channel_ext, long overlay_index)
    
指定されたオーバーレイを非表示にします
     Parameters: channel_ext: 0 = Left, 1 = Right, 2
                      overlay_index = 1 - 7
     Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   SaveOverlay( long channel_ext, long overlay_index, BSTR ovl_filename)
   
オーバーレイをファイルに保存します
    Parameters: channel_ext: 0 = Left, 1 = Right, 2
                      overlay_index = 1 - 7
                      ovl_filename = name of the overlay file.
    Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    Note:
短いファイル名を使用すると、<File><Set Paths>ダイアログボックスにリストされているオーバーレイパスに保存されます。

   LoadOverlay( long channel_ext, long overlay_index, BSTR ovl_filename)
    
ファイルからオーバーレイをロードします
     Parameters: channel_ext: 0 = Left, 1 = Right, 2
                      overlay_index = 1 - 7
                      ovl_filename = name of the overlay file to load
     Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    Note:
短いファイル名が使用されている場合は、<File><Set Paths>ダイアログボックスにリストされているオーバーレイパスからロードされます。.

 


File Management(ファイル操作)


FileOpen( BSTR wav_filename)

WAVファイルを開きます 
Parameters: wav_filename = wave filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileSave( BSTR wav_filename)

WAVファイルを保存します 
Parameters: wav_filename = wave filename
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileClose( )

WAVファイルを閉じます
Parameters:  none
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 


File Positioningファイル位置コントロール)


FileRewind( )

WAVファイルの頭(スタート位置)に移動します
Parameters:  none
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 
FileForward( )

WAVファイルの最終端(ストップ位置)に移動します
Parameters:  none
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileGoToTime( float seconds)

指定したチャンネルのWAVファイルの指定時間に移動します
Parameters: seconds = file position in seconds
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileGoToSample( unsigned long sample)

指定したチャンネルのサンプル位置に移動します
Parameters: sample = file position in samples

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

 


File Post-Process(ファイル後処理)


FilePlaySegmentTime( float start_seconds, float stop_seconds)

指定したタイムセグメントを再生します
Parameters: start_seconds = segment start time; stop_seconds = segment stop time
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FilePlaySegmentSample( unsigned long start_sample, unsigned long stop_sample)

指定したサンプルを再生します
Parameters: start_sample = segment start sample position; stop_sample = segment stop sample position
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileFilterSegmentTime( float start_seconds, float stop_seconds)

指定したタイムセグメントをフィルタ処理します
Parameters: start_seconds = segment start time; stop_seconds = segment stop time
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileFilterSegmentSample( unsigned long start_sample, unsigned long stop_sample)

指定したサンプルをフィルタ処理します
Parameters: start_sample = segment start sample position; stop_sample = segment stop sample position
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileProcessSegmentTime( float start_seconds, float stop_seconds)

指定したタイムセグメントのスペクトラデータを処理します
Parameters: start_seconds = segment start time; stop_seconds = segment stop time
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


FileProcessSegmentSample( unsigned long start_sample, unsigned long stop_sample)

指定したサンプルのスペクトラデータを処理します
Parameters: start_sample = segment start sample position; stop_sample = segment stop sample position
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   

    FileCutTime( float start_seconds, float stop_seconds)
      
指定したタイムセグメントをカットし、クリップボードにコピーします
       Parameters: start_seconds = segment start time; stop_seconds = segment stop time
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FileCutSamples( long start_sample, long stop_sample)
      
指定したサンプルをカットし、クリップボードにコピーします
       Parameters: start_sample = segment start position; stop_sample = segment stop position
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FileCopyTime( float start_seconds, float stop_seconds)
      
指定したタイムセグメントをコピーし、クリップボードにコピーします
       Parameters: start_seconds = segment start time; stop_seconds = segment stop time
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FileCopySamples( long start_sample, long stop_sample)
      
指定したサンプルをコピーし、クリップボードにコピーします
       Parameters: start_sample = segment start position; stop_sample = segment stop position
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FilePasteTime( float paste_position_seconds)
      
クリップボード内容をファイルの指定した位置に貼り付けます
       Parameters: paste_position_seconds = location to paste the data
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FilePasteSamples( long paste_position_sample)
      
クリップボード内容をファイルの指定した位置に貼り付けます
       Parameters: paste_position_sample = location to paste the data
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FileMuteTime( float start_seconds, float stop_seconds)
      
指定したタイムセグメントをミュートします
       Parameters: start_seconds = segment start time; stop_seconds = segment stop time
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    FileMuteSamples( long start_sample, long stop_sample)
      
指定したサンプルをミュートします
       Parameters: start_sample = segment start position; stop_sample = segment stop position
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    SetFilterChannel( long channel )
      
フィルタ処理チャンネルをセットします
       Parameters: channel: 0 = Left only, 1 = Right only, 2 = Both Left and Right
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    SetFilterFile( BSTR filter_filename )
      
フィルタファイルネームをセットします
       Parameters: filter_filename = filename of filter file
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
      
   
FileBuildSpectrogramPlot( float start_seconds, float stop_seconds)
     
指定された時間セグメントのスペクトログラムプロットを計算して表示します(Time Seriesプロットを右クリックして "Compute and Display Spectrogram" を選択するのと同じです
      Parameters: start_seconds = segment start time; stop_seconds = segment stop time
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   FileBuildSurfacePlot( long channel_ext, float start_seconds, float stop_seconds)
      
指定された時間セグメントの3Dサーフェスプロットを計算して表示します(Time Seriesプロットを右クリックして "Compute and Display 3-D Surface" を選択するのと同じです
       Parameters: start_seconds = segment start time; stop_seconds = segment stop time
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid paramete

   PerformHilbertTransform( long start_sample, long stop_sample)
      
指定された時間セグメントでヒルベルト変換を実行します。結果はTime Serieプロットに表示されます
       Parameters: start_sample = segment start position; stop_sample = segment stop position
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


Signal Generation(シグナルジェネレータ)


OpenGenerator()

シグナルジェネレータを起動します
Parameters: none

Return: S_OK = success, E_FAIL = unsuccessful


CloseGenerator()

シグナルジェネレータを閉じます
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


RunGenerator()

シグナルジェネレータをスタートします
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


StopGenerator()

シグナルジェネレータをストップします
Parameters: none
Return: S_OK = success, E_FAIL = unsuccessful


SetGeneratorSignalType( long channel_sig, long signal_type )

指定したチャンネルに信号のフォーム/タイプをセットします
Parameters: channel = 0 - 1; signal_type - as follows:

         0 = White Noise
         1 = Pink Noise
         2 = Noise Burst
         3 = 1 kHz Tone
         4 = Multiple Tones
         5 = Tone Burst
         6 = IMD Tones
         7 = Freq Sweep
         8 = Level Sweep
         9 = Sawtooth
        10 = Triangular
        11 = Pulse
        12 = Squarewave
        13 = User Defined wave file
        14 = DTMF
        15 = Digital Zero
        16 = Frequency Step

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetGeneratorLevel( long channel_sig, float levelDBr )

指定したチャンネルの信号レベルをセットします
Parameters: channel = 0 - 1; level = signal level in DBr ( 0 = max, -96 = min )
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


SetGeneratorFreq( long channel_sig, float freqHz )

指定したチャンネルの信号周波数をセットします。マルチトーンレベルは0 dBrにセットされます。シングルタイプはマルチトーンに変更されます
Parameters: channel = 0 - 1; freqHz = frequency in Hz
    
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

LoadGeneratorMultiToneFile( long channel_sig, BSTR toneFilename )
      
ディスクから.tonesファイルをロードします。これにより、トーンのセットを変更できます
      Parameters: channel_sig = 0 - 1; toneFilename = name of .tones file
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

      Note:
このコマンドを使用すると、信号タイプがマルチトーンに変わります


 

Digital Input and Output Lines

 

    SpectraDAQ-200ハードウェアモジュールには、リレーなどの外部機器を制御および読み取るためのデジタル入力および出力ラインがあります。
   
これらの関数を使用すると、これらの回線の状態を読み書きできます。 3つの入力ラインと3つの出力ラインがあります。

 

    GetDigitalInputLineState( DWORD *state )

       デジタル入力ラインの現在の状態を取得します

       Parameters: state = pointer to value to receive the current state of the digital input lines

       Return: S_OK = success, E_FAIL = unsuccessful

 

   SetDigitalOutputLineState( DWORD state )

       デジタル出力ラインの現在の状態を設定します

       Parameters: state = value containing the new state to set the output lines

       Return: S_OK = success, E_FAIL = unsuccessful

 

 

  

 備考

    SpectraPLUSは通常、手動操作で終了致します。  リモート環境下での制御は下記例を参照下さい。

 

    C++ code:

    // Close the analyzer
    m_SP.Release();
    HWND hWnd = ::FindWindow("SpectraPLUS-SC", NULL);
    if (hWnd)
    {
        ::SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    }


 

 

14-3 データ取得


以下はアナライザーからデータ及びステータスを取得する機能です。

* ) Composite channel」はDual channel動作(L&R average, Trasfer Function or Cross Spectrum )を指します。


Genaral Status

Peak Search Operations

Total Power Readings

Distortion Readings

Marker Readings

Conversion Operations

Time Series Data

Spectral Data

Phase Data

Leq Data

備考



 General Status(作動状態)


IsRunning ( int *runStatus )

アンライザーをリアルタイムモードもしくはレコーディングモードでランします
Parameters: runStatus = pointer to receive the analyzer run status (0 = stopped, 1 = running or recording)
Return: S_OK = success, E_FAIL


GetCurrentFileTime( float *seconds )

ファイルの現在位置を求めます
Parameters: seconds = pointer to variable to receive the time value in seconds
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetTotalFileTime( float *seconds )

ファイルのファイル長(時間)を求めます
Parameters: seconds = pointer to variable to receive the time value in seconds
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetCurrentFileSample( unsigned long *sample )

ファイルのサンプルポジションを求めます
Parameters: channel = 0 - 15; sample =pointer to variable to receive the sample position
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetTotalFileSamples( unsigned long *samples )

ファイルの総サンプル数を求めます
Parameters: channel = 0 - 15; samples = pointer to variable to receive the total samples value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetFFTCount( long *fftcount )

ランかレコードが最後にスタートしてから実行されたFFTの回数を求めます
Parameters: fftcount - pointer to variable to receive the the fft count 
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   
    GetTriggerCount( long *trigger_count )

ランかレコードが最後にスタートしてから発生したトリガーの回数を取得する
 Parameters: trigger_count - pointer to variable to receive the the trigger count
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetOverloadCount( long channel, long *overloadcount )

ランかレコードが最後にスタートしてから検出されたオーバーロード(クリップ)の回数を求めます
Parameters: channel; 0 = Left, 1 = Right; overloadcount - pointer to variable to receive the the overload count 
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 


Peak Search Operations(ピーク値)

 
GetPeakFrequency( long channel_ext, float *freq )

指定したチャンネルの全スパン中のピーク周波数を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                    freq = pointer to variable to receive the peak frequency
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetPeakFrequencyNth( long channel_ext, long peak_number, float *freq )

指定したチャンネルの全スパン中のN次ピーク周波数を求めます
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                    peak_number = 0 - 10; freq = pointer to variable to receive the peak frequency
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

   

   GetPeakFrequencyNthSpan( long channel_ext, long peak_number, float startHz, float stopHz, float *freq )

指定したチャンネルの指定スパン中のN次ピーク周波数を求めます
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                    peak_number = 0 - 10; startHz = span start frequency; stopHz = span stop frequency
                    freq = pointer to variable to receive the peak frequency
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetPeakAmplitude( long channel_ext, float *amplitude )

指定したチャンネルの全スパン中のピークアンプリチュードを求めます
Description: Get the peak amplitude in the total span for the specified channel
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                    amplitude = pointer to variable to receive the peak amplitude
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 

GetPeakAmplitudeNth( long channel_ext, long peak_number, float *amplitude )

指定したチャンネルの全スパン中のN次ピークアンプリチュードを求めます
Parameters: channel_ext:   0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                    peak_number = 0 - 10;  amplitude  = pointer to variable to receive the peak amplitude
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 

GetPeakAmplitudeNthSpan( long channel_ext, long peak_number, float startHz, float stopHz, float *amplitude )

指定したチャンネルの指定スパン中のN次ピークアンプリチュードを求めます
Parameters: channel_ext:   0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     peak_number = 0 - 10; startHz = span start frequency; stopHz = span stop frequency
                     amplitude = pointer to variable to receive the peak amplitude
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


   GetPeakHoldFrequency( long channel_ext, float *freq )
      指定されたチャネルのピークホールドスペクトルのピーク周波数を取得します
      Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence.
                       freq = pointer to variable to receive the peak hold frequency
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
      Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum

   GetPeakHoldAmplitude( long channel_ext, float *amplitude )
        指定されたチャネルのピークホールドスペクトルのピークアンプリチュードを取得します
        Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence.
                       amplitude = pointer to variable to receive the peak hold amplitude
        Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
        Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 


Total Power Readings(トータルパワー)

 
GetTotalPower( long channel_ext, long weighting, float *power )

指定したチャンネルの全スパン中のトータルパワーを求めます。ウェイティングの指定も可能です
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence

weighting: 0 = Flat, 1 = A, 2 = B, 3 = C
power = pointer to variable to receive the total power value

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
   Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetTotalPowerSpan( long channel_ext, long weighting, float startHz, float stopHz, float *power )

指定したチャンネルの指定周波数スパン中のトータルパワーを求めます。ウェイティングの指定も可能です
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence

                  weighting: 0 = Flat, 1 = A, 2 = B, 3 = C
                  startHz = span start frequency; stopHz = span stop frequency;
                  power = pointer to variable to receive the total power

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


    GetPeakHoldTotalPower( long channel_ext, long weighting, float *power )
        指定されたチャネルと重み付けのピークホールドスペクトルのtotal powerを取得します
        Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence.
                       weighting: 0 = Flat, 1 = A, 2 = B, 3 = C
                       power = pointer to variable to receive the peak hold total power value
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
       Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)



Distortion Readings(ひずみ)

 
GetTHD( long channel_ext, float *thd )

指定したチャンネルの全スパンのTHDを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     thd = pointer to variable to receive the THD value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 
GetTHDSpan( long channel_ext, float startHz, float stopHz, float *thd )

指定したチャンネルと周波数スパンのTHDを求めます
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = span start frequency; stopHz = span stop frequency;
                     thd = pointer to variable to receive the THD value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetTHD_N( long channel_ext, float *thd_n )

指定したチャンネルの全スパンのTHD+Nを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     thd_n = pointer to variable to receive the THD+N value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetTHD_NSpan( long channel_ext, float startHz, float stopHz, float *thd_n )

指定したチャンネルと周波数スパンのTHD+Nを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = span start frequency; stopHz = span stop frequency;
                     thd_n = pointer to variable to receive the THD+N value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetIMD( long channel_ext, float *imd )

指定したチャンネルの全スパンのIMDを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     imd = pointer to variable to receive the IMD value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 
GetSNR( long channel_ext, float *snr )

指定したチャンネルの全スパンのSNRを求めます
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     snr = pointer to variable to receive the SNR value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetSNRSpan( long channel_ext, float startHz, float stopHz, float *snr )

指定したチャンネルと周波数スパンのSNRを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = span start frequency; stopHz = span stop frequency;
                     snr = pointer to variable to receive the SNR value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetSINAD( long channel_ext, float *sinad )

指定したチャンネルの全スパンのSINADを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     sinad = pointer to variable to receive the SINAD value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetSINADSpan( long channel_ext, float startHz, float stopHz, float *sinad )

指定したチャンネルと周波数スパンのSINADを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = span start frequency; stopHz = span stop frequency;
                     sinad = pointer to variable to receive the SINAD value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


 


Marker Readings(マーカ)

 
GetMarkerFrequency( long channel_ext, long marker, float *freq )

指定したマーカの周波数を求めます
Parameters: channel_ext:  0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     marker = 1 - 8;
                     freq = pointer to variable to receive the frequency value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)


GetMarkerAmplitude( long channel_ext, long marker, float *amplitude )

指定したマーカのアンプリチュードを求めます
Description: Get the amplitude at the specified marker
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     marker = 1 - 8;
                     amplitude = pointer to variable to receive the amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter
Note: Composite channel = dual channel operation (L&R average, Transfer Function or Cross Spectrum)

 


Conversion Operations(変換操作)

 
ConvertTimeToSample( time_seconds, unsigned long *sample )

指定したチャンネルのタイム(秒)をサンプルポジションに変換します
Parameters: time_second = time value to convert
                    sample = pointer to variable to receive the sample position
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

ConvertSampleToTime( unsigned long sample, float *time_seconds )

サンプルポジションをタイム(秒)に変換します
Parameters: sample = sample position to convert
                     time_seconds = pointer to variable to receive the time in seconds
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter



Time Series Data(タイムシリーズデータ)

 
GetTimeSeriesValueFromTime( long channel, float time_seconds, float *value )

指定した時間のタイムシリーズアンプリチュードを求めます
Parameters: channel: 0 = Left, 1 = Right; time_seconds = file position time in seconds
                     value = pointer to variable to receive the time series amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetTimeSeriesValueFromSample( long channel, unsigned long sample, float *value )

指定したサンプルポジションのタイムシリーズ値を求めます
Parameters: channel: 0 = Left, 1 = Right; sample = file position in samples
                     value = pointer to variable to receive the time series amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetMaxTimeSeriesValueInSegment( long channel, unsigned long startSample, unsigned long stopSample, float *value )

指定した時間レンジの最大タイムシリーズ値を求めます
Parameters: channel: 0 = Left, 1 = Right
                     startSample = time segment start position in samples;
                     stopSample = time segment stop position in samples;
                 value = pointer to variable to receive the maximum time series amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetMinTimeSeriesValueInSegment( long channel, unsigned long startSample, unsigned long stopSample, float *value )

指定した時間レンジの最小タイムシリーズ値を求めます
Parameters: channel: 0 = Left, 1 = Right
                     startSample = time segment start position in samples;
                     stopSample = time segment stop position in samples;
                     value = pointer to variable to receive the minimum time series amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetTimeSeriesFromFile(  long channel, SAFEARRAY __RPC_FAR * __RPC_FAR *psaTimes, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルのタイムシリーズデータ列を求めます
Parameters: channel: 0 = Left, 1 = Right
                     psaTimes = pointer to array of time values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetTimeSeriesFromFileSegmentSample(  long channel, unsigned long startSample, unsigned long stopSample, SAFEARRAY __RPC_FAR * __RPC_FAR *psaTimes, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルとサンプルレンジのタイムシリーズデータ列を求めます
Parameters: channel: 0 = Left, 1 = Right
                     startSample = start sample of time series segment;
                     stopSample = stop sample of time series segment;
                     psTimes = pointer to array of time values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetTimeSeriesFromFileSegmentTime(  long channel, float startSecs, float stopSecs, SAFEARRAY __RPC_FAR * __RPC_FAR *psaTimes, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルと時間レンジのタイムシリーズデータ列を求めます
Parameters: channel: 0 = Left, 1 = Right
                     startSecs = start time of time series segment;
                     stopSecs = stop time of time series segment;
                     psaTimes = pointer to array of time values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


GetMaxValueInTriggerSeries( long channel, float *value )
       トリガーサンプルのブロックで最大時系列値を取得します。 トリガーブロックの長さは、現在のFFTサイズと同じです
       Parameters: channel: 0 = Left, 1 = Right
                      value = pointer to variable to receive the maximum amplitude value
       Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    GetMinValueInTriggerSeries( long channel, float *value )
      トリガーサンプルのブロック内の最小時系列値を取得します。 トリガーブロックの長さは、現在のFFTサイズと同じです
      Parameters: channel: 0 = Left, 1 = Right
                      value = pointer to variable to receive the minimum amplitude value
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


    GetTriggerTimeSeries( long channel, SAFEARRAY __RPC_FAR * __RPC_FAR *psaTimes, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData ) 
      トリガーサンプルのブロックを含む時系列データの配列を取得します。 トリガーブロックの長さは、現在のFFTサイズと同じです
      Parameters: channel: 0 = Left, 1 = Right
                      psaTimes = pointer to array of time values
                      psaData = pointer to array of amplitude values
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

Spectral Data(スペクトラルデータ)

 
GetSpectrumMinFrequency( long channel_ext, float *freq )

指定したチャンネルのスペクトラルデータの最小周波数を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     freq = pointer to variable to receive the frequency value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetSpectrumMaxFrequency( long channel_ext, float *freq )

指定したチャンネルのスペクトラルデータの最大周波数を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     freq = pointer to variable to receive the frequency value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetSpectrumValue( long channel_ext, float freqHz, float *value )

指定したチャンネルと周波数のスペクトラルデータのアンプリチュードを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     freqHz = frequency to read the amplitude
                     value = pointer to variable to receive the amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetSpectrum( long channel_ext,SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルのスペクトラルデータ列を求めます
Description: Get an array of spectral data for the specified channel
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetSpectrumInSpan( long channel_ext, float startHz, float stopHz, SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルと周波数レンジのスペクトラルデータ列を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = start frequency of selected span;
                     stopHz = stop frequency of selected span;
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetPeakHoldSpectrumValue( long channel_ext, float freqHz, float *value )

指定したチャンネルと周波数のスペクトラルデータのピークアンプリチュードを求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     freqHz = frequency to read the amplitude
                     value = pointer to variable to receive the amplitude value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetPeakHoldSpectrum( long channel_ext,SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルのピークホールドスペクトラルデータ列を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

GetPeakHoldSpectrumInSpan( long channel_ext, float startHz, float stopHz, SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルと周波数レンジのピークホールドスペクトラルデータ列を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composit, 3 = Coherence
                     startHz = start frequency of selected span;
                     stopHz = stop frequency of selected span;
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of amplitude values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

   

GetComplexSpectrum(  long channel_ext,SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaDataR, SAFEARRAY __RPC_FAR * __RPC_FAR *psaDataI )
         指定したチャンネルのコンプレックススペクトラルデータ列を求めます
         Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence.
                            psaFrequencies = pointer to array of frequency values
                            psaDataR = pointer to array of real component of complex values
                            psaDataI = pointer to array of imaginary component of complex values
        Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter


   
GetComplexSpectrumInSpan(  long channel_ext, float startHz, float stopHz, SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaDataR,  SAFEARRAY __RPC_FAR * __RPC_FAR *psaDataI)
      
指定したチャンネルと周波数レンジのコンプレックススペクトラルデータ列を求めます
        Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence.
                            startHz = start frequency of selected span;
                            stopHz = stop frequency of selected span;
                            psaFrequencies = pointer to array of frequency values
                            psaDataR = pointer to array of real component of complex values
                            psaDataI = pointer to array of imaginary component of complex values
        Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 


Phase Data(位相データ)

 
GetPhaseValue( long channel_ext, float freqHz, float *value )

指定したチャンネルと周波数の位相を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence
                     freqHz = frequency to read the phase
                    value = pointer to variable to receive the phase value
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 
GetPhase( long channel_ext,SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルの位相データ列を求めます
Parameters: channel_ext: 0 = Left, 1 = Right, 2 = Composite, 3 = Coherence
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of phase values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 
GetPhaseInSpan( long channel_ext, float startHz, float stopHz, SAFEARRAY __RPC_FAR * __RPC_FAR *psaFrequencies, SAFEARRAY __RPC_FAR * __RPC_FAR *psaData )

指定したチャンネルと周波数レンジの位相データ列を求めます
Parameters: channel_ext:0 = Left, 1 = Right, 2 = Composite, 3 = Coherence
                     startHz = start frequency of selected span;
                     stopHz = stop frequency of selected span;
                     psaFrequencies = pointer to array of frequency values
                     psaData = pointer to array of phase values
Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

 

Leq DataLeqデータ

 
GetLeqValues( long channel, float *LeqT, float *Leq, float *Lsel, float *Lpk, float *Lmax, float *Lmin, float *L10, float* L50, float *L90 )

指定したチャンネルのLeq (Equivalent Noise Level)を求めます
Parameters: channel: 0 = Left, 1 = Right

 

LeqT = pointer to the equivalent noise level converted to the user specified "reference time period".
Leq = pointer to the equivalent noise level for the selected time segment.
Lsel = pointer to the equivalent noise level converted to a 1 second period.
Lpk = pointer to the peak level for the selected time segment.  No averaging is used for this parameter.
Lmax = pointer to the maximum level for the selected data.
Lmin = pointer to the minimum level for the selected data.
L10 = pointer to the level exceeded 10% of the time.
L50 = pointer to the level exceeded 50% of the time.
L90 = pointer to the level exceeded 90% of the time.  

Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

 

Misc

    GetDelayFinderValue( float *value )
      Delay Finder
ユーティリティの現在の値を取得します(ユーティリティは開いている必要があります)
      Parameters: channel: 0 = Left, 1 = Right
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

    GetCSEL( long channel, float *value )
      cSELユーティリティの現在値を取得する(ユーティリティは開いている必要があります)

      Parameters: value = pointer to the delay value
                        
value = pointer to variable to receive the value
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter

GetMetadata( BSTR* metadata )
      現在のwafeファイルからメタデータテキストを取得します。 この機能を成功させるには、Waveファイルを開く必要があります。
      Parameters: metadata - up to 2000 characters max of ascii text
      Return: S_OK = success, E_FAIL = unsuccessful, E_INVALIDARG = invalid parameter