Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Frequency response plots using MATLAB®, Rigol DS1000Z oscilloscope and DG1000Z function generator.

NotificationsYou must be signed in to change notification settings

Jajaho/Bodeplot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

guiThis repository consists out of a MATLAB® script that provides the measurement capabilities and a MATLAB® app providing access to the script via a GUI.Using this app or also just with the script you can create Bode plots of phase and magnitude/attenuation.So far only using a Rigol DS1000Z series oscilloscope and an Rigol DG1000Z series arbitrary function generator connected to the LAN.

Requirements

  • Matlab R2006b or higher (theoretically)
  • Instrument Control Toolbox
  • IVI Drivers:
  • Note: In R2021a MathWorks introduced the visadev class which will replace the visa class used in this repository. However the decision was made to use the older class because it does not require any instrument support packages.

Getting started

  1. Install all requirements listed above, only explicitly listed requirements are needed.
  2. Add bodeplott.mlapp and Measurement.m to your MATLAB path.
  3. Launch bodeplott.mlapp via the app designer.
  4. Replace the ip-addresses in the gui, here is where you find your instruments addresses:
    • On your DS1000Z series oscilloscope:
      • Press the 'Utility' button
      • Select 'IO Setting' -> 'LAN Conf.'
    • On your DG1000Z function generator:
      • Press the 'Utility' button
      • Navigate 'I/O Config' -> 'LAN'
  5. Package the app

Alternatively you can also use Measurement.m to take frequency response measurements on its own, as described below.

First create a measurement object using the class constructor with or without arguments:

m1 = Measurement()

Afterwards you can set the measurement parameters:

m1.samples = 50;m1.fstart = 1000;m1.ftsop = 1e+6;

Take the measurement:

m1.makeMeasurement('scopeIp', 'fgenIp')

To get the progress state of the data acquisition [%], use:

m1.progress

If someting goes wrong, the measurement can be aborted using:

m1.abortMeasurement

Physical Connections

  • Function gen. CH1 -> BNC T-splitter -> Osc. CH1 & DUT input
  • DUT output -> Osc. CH2

Check probe attenuation settings to match setup!

Notes:
  • All SCPI commands are case-insensitive and can be appreviated to only thecapital letters for example :MEASure:ADISplay? can be abbreviated to:MEAS:ADIS?
  • A read command indicated by '?' must always be followed by a fread(), the "?" is placed afterthe highest-level keyword

About

Frequency response plots using MATLAB®, Rigol DS1000Z oscilloscope and DG1000Z function generator.

Topics

Resources

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp