ECE 538 Assignment 7

Your submission should follow our general guidelines. Please follow object-oriented principles. Provide executable jar files for all java programs. Ideally you should be using JMenuBar as a regular program feature.

  1. Modify your circuit layout Java program from earlier assignments. Add a JMenuBar with File, Edit, and Help menus. The Help menu should contain and About item that displays a JOptionPane describing the program, its author, and date of current version. The File menu should contain an Open item that uses JFileChooser to open and read a netlist file. You should be able to add and delete components (resistors, current and voltage sources, and wires) and to select, move, rotate, or edit components. Illustrate the gray-out feature for un-implemented menu items (on the Edit menu, for example).
  2. Extend your circuit analysis program to handle multiple current sources, such as the example below, and calculate the node voltages. The LTSpice version of this circuit can be downloaded from test5.zip Your program should use JFileChooser to select a netlist file.
    R1 1 2 100
    R2 3 4 400
    R3 2 0 500
    R4 4 0 200
    I1 0 1 0.1
    I2 2 3 0.02
    

  3. Combine circuit layout and circuit analysis programs. You may use one of the following techniques.
    1. Use a View menu to select between graphical layout display or circuit analysis display.
    2. Use a tabbed pane with graphical layout and circuit analysis tabs.
  4. Modify one of the image processing programs (see impro3 for examples) to calculate and display a laplacian filtered image. An example Lapacian filter is shown below:
      -1    6   -1
       6  -20    6
      -1    6   -1
    

    Notes:

    1. you should modify the output range for bipolar images.
    2. the output values must be truncated to 8-bits
    3. Here are some simple test images (also in img7.zip):

       

  5. Implement the Runge-Kutta method for solving a system of differential equations in Java. See MATLAB notes on numerical solutions of differential equations. Download MATLAB code from integrator.zip. Remember that Java, unlike MATLAB, does not use matrices as basic components so you may need Jama.
  6. Write a Java program to parse Windows meta graphics files (.wmf) or (.emf). Details of this binary format are in WMF.zip which you can download from the class Isidore resources. You do not have to actually do anything with the information in the file, just read and identify the headers, records, and EOF record. Use the examples in img7.zip.

Reference

James G. Gotting, Matrix Analysis of Circuits Using MATLAB
Prentice-Hall, 1994. ISBN 0-13-127044-3.


Maintained by John Loomis, last updated 13 July 2016