音波をデジタルオシロスコープで測定し、それをIGOR Proに読み込んでデータを処理したいのですが、どのように計測システムを作ればよいかが分かりません。教えてください。

A 回答 (2件)

デジタルオシロスコープですから,多分,RS-232C portがあると思います。

パソコンにつないで,データ(1画面)をテキスト形式(X-Y data)で保存します。あとは,IGOR Proだろうとエクセルだろうとテキスト形式は簡単に読み込めますから,読み込んで自由に解析してください。
質問の内容からすると,このような回答になると思います。
では,具体的にどうやってオシロのデータを落とすのか?
自分で通信プログラムを書いてデータを落とすのがひとつですが,多分,このような質問をするくらいですから,すぐには無理でしょう。比較的簡単で一度おぼえておくと良い方法は,市販のデータ収集ー制御用ソフトを使うことです。私が使っているのは,Labtech Notebook (Windows OS下で使用可能)。機能が割り当てられているアイコンを画面上で並べて,矢印でつなぐと,データ収集や制御ができるようになります。まわりにこのようなソフトを持っている人がいるか,一度探してください。でも,使いこなすまでには,最低1日はかかります。
このような漠然とした「質問」だとこれ以上の回答は書けません。もし,私の回答のピントがはずれていたら,「補足」をお願いします。
    • good
    • 0

どのようなデータを取得したいのかにもよるので,あまり正確なアドバイスに


ならないと思いますが,一般に音波等波動を解析する場合には取り敢えずFT
(フーリエ変換)をかけて,周波数成分に分解します.

取り敢えずFTをかけてみては如何ですか?
結構大変ですが,Igorでマクロを組めばできますよ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelのマクロでrangeの選択がうまくいきません。

excelのマクロでrangeの選択がうまくいきません。
以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。

Sub testcopy()
Worksheets("sheet1").Range("B3:C10").Copy
Worksheets("sheet2").Range("e5").Select
ActiveSheet.Paste
End Sub

Sub testcopy2()
Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy
Worksheets("sheet2").Range("e5").Select
ActiveSheet.Paste
End Sub

Aベストアンサー

>testcopyは動きますが、testcopy2は動きません

testcopyは「動作したり、しなかったりする」が正しい表現です。
  要するに今回testcopyが動いたのは▼たまたま▼ということです。

testcopy2 は当然ながらエラーになります。
何れにしろ、両方ともに問題があるということです。
その問題点は2つあります。

(1)アクティブでないシートのセルはSelect(Activate)できない
(2)複数のシートを扱うときのセルの参照は
   そのセルがどのシートのセルなのか明示する必要がある


これを踏まえて、、、、
---------------
●testcopy●

これが動作するのは
Sheet【2】がアクティブな状態で実行する場合です

Sheet【1】がアクティブな状態で実行すると
  Worksheets("sheet2").Range("e5").Select
ここで、問題点(1)の理由によりエラー。
で、先ずシートを選択、次にセルを選択と2段階にしないといけません。

  Worksheets("sheet2").Select
  ActiveSheet.Range("E5").Select

----------------
●testcopy2●

▼Sheet【1】がアクティブな状態で実行
  testcopyと同じ場所、同じ理由でエラー

▼Sheet【2】がアクティブな状態で実行
  Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy
  ここで、問題点(2)により、エラー。
 
 Cellsの前にシートオブジェクトがないので
 Cells(3, 2), Cells(10, 3)はアクティブなSheet【2】のセルとみなされ
 (★実際はちょと違う場合もありますが今回はそう★)

 Worksheets("sheet1").Range(  ← Sheet【1】
 Cells(3, 2), Cells(10, 3))   ← Sheet【2】

このようにSheet【1】【2】が混在していることになり、エラー
で、Cellsの前にシートを付加してセルがどのシートのセルか明示してやる

Worksheets("sheet1").Range(Worksheets("sheet1").Cells(3, 2), Worksheets("sheet1").Cells(10, 3)).Copy
  
---------------------------------
で、質問者のコードを修正すると
'-------------
Sub testcopy()
 Worksheets("sheet1").Range("B3:C10").Copy
 With Worksheets("sheet2")
   .Select
   .Range("E5").Select
   .Paste
 End With
End Sub
'-------------

Sub testcopy2()
 With Worksheets("sheet1")
   .Range(.Cells(3, 2), .Cells(10, 3)).Copy
 End With
 With Worksheets("sheet2")
   .Select
   .Range("E5").Select
   .Paste
 End With
End Sub
'--------------

●ただ今回のような単純なコピーの場合は
 既出の回答にあるようにSelectなしで書くのがふうつです。
'-----------
Sub testcopy111()
 Worksheets("sheet1")
   .Range("B3:C10").Copy Worksheets("sheet2").Range("E5")
 End With
End Sub
'-----------
Sub testcopy222()
 Worksheets("sheet1")
  .Range(.Cells(3, 2), .Cells(10, 3)).Copy Worksheets("sheet2").Range("E5")
 End With
End Sub
'-----------

今回の件は重要事柄ですので覚えておきましょう。
以上です。
 

>testcopyは動きますが、testcopy2は動きません

testcopyは「動作したり、しなかったりする」が正しい表現です。
  要するに今回testcopyが動いたのは▼たまたま▼ということです。

testcopy2 は当然ながらエラーになります。
何れにしろ、両方ともに問題があるということです。
その問題点は2つあります。

(1)アクティブでないシートのセルはSelect(Activate)できない
(2)複数のシートを扱うときのセルの参照は
   そのセルがどのシートのセルなのか明示する必要がある


これを踏まえて、、、、
-...続きを読む

Q力率測定はオシロスコープを使用した場合どうやって測定するのですか?

機器用スイッチの負荷開閉試験の条件を設定するのに
下記の設定が必要です。
①電圧
②電流
③力率

オシロスコープのみを使用し、③力率の測定は可能なのですか?
可能な場合、測定方法の詳細をご教示お願いします。
※パワーハイテスタ等の電力計を使用せず、オシロスコープの使用で
 力率を測定する方法が知りたいです。

Aベストアンサー

>その波形を基に「位相差」はどうやって分かるのですか?
以下に説明しますが、基礎が分かっていれば、自ずと
わかることなので、基礎知識の不足が心配です。

・オシロの入力をショートして(普通SWが有る)、
ゼロ入力が上下中央になるように、2入力とも調整する。

・電圧と電流の信号をACカップルで入力。周期Tを測定する。
・電圧と電流がそれぞれマイナスからプラスへゼロクロスする点を求め
2点の時間差を測定する(△t)。

(△t/T)X360度=位相差(度)

波形が正弦波になっているか留意すること。

QRange("K" & TR).Formula = で、セルにマクロで式を書きたいのですが

よろしくお願いします。いつもgooの皆さんには大変お世話になっています
エクセルは2013です

わけあって、セルにマクロで式を書いています
例えば TRは行を表す変数ですが
Range("K" & TR).Formula = "=IFERROR(AY" & TR & ","""")" と書いたマクロの結果は
=IFERROR(AY43,"") という式がRange("K" & TR) に書かれます

それでは、いま、マクロで下記のように書いているコード(TRは行を表す変数です)
Range("Z" & i) = Range("Z" & i - 1) - Range("AG" & TR) * 10000 は
Range("Z" & i).Formula = 
で書く場合、=の右側をどう書いたら良いでしょうか

色々とやってみたのですが狙った式になりません

この場合 変数 i を使っているので、もしかしたら、そもそも無理なことでしょうか

うまく説明できていませんがよろしくお願いします

Aベストアンサー

No.1です。申し訳ありません大ボケな回答をしていましました。

要するに↓ってことですよね? また勘違いしていたらスミマセン。

Range("Z" & i).Formula = "=Z" & i - 1 & "-AG" & TR & " * 10000"

Q電流計についてなのですが、画像の問題を読むと 回路の電流を測定するために電流計をつけた。それによる測

電流計についてなのですが、画像の問題を読むと

回路の電流を測定するために電流計をつけた。それによる測定回路の抵抗の変化分を補償するために直列に抵抗Rをつけた

と書いてあるのだと思うのですがなぜ抵抗Rをつけるのでしょうか。
元々は導線で抵抗0の所に電流計をつけてそれによる回路全体の抵抗の変化を少しでも少なくしたいのだからrgとRsで並列となり、この部分の抵抗自体は少なくなって(元々の状態の抵抗0に近づいて)いるのだからわざわざ補償用抵抗をつける必要はないのではないでしょうか

電流計の耐電圧の関係かなと思いましたがそのような事も書いてありませんし、なぜわざわざ減った抵抗値を増やすような事をするのでしょうか。

Aベストアンサー

>元々は導線で抵抗0の所に電流計をつけて
>それによる回路全体の抵抗の変化を少しでも少なくしたいのだからrgとRsで並列となり、
>この部分の抵抗自体は少なくなって(元々の状態の抵抗0に近づいて)いるのだから
>わざわざ補償用抵抗をつける必要はないのではないでしょうか

これは一面では正しいと思います。
しかし、
「測定電流値を増やしてもa,b端子間の抵抗値を変えない」重視なら
正しくない、「補償用抵抗を付ける必要がある」ということでもあります。

この設問は「変えたくない」理由は書いてないですが、
設問に対しては「そういう前提」と解釈して解答するだけですね。
「その理由がわからないと解答できない」ってわけじゃないですし。

で、「測定電流値を増やしてもa,b端子間の抵抗値を変えない」意味ですが、
例えば、実験目的で電流値をいろいろ変え、追従してRs値交換し、電流値を記録し
a,b端子間の電圧降下を算出する場合などは、一定値の方が都合がいいように思います。
計算式が1つで済むので。
そうでないと(測定時のRs値によって)計算式を変える必要がありますよね。
組合せが増えれば作業も手間だし間違える可能性も出てくるし検証も複雑になる。


「一定にする」のと「少しでも小さくする」のは両立できず、一長一短です。
どちらを取るかは状況や価値観によります。本設問では「一定にする」と読めます。

電流計はrg=0オームで回路に影響与えないのが理想なんですが、
回路のエネルギーを横取りするので、現状、どういう方法でも元の回路に影響を与えます。
(クランプ式の電流計も)
少しでも0に近い方が、それによる測定誤差はより小さくなり、望ましいのですが
素の電流計 rg 以下にはできません。誤差の要因は他にもあります。
「測定誤差はこれくらいは許容」前提な測定を行うことはママあります。

>元々は導線で抵抗0の所に電流計をつけて
>それによる回路全体の抵抗の変化を少しでも少なくしたいのだからrgとRsで並列となり、
>この部分の抵抗自体は少なくなって(元々の状態の抵抗0に近づいて)いるのだから
>わざわざ補償用抵抗をつける必要はないのではないでしょうか

これは一面では正しいと思います。
しかし、
「測定電流値を増やしてもa,b端子間の抵抗値を変えない」重視なら
正しくない、「補償用抵抗を付ける必要がある」ということでもあります。

この設問は「変えたくない」理由は書いてないで...続きを読む

QVBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

*********************************************************
*********************************************************
Sub 日報別ファイルに保存したい1()
Worksheets("日報").Range("A3:AF36").Copy
With Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

ApplicationDisplayAlerts = True '同名FILEが存在する場合'
ActiveWorkbook.SaveAs Filename:= _
"c:\日報\" & ActiveSheet.Range("J2") & "年" & ActiveSheet.Range("l2") & "月" & ActiveSheet.Range("n2") & "日_日報.xls" _
, FileFormat:=xlNormal
.Close file


End With

End Sub

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

***********...続きを読む

Aベストアンサー

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-------------------------------------------
''もし、そのままでダメでしたら、 ' Application.EnableEvents = False 'イベントの介入を阻止する のところのコメント・ブロック('コードの手前のアポストロフィ)を外して、再度試してみてください。

Sub 日報別ファイルに保存したい2()
Dim myRng As Range
Set myRng = Worksheets("日報").Range("A3:AF36")
 ' Application.EnableEvents = False 'イベントの介入を阻止する

With Workbooks.Add
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
  Application.CutCopyMode = False
 
 ApplicationDisplayAlerts = True '**これは、そのままでは必要ないはずです。'
 
 ActiveWorkbook.SaveAs Filename:="c:\日報\" & ActiveSheet.Range("J2") & "年" & _
                 ActiveSheet.Range("l2") & "月" & _
                 ActiveSheet.Range("n2") & "日_日報.xls", _
                 FileFormat:=xlNormal
 .Close file
End With
Set myRng = Nothing
'Application.EnableEvents = True 'イベントマクロの活動を戻す

End Sub

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-----------------------------------------...続きを読む

Qオシロスコープ 電流波形測定

タイトルの通りで、オシロスコープで電流波形の測定をしたいです。
オシロスコープは、電圧波形を測定するものと簡単には習いましたが、電流波形は測定できないのでしょうか?
よろしくお願いします。

Aベストアンサー

その通りです。
でも実際には回路に直列に問題にならない程度の抵抗を入れると
その両端に電流に比例した電圧が発生します。
これをオシロに入れれば電流波形が見れます。

QExcelマクロでRange("A1:A5,C1:C5")をCellsで書きたいのですが

マクロ初心者です。
Excelマクロでグラフを作成するときに、元データを指定する所で、
Source:=Range("A1:A5,C1:C5")とするような場合、
「A1」とかアルファベットでの番地指定ではなく、
Cellsを用いて書きたいのです。

Source:=Range("A1:A5")であれば、
Source:=Range(Cells(1, 1), Cells(5, 1))と書けばいいことは分かるのですが、範囲指定を複数にする場合が分からないのです。

よろしくお願いします。

Aベストアンサー

Unionを使用したらできると思います。

Source:=Union(Range(Cells(1, 1), Cells(5, 1)), Range(Cells(1, 3), Cells(5, 3)))

今Excelがインストールされてないパソコンで作業していないので確認はしていないのですが・・・。

よかったら参考にして下さい

Q音波において, 界面波から放射される波の角度がどのように決定されるか教えてください

ある材料Aからある材質Bに斜めに音波が入射すると, 入射角と反射角がスネルの法則に従って決定されることは分かるのですが,
界面に沿うレイリー波などの界面波とその進行に伴って放射される音波(材料Aまたは材質Bに)に関してもスネルの法則によって(界面波の入射角を90℃として)角度が決定される理由が分かりません.
どのようなメカ二ズムで放射の角度が決定されるか教えてください.

Aベストアンサー

界面のところで,波の山と谷の周期構造はレイリー波と音波でも維持されていなければなりませんので,普通の場合と同じようにスネルの法則になります。

界面にレイリー波の波長で点を書いてみて,
媒質A内部の同じ振動数の波の波長の波が,この点列と重なるように
絵に描いてみればわかると思います。

Qエクセルのマクロ(range)について

マクロの作りと理解の方法について教えてください。

今、日報を作り直しています。
以前作成した方は、このように作っていました。


Worksheets("日報").Select
Range("Q7:Q23").Value = Range("U7:U23").Value
Range("S7:S59").Value = Range("V7:V59").Value
Range("A1").Select
MsgBox " 転写を終了しました。"
End Sub


マクロでは複数の行列を指定していますが、1行だけ表すと、
具体的な表とデータの変化の仕方とするとこのようになっています。

M    O    Q     S       U     V
個数 金額  累計個数 金額金額 (=M+Q) (=O+S)
0、   0、   100、   1000、    100、   1000 
1,初期状態

10、  100、  100、   1000、    110、   1100
2,個数を入力すると、計算式を入力してあるUとVの数が変わる

10、  100、   110、   1100、    120、   1200
3,マクロを実行すると、UとVの数がQとSに入力され、計算式を入力してあるUとVの数がさらに変わる。

0、   0、    110、   1100、   110、    1100
4,MとOの数をゼロ(クリア)にすると、計算式を入力してあるUとVの数が変わる。     


なかなか理解できないのは、Range("Q7:Q23").Value = Range("U7:U23").Valueの部分で、
2,の後にマクロを実行すると、U 110、V 1100がQ 100とS 1000に書き込まれることです。
通常の計算式だと=は対象となったセルをそのまま表示していると思うのですがのですが、
マクロに書いてある式だと3,のところでUとVの数をQとSに書き込んであります。
なぜ=なのにマクロでは一方のセルに数を書き込んでいるのでしょうか。
また、QやSをUやVへ書き込んでいないのでしょうか。

どなたか詳しく教えていただけると幸いです。

マクロの作りと理解の方法について教えてください。

今、日報を作り直しています。
以前作成した方は、このように作っていました。


Worksheets("日報").Select
Range("Q7:Q23").Value = Range("U7:U23").Value
Range("S7:S59").Value = Range("V7:V59").Value
Range("A1").Select
MsgBox " 転写を終了しました。"
End Sub


マクロでは複数の行列を指定していますが、1行だけ表すと、
具体的な表とデータの変化の仕方とするとこのようになっています。

M    O    Q     S...続きを読む

Aベストアンサー

プログラミング言語では、一般的に、
「=」は、右辺から左辺への「代入」
を意味します。

マクロ = Visual Basic = プログラミング言語
なので、Excelにおける「=」とは少し意味合いが違っています。

Q交流電源の出力をオシロスコープで測定

是非とも教えて頂きたい事がございます。

先日、アース付3極電源ケーブルをコンセントにつなげて単相交流電源を動かし、
その電源出力にケーブルをぐるぐる巻きつけたコイル状にしたものを
つなげることによって磁界を発生させる回路を作りました。
出力の電圧波形をオシロスコープで見たいと思い、u相とv相をプローブの
先端とそれについているグランドワニ口ではさんだところ、ブレーカーが
飛びました。 アース付3極電源ケーブルを2極に変換すると普通に測定でき、
3極電源ケーブル時での交流電源出力側アースとu相(又はv相)をオシロで観測するときと
同じ波形が測定出来ました。(入力側アースと出力側アースは共通になっていました)

参考情報)
入力電圧:商用電源(U相、V相、アース)
出力電圧:交流5V(50Hz),0.2A (u相、v相、アース共通)

ブレーカが落ちた理由をおしえていただけますでしょうか?

私的には、フローティング測定が原因だと思っており、
5V+商用電源電圧の電圧がオシロスコープにかかったのかと
思いましたが、出力側アースとu相(又はv相)を測定した時に、
交流5Vしか出ていなかったので原因がよくわかりません。
教えてください。

是非とも教えて頂きたい事がございます。

先日、アース付3極電源ケーブルをコンセントにつなげて単相交流電源を動かし、
その電源出力にケーブルをぐるぐる巻きつけたコイル状にしたものを
つなげることによって磁界を発生させる回路を作りました。
出力の電圧波形をオシロスコープで見たいと思い、u相とv相をプローブの
先端とそれについているグランドワニ口ではさんだところ、ブレーカーが
飛びました。 アース付3極電源ケーブルを2極に変換すると普通に測定でき、
3極電源ケーブル時での交流電源出力側...続きを読む

Aベストアンサー

ちなみにいうと、フローティングは完全なる絶縁?GNDはオシロの電源コンセントとプローブのGNDは直通?
いろいろ調べてみると勉強になるよ。

予想では、
電力系統のu相(またはv相)→交流電源のu相(またはv相)→プローブGND→OSCのGND→電力系統のGND
でショートしていると見ている。


人気Q&Aランキング

おすすめ情報