SpectraPLUS-SCをVisual
Basic、C++ やExcelのような外部プログラムでコントロールし、データを処理することができます。アプリケーションプログラムインターフェース(API)は下記の通りです。
*)C/C++ サンプル: ZIPファイル
14-1 初期化 |
言語別 (VB/C/Excel) に以下記述します。
Visual Basic
(Microsoft Visual Studio 2008)
1.
プロジェクトへのオートメーションインターフェースに参照を加えます
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をどう使用するかに関する例を以下に述べます。freqとdataの両方は単精度浮動小数点配列です。
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)
#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);
}
1. Excelのデベロッパータブを有効にします
- Officeボタンをクリック
- オプションをクリック
- Popularをクリック
- "Show Developer tab in the Ribbon" ボックスをチェック
Excel 2010:
- ファイルタブをクリック
- オプション・コマンドをクリック
- カスタマイズリボンカテゴリーをクリック
- メインタブリストの"Developer"ボックスをチェック
2. オートメーションインターフェースに参照を加えます
- デベロッパータブをクリック
- ビューコードをクリック
- ツール| 参照を選択
- スクロールダウンし"SpectraPLUS-SC Automation Typelib"をチェック
- 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コントロール |
以下の各機能はアナライザーをコントロールするために使われます。
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 7UNIFORM 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
データログを有効にします
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
指定したチャンネルのキャリブレーションファイルをロードします
Parameters: channel: 0 = Left, 1 = Right. filename = calibration filename
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
備考:外部ソースでキャリブレーションを行うにはキャリブレーションオプションを使います
次の条件が満たされるまで測定は継続されます:
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 Commands(Plot/ビュー操作コマンド)
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
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.
’備考: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.
’備考: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_time, stop_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_index, int 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>ダイアログボックスにリストされているオーバーレイパスからロードされます。.
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(ファイル位置コントロール)
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
指定したタイムセグメントを再生します
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
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)
Return: S_OK = success, E_FAIL = unsuccessful,
E_INVALIDARG = invalid parameter
FileCopySamples( long start_sample, long stop_sample)
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)
クリップボード内容をファイルの指定した位置に貼り付けます
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)
指定したサンプルをミュートします
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
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 )を指します。
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
ランかレコードが最後にスタートしてから発生したトリガーの回数を取得する
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
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)
指定したチャンネルの指定スパン中の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)
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)
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
)
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)
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)
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
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
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
指定したチャンネルのピークホールドスペクトラルデータ列を求めます
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
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
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