US English (US)
JP Japanese
CN Chinese
KR Korean

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Knowledge Base Home
  • Contact Us
Japanese
US English (US)
JP Japanese
CN Chinese
KR Korean
  • Home
  • Python API

Pythonを使用して出力信号を観察しながら任意の波形を生成する

Written by Paul Cracknell

Updated at April 9th, 2025

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Moku:Lab
    Moku:Lab に関するよくある質問 Moku:Labロジックアナライザ/パターンジェネレータ Moku:Lab時間および周波数アナライザー Moku:Labスペクトラムアナライザー Moku:Lab PID コントローラ Moku:Labオシロスコープ Moku:Lab位相計 Moku:Labレーザーロックボックス Moku:Labデジタルフィルターボックス Moku:Lab任意波形ジェネレータ Moku:Lab波形ジェネレーター Moku:Lab周波数応答アナライザー Moku:Lab FIR フィルター ビルダー Moku:Labロックインアンプ Moku:Labデータロガー
  • Moku:Go
    Moku:Goに関するよくある質問 Moku:Goロックインアンプ Moku:Goロジックアナライザ & パターンジェネレータ Moku:Goオシロスコープ & 電圧計 Moku:Goスペクトラムアナライザー Moku:Go波形ジェネレータ Moku:Go時間・周波数アナライザー Moku:Goデジタルフィルターボックス Moku:Go FIR フィルター ビルダー Moku:Goレーザーロックボックス Moku:Go任意波形ジェネレータ Moku:Go周波数応答アナライザー Moku:Goデータロガー Moku:Go計 Moku:Go電源 Moku:Go
  • Moku:Pro
    Moku:Proに関するよくある質問 Moku:Pro波形発生器 Moku:Proタイム&周波数アナライザ Moku:Proロジックアナライザ/パターンジェネレーター Moku:Proレレーザーロックボックス Moku:Proロックインアンプ Moku:Proスペクトラムアナライザ Moku:Proデータロガー Moku:Pro任意波形発生器 Moku:Proマルチ機器モード Moku:Pro位相計 Moku:Pro FIRフィルタービルダー Moku:Pro PIDコントローラー Moku:Proオシロスコープ Moku:Pro周波数応答アナライザ Moku:Proデジタルフィルターボックス
  • Python API
  • MATLAB API
  • 任意波形発生器
  • データロガー
  • デジタルフィルターボックス
  • FIR フィルタ ビルダー
  • 周波数応答アナライザー
  • レーザーロックボックス
  • ロックインアンプ
  • オシロスコープ
  • 位相計
  • PIDコントローラー
  • スペクトラムアナライザー
  • 時間と周波数アナライザー
  • 波形発生器
  • ロジックアナライザ/パターンジェネレーター
  • マルチ機器モード
  • Mokuクラウドコンパイル
  • Mokuに関するよくある質問
  • LabVIEW API
+ More

任意波形ジェネレータとオシロスコープの Python 実装

Mokuの任意波形ジェネレータ (AWG) を Python 内に展開して、出力信号を駆動することができます。同時に、Python AWG をオシロスコープとして使用して出力信号を表示することもできます。これを行うには、出力 1 を入力 1 にループバックする必要があります。

これは以下の Python で実装されています。

#
# Moku 例: プロット オシロスコープ と 芸術作品 波形 ジェネレータ
#
# これ 例 示す どうやって あなた できる 設定する の 任意波形ジェネレータ 楽器、
# そして ビュー 引き起こされた 時間電圧 データ フレーム で リアルタイム。
#
# (ハ) 2023 Liquid Pty. 株式会社
#
から moku.楽器 輸入 任意波形ジェネレータ、 マルチインストゥルメント、 オシロスコープ

輸入 ナンピー として いいえ
輸入 マットプロット
輸入 matplotlib.pyplot として プラス

# 打ち上げ ミム そして 接続する に あなたの デバイス を通して IP
メートル = MultiInstrument('192.168.###.###', 強制接続=True、 プラットフォームID=4)
ああ = m.set_instrument(1, 任意波形ジェネレーター
awg.set_defaults()
osc = m.set_instrument(2, オシロスコープ)
osc.set_defaults()
接続 = [dict(source="Slot1OutA", 宛先="Slot2InB")、
               dict(source="Slot1OutA", 宛先="出力1")、
               dict(ソース="Slot2OutA", 宛先="Slot2InA")]
m.set_connections(接続=接続)

電流正弦 = np.ゼロ(1000)

グ = 0
のために x で 電流正弦:
    電流正弦波[g] = np.sin((float(g)*2*np.pi/len(current_sine)))
    グ +=1

試す:
    # 生成する の 出力 正弦波 の上 チャネル 2、 500mVpp、 1MHz、 0V オフセット
    awg.generate_waveform(チャンネル=1, 頻度=1e6、 振幅 = 0.5、 サンプルレート='自動'、 lut_data=リスト(現在の正弦波)、 補間 = 真実) 


    # トリガー の上 入力 チャネル 2、 上昇 角、 0V と 0.1V ヒステリシス
    osc.set_trigger(ソース='チャンネルA', タイプ="エッジ", レベル=0、 ヒステリシス=0.1)

    # ビュー +-5マイクロ秒、 つまり トリガー で の 中心
    osc.set_timebase(-5e-6, 5e-6)

    osc.generate_waveform(1, '正弦'、 振幅=0.5、 頻度=1e6、 対称性=0.0)


    # 得る イニシャル データ フレーム に セット 上 プロット パラメータ。 これ できる なれ 終わり 一度
    # もし 私たちは 知る それ の 軸 ない 行く に 変化 (さもないと 私たちは する
    # これ で の ループ)
    plt_dtさん = osc.get_data()

    # セット 上 の プロット パラメータ
    plt.ion()
    plt.show()
    plt.grid(True)
    plt.ylim([-1,1])
    plt.xlim([plt_dt['時間'][0], plt_dt['時間'][-1]])

    行1、 = plt.plot([])
    2行目、 = plt.plot([])

    ax=plt.gca()

    # これ ループ 継続的に アップデート の プロット と 新しい データ
    その間 真実:
        # 得る 新しい データ
        データ = osc.get_data()

        # アップデート の プロット
        行1.set_ydata(データ['ch1'])
        行1.set_xdata(データ['time'])
        行2.set_ydata(データ['ch2'])
        行2.set_xdata(データ['time'])
        plt.一時停止(0.001)

を除外する 例外 として e:
        print(f'例外 発生しました: {e}')

ついに:
    # 近い の 繋がり に の Moku デバイス
    # これ 保証する ネットワーク リソース そして リリース 正しく
    m.所有権を放棄する()

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Python スペクトラム アナライザの「最大ホールド」機能
  • Mokuロックインアンプの復調信号の位相を変更する方法
  • ディープメモリモードでのデータ収集
  • 「pkg_resources という名前のモジュールがありません」というエラーを修正
  • PythonのインストールとMokuパッケージを確認する

Sitemap

  • Moku:Lab
  • Instruments
  • Software
  • Company
  • Support
  • Store
  • Terms & Conditions
  • Privacy Policy

Offices

United States
+1 (619) 332-6230
12526 High Bluff Dr
Suite 150
San Diego, CA 92130

Australia
+61 2 6171 9730
243 Northbourne Avenue
Suite 2
Lyneham, ACT 2602

Australia
+61 03 7073 3594
700 Swanston Street
Suite 5E, Level 5
Carlton, VIC 3053

Follow us

Youtube LinkedIn

官方微信

Contact us
© 2025 Liquid Instruments. All rights reserved.

Knowledge Base Software powered by Helpjuice

Definition by Author

0
0
Expand