Richard E Haskell | Oakland University (original) (raw)

Papers by Richard E Haskell

Research paper thumbnail of Investigation of correlation classification techniques

A two-step classification algorithm for processing multispectral scanner data has been developed ... more A two-step classification algorithm for processing multispectral scanner data has been developed and tested. The algorithm is carried out by two separate programs called CLUSTX and GROUPX. The program CLUSTX is a single pass clustering algorithm that assigns each pixel, based on its spectral signature, to a particular cluster. The output of the program CLUSTX is a cluster tape in which a single integer is associated with each pixel. This integer is the cluster number to which the pixel has been assigned by the program. The cluster tape is used as the input to the classification program GROUPX. Ground truth information is used in GROUPX to classify each cluster using an iterative method of potentials. Once the clusters have been assigned to classes the cluster tape is read pixel-by-pixel and an output tape is produced in which each pixel is assigned to its proper class. The classification algorithm can be operated in a hierarchical manner in which each ground truth datum is classified at various levels in a classification tree. In addition to the digital classification programs, a method of using correlation clustering to process multispectral scanner data in real time by means of an interactive color video display is also described.

Research paper thumbnail of The Melting Pot Approach to Senior Design

Senior design courses in engineering programs, in addition to being required for accreditation, a... more Senior design courses in engineering programs, in addition to being required for accreditation, are ideal vehicles with which to incorporate and integrate all of the knowledge and skills that students have developed in their academic careers as well as in their extra-curricular lives. However, in spite of the tremendous opportunities to assimilate and develop engineering knowledge and practice, many engineering faculty shy away from teaching these courses, concerned that they have neither the experience nor the time to devote to supervise design projects successfully. This paper provides examples, experiences, perspectives and principles that engineering faculty can use to make their design courses more successful and meaningful, for not only the students but for the instructors as well. We hope to spark the imagination of design instructors to develop more meaningful and interesting projects and to discover the supreme joy there is in teaching design courses.

Research paper thumbnail of Market Sector Selection Using Fuzzy Regression Trees

Regression trees are binary decision trees that can predict continuous outputs based on historica... more Regression trees are binary decision trees that can predict continuous outputs based on historical training data. The trees are learned by assigning continuous output values to fuzzy classes. The nodes of the tree are made fuzzy such that test samples dropped through the tree will, in general, traverse all branches of the tree. Multiple trees are created for each of 31 Fidelity select funds with the goal of predicting the 13-week percent gain in the fund's net asset value.

Research paper thumbnail of Use of structured flowcharts in the undergraduate Computer Science curriculum

ACM SIGCSE Bulletin, 1976

Over the last four years a new Computer Science major program has been introduced into the curric... more Over the last four years a new Computer Science major program has been introduced into the curriculum of the School of Engineering at Oakland University. During this period computer science educators throughout the country have debated the best way to introduce structured programming into the curriculum. There is now a widespread belief that beginning FORTRAN courses cannot be taught using structured programming in a form that is palatable to freshmen students without the aid of a structured FORTRAN preprocessor. Our experience in teaching structured programming using FORTRAN to large numbers of freshmen students has indicated that this widespread belief is false. We will illustrate the use of structured flowcharts with FORTRAN in Section 2 by showing one of the actual programming assignments that was given to our freshman introductory computer course this term. The same structured flowcharting techniques are used throughout the curriculum. An example that uses ALGOL and is taken fr...

Research paper thumbnail of Forth in mainsteam computer science courses

Proceedings of the fourth annual workshop on Forth: from the classroom to the real world, 1992

All computer science programs contain •some type of course related to computer organization and a... more All computer science programs contain •some type of course related to computer organization and assembly language programming. A similar course taught at Oakland University includes such mainstream topics as keyboard and screen input/output, number system conversions, floating point, disk 1/0 and graphics. After completing the last six weekly homework assignments in the course the students will have written a workable Forth-like language that can create turtle graphics interactively. The six assignments include producing an RPN calculator for 16-bit integers, adding double number capabilities to the calculator, adding floating point capabilities to the calculator, adding new dictionary entries using colon definitions, adding disk 110 capabilities io the program, and including turtle graphics routines.

Research paper thumbnail of Abstract How to Produce Students Who Can Solve Problems using Computers Instead of Computers that Create Problems for Students in Engineering

Most undergraduate curricula in engineering require engineering majors to take an introductory pr... more Most undergraduate curricula in engineering require engineering majors to take an introductory programming course. Languages such as Fortran, Pascal, and BASIC were used in the past to introduce algorithmic thinking and general programming. More recently, universities have adopted C++ or Java as the new language of choice taught in these introductory courses. This paper presents a course using Visual Basic as the programming language to learn event-driven programming with a graphical user interface, basic constructs of programming, algorithmic thinking, and interfacing with a database while designing software in the laboratory to solve problems in engineering and computer science. For non-computer science students, a course of this type teaches skills necessary to solve engineering problems in their field using a simple language. For computer science students, this course prepares them to take the next course using a language such as C++ or Java where more attention can be paid to t...

Research paper thumbnail of Design of Embedded Systems Using WHYP

Research paper thumbnail of Using Fuzzy Clustering for Real-time Space Flight Safety

To ensure space flight safety, it is necessary to monitor myriad sensor readings on the ground an... more To ensure space flight safety, it is necessary to monitor myriad sensor readings on the ground and in flight. Since a space shuttle has many sensors, monitoring data and drawing conclusions from information contained within the data in real time is challenging. The nature of the information can be critical to the success of the mission and safety of the crew and therefore, must be processed with minimal data-processing time. Data analysis algorithms could be used to synthesize sensor readings and compare data associated with normal operation with the data obtained that contain fault patterns to draw conclusions. Detecting abnormal operation during early stages in the transition from safe to unsafe operation requires a large amount of historical data that can be categorized into different classes (non-risk, risk). Even though the more than 20 years of shuttle flight program has accumulated volumes of historical data, these data don't comprehensively represent all possible fault patterns since fault patterns are usually unknown before the fault occurs. This paper presents a method that uses a similarity measure between fuzzy clusters to detect possible faults in real time. A clustering technique based on a fuzzy equivalence relation is used to characterize temporal data. Data collected during an initial time period are separated into clusters. These clusters are characterized by their centroids. Clusters formed during subsequent time periods are either merged with an existing cluster or added to the cluster list. The resulting list of cluster centroids, called a cluster group, characterizes the behavior of a particular set of temporal data. The degree to which new clusters formed in a subsequent time period are similar to the cluster group is characterized by a similarity measure, q. This method is applied to downlink data from Columbia flights. The results show that this technique can detect an unexpected fault that has not been present in the training data set.

Research paper thumbnail of Forth in mainstream computer science courses

ACM SIGFORTH Newsletter, 1994

All computer science programs contain some type of course related to computer organization and as... more All computer science programs contain some type of course related to computer organization and assembly language programming. A similar course taught at Oakland University includes such mainstream topics as keyboard and screen input/output, number system conversions, floating point, disk /10 and graphics. After completing the last six weekly homework assignments in the course the students will have written a workable Forth-like language that can create turtle graphics interactively. The six assignments include producing an RPN calculator for 16-bit integers, adding double number capabilities to the calculator, adding floating point capabilities to the calculator, adding new dictionary entries using colon definitions, adding disk 1/0 capabilities to the program, and including turtle graphics routines.

Research paper thumbnail of FPGA integrated co-design

The main problem in hardware/software co-design is how to design an embedded system that contains... more The main problem in hardware/software co-design is how to design an embedded system that contains both hardware in the form of FPGAs or ASICs and a microprocessor for which software must be written. A critical decision that has a profound effect on overall system cost is how to partition the system into its hardware and software components. A mistake made in this decision, which must be corrected by reworking the entire design, can add significant delay and cost to the design process. The longer the irrevocable decision of how to partition the hardware and software can be delayed, the better is the chance to keep overall system cost to a minimum. This paper describes an approach that has been tested in a graduate course on FPGA design that will allow the hardware/software partition decision to be delayed to the very end of the design process.

Research paper thumbnail of A VHDL--Forth Core for FPGAs

Microprocessors and Microsystems, 2004

The Forth programming language is typically implemented to run on some particular microprocessor.... more The Forth programming language is typically implemented to run on some particular microprocessor. Several Forth engines have been designed that execute Forth instructions directly, typically in a single clock cycle. With the advent of high density FPGAs it has become feasible to implement a highperformance Forth core in an FPGA. This paper describes the design of a Forth core using VHDL that has been implemented on a Xilinx Spartan II FPGA. Examples are presented of high-level Forth programs that are compiled to VHDL code that implements a ROM embedded in the FPGA. The use of a Forth core in an FPGA allows for rapid prototyping of digital systems. Experiments show that an identical Forth program for the Sieve of Eratosthenes executes nearly 30 times faster on the FPGA Forth core than on a 68HC12 microcontroller at the same clock speed. This same program executes over 6 times faster on the FPGA Forth core than an equivalent compiled C program run on the same 68HC12. The Forth core is available as an EDIF file at www.tigs.com/fc16, which can be included in a VHDL project and uses approximately 30% of a Spartan II FPGA.

Research paper thumbnail of Implementing a Forth Engine Microcontroller on a Xilinx FPGA

In a junior-level course in computer hardware design it is useful to have students design a real ... more In a junior-level course in computer hardware design it is useful to have students design a real microprocessor and implement it in an FPGA. Most real microprocessors can be categorized as having either a complex instruction set computer (CISC) architecture or a reduced instruction set computer (RISC) architecture [1]. Both of these architectures involve a set of registers and multiple addressing modes. A simpler architecture that is easier to implement in an FPGA is a stack-based processor in which all arithmetic and logical operations are performed on the top two elements of a data stack. This architecture is ideally suited for efficiently executing high-level Forth programs. Forth is a programming language invented by Chuck Moore in the late 1960s while programming minicomputers in assembly language. His idea was to create a simple system that would allow him to write many more useful programs than he could by writing his programs in assembly language. The essence of Forth is sim...

Research paper thumbnail of Active Learning in Two First-Year Engineering Core Courses

In the fall of 2005 a new 6-course, 21-credit core curriculum was introduced in the School of Eng... more In the fall of 2005 a new 6-course, 21-credit core curriculum was introduced in the School of Engineering and Computer Science at Oakland University. One feature of the new core curriculum is the use of active learning techniques including group work and problem- based learning. This paper will present the overall core curriculum and describe our experiences in engaging the students in active learning and problem-solving activities in the first 4-credit freshman core course and our experience thus far in the second active, problem-based 4-credit core course.

Research paper thumbnail of Investigation of correlation classification techniques

A two-step classification algorithm for processing multispectral scanner data was developed and t... more A two-step classification algorithm for processing multispectral scanner data was developed and tested. The first step is a single pass clustering algorithm that assigns each pixel, based on its spectral signature, to a particular cluster. The output of that step is a cluster tape in which a single integer is associated with each pixel. The cluster tape is used as the input to the second step, where ground truth information is used to classify each cluster using an iterative method of potentials. Once the clusters have been assigned to classes the cluster tape is read pixel-by-pixel and an output tape is produced in which each pixel is assigned to its proper class. In addition to the digital classification programs, a method of using correlation clustering to process multispectral scanner data in real time by means of an interactive color video display is also described.

Research paper thumbnail of IBM PC Basic Programming

Research paper thumbnail of Transient signal propagation in lossless, isotropic plasmas

IEEE Transactions on Antennas and Propagation

The concept of the wave packet is used to obtain some general results on the propagation of signa... more The concept of the wave packet is used to obtain some general results on the propagation of signals in dispersive media. The dispersion of a Gaussian carrier pulse and a square wave carrier pulse in an isotropic plasma is carried out using the wave packet concept. A general analysis of transient wave propagation in isotropic plasmias is given using Laplace transform methods. Solutions are given in terms of series solutions which may be expressed in terms of Lornmel functions. Integral solutions which can be ear.-ly evaluated numerically are derived using the convolution theorem arid using contour integration techniques. The solutions are useful for sk.ort dispervion lengths. Mir Illustrations 4. P:ilse Definition of Two Gaussian Pulses 5. Regions of Good Pulse Definition and No Pulse Definition 6. Propagation of a Sine Wave Electric Field in an Overdense Plasma 7. Envelope Response for the Propagation of a Sine Wave Electric Field with a Finite Rise Time 8. Propagation of a Step Function Electric Field in a Plasma 9. The Complex Frequency Plane 10. The Complex Frequency Plane for a Branch Cut from-ill to +inl 11. The Sign Distribution on Each Riemann Shee'. for the Branch Cut of Figure 10 12. The Contour for the Branch Cut in Figure 10 13. The Contour for Branch Cuts in the Left Half Frequency Plane 14. The Amplitude of the Transient Envelope 15. The Total Transient Solution Obtained by Integration Along the Branch Cuts 16. The Total Solution of a Propagating Sine Wave Electric Field vi Transient Signal Propagation in Lossless, Isotropic Plasmas Volume I s,.l,,t,'tel s4o thati nil st'r-urit'' cla-6ssifte-iti:1 Is, regquiet. tl. ~ldmti. O9t. OTIIERl REPORTl NIIMIERS). if tile report has beetn fir.st seopsn te isga ritrd'nemmii ass ipr. ,d any other reltcrti numbers (ether. c by rt'e mriginauttor lacty Intuir'.t toni' riamr', feogrueph in: loviithit, may Il.btin' k~epta or y he p~~or, ls !-ie ths umhr().k-'y worols% but will be fr1 lorwt'd iry an inI icat ion tof t c':miica I or 'v it'.rpaso). lsontr tis umier~). o;It'xt. Till' anisignes'ent-if links. rolt's, andl(weighti is I eopt ionn I. Unclassified S-'curitv Clai S i (caitl m i

Research paper thumbnail of Transient Signal Propagation in Lossless, Isotropic Plasmas. Volume 1

The concept of the wave packet is used to obtain some general results on the propagation of signa... more The concept of the wave packet is used to obtain some general results on the propagation of signals in dispersive media. The dispersion of a Gaussian carrier pulse and a square wave carrier pulse in an isotropic plasma is carried out using the wave packet concept. A general analysis of transient wave propagation in isotropic plasmias is given using Laplace transform methods. Solutions are given in terms of series solutions which may be expressed in terms of Lornmel functions. Integral solutions which can be ear.-ly evaluated numerically are derived using the convolution theorem arid using contour integration techniques. The solutions are useful for sk.ort dispervion lengths. Mir Illustrations 4. P:ilse Definition of Two Gaussian Pulses 5. Regions of Good Pulse Definition and No Pulse Definition 6. Propagation of a Sine Wave Electric Field in an Overdense Plasma 7. Envelope Response for the Propagation of a Sine Wave Electric Field with a Finite Rise Time 8. Propagation of a Step Function Electric Field in a Plasma 9. The Complex Frequency Plane 10. The Complex Frequency Plane for a Branch Cut from-ill to +inl 11. The Sign Distribution on Each Riemann Shee'. for the Branch Cut of Figure 10 12. The Contour for the Branch Cut in Figure 10 13. The Contour for Branch Cuts in the Left Half Frequency Plane 14. The Amplitude of the Transient Envelope 15. The Total Transient Solution Obtained by Integration Along the Branch Cuts 16. The Total Solution of a Propagating Sine Wave Electric Field vi Transient Signal Propagation in Lossless, Isotropic Plasmas Volume I s,.l,,t,'tel s4o thati nil st'r-urit'' cla-6ssifte-iti:1 Is, regquiet. tl. ~ldmti. O9t. OTIIERl REPORTl NIIMIERS). if tile report has beetn fir.st seopsn te isga ritrd'nemmii ass ipr. ,d any other reltcrti numbers (ether. c by rt'e mriginauttor lacty Intuir'.t toni' riamr', feogrueph in: loviithit, may Il.btin' k~epta or y he p~~or, ls !-ie ths umhr().k-'y worols% but will be fr1 lorwt'd iry an inI icat ion tof t c':miica I or 'v it'.rpaso). lsontr tis umier~). o;It'xt. Till' anisignes'ent-if links. rolt's, andl(weighti is I eopt ionn I. Unclassified S-'curitv Clai S i (caitl m i

Research paper thumbnail of Design of Embedded Systems Using 68HC12/11 Microcontrollers

Research paper thumbnail of Wave propagation in a non-Maxwellian, magnetoactive, nonlinear plasma

Wave Propagation in a Non Maxwellian Magnetoactive Nonlinear Plasma By Papa R J Haskell Richard E Bedford Mass Office of Aerospace Research U S Air Force 1966, May 1, 1966

Abstract : Expressions for the components of a nonlinear ac conductivity tensor have been derived... more Abstract : Expressions for the components of a nonlinear ac conductivity tensor have been derived - corresponding to a temperate, weakly ionized, lossy magnetoplsma. The electrical conductivity tensor is nonlinear because its components are functions of the isotropic part of the electron velocity distribution function f, where f depends upon the amplitude and polarization of the local rf field By diagonalizing the conductivity tensor and referring Maxwell's field equations to the principal co-ordinate directions, it is shown that an elliptically polarized em wave normally incident upon an inhomogeneous magnetoplasma slab will launch only a right-hand and left-hand wave into the plasma if both the dc magnetic field and the electron density gradients are perpendicular to the interfaces. The net reflection transmission coefficients for left-hand and right-hand modes are computed using a Runge-Kutta numerical integration procedure. For low power levels, the right-hand and left-hand waves propagate independently of one another. For high field intensities, the propagation of the right-hand mode depends upon the amplitude of the left-hand mode, and vice versa. Reflection and transmission coefficients are presented as a function of normalized plasma parameters. (Author)

Research paper thumbnail of Processing Multispectral Scanner Data Using Correlation Clustering and Nonparametric Classification Techniques

Research paper thumbnail of Investigation of correlation classification techniques

A two-step classification algorithm for processing multispectral scanner data has been developed ... more A two-step classification algorithm for processing multispectral scanner data has been developed and tested. The algorithm is carried out by two separate programs called CLUSTX and GROUPX. The program CLUSTX is a single pass clustering algorithm that assigns each pixel, based on its spectral signature, to a particular cluster. The output of the program CLUSTX is a cluster tape in which a single integer is associated with each pixel. This integer is the cluster number to which the pixel has been assigned by the program. The cluster tape is used as the input to the classification program GROUPX. Ground truth information is used in GROUPX to classify each cluster using an iterative method of potentials. Once the clusters have been assigned to classes the cluster tape is read pixel-by-pixel and an output tape is produced in which each pixel is assigned to its proper class. The classification algorithm can be operated in a hierarchical manner in which each ground truth datum is classified at various levels in a classification tree. In addition to the digital classification programs, a method of using correlation clustering to process multispectral scanner data in real time by means of an interactive color video display is also described.

Research paper thumbnail of The Melting Pot Approach to Senior Design

Senior design courses in engineering programs, in addition to being required for accreditation, a... more Senior design courses in engineering programs, in addition to being required for accreditation, are ideal vehicles with which to incorporate and integrate all of the knowledge and skills that students have developed in their academic careers as well as in their extra-curricular lives. However, in spite of the tremendous opportunities to assimilate and develop engineering knowledge and practice, many engineering faculty shy away from teaching these courses, concerned that they have neither the experience nor the time to devote to supervise design projects successfully. This paper provides examples, experiences, perspectives and principles that engineering faculty can use to make their design courses more successful and meaningful, for not only the students but for the instructors as well. We hope to spark the imagination of design instructors to develop more meaningful and interesting projects and to discover the supreme joy there is in teaching design courses.

Research paper thumbnail of Market Sector Selection Using Fuzzy Regression Trees

Regression trees are binary decision trees that can predict continuous outputs based on historica... more Regression trees are binary decision trees that can predict continuous outputs based on historical training data. The trees are learned by assigning continuous output values to fuzzy classes. The nodes of the tree are made fuzzy such that test samples dropped through the tree will, in general, traverse all branches of the tree. Multiple trees are created for each of 31 Fidelity select funds with the goal of predicting the 13-week percent gain in the fund's net asset value.

Research paper thumbnail of Use of structured flowcharts in the undergraduate Computer Science curriculum

ACM SIGCSE Bulletin, 1976

Over the last four years a new Computer Science major program has been introduced into the curric... more Over the last four years a new Computer Science major program has been introduced into the curriculum of the School of Engineering at Oakland University. During this period computer science educators throughout the country have debated the best way to introduce structured programming into the curriculum. There is now a widespread belief that beginning FORTRAN courses cannot be taught using structured programming in a form that is palatable to freshmen students without the aid of a structured FORTRAN preprocessor. Our experience in teaching structured programming using FORTRAN to large numbers of freshmen students has indicated that this widespread belief is false. We will illustrate the use of structured flowcharts with FORTRAN in Section 2 by showing one of the actual programming assignments that was given to our freshman introductory computer course this term. The same structured flowcharting techniques are used throughout the curriculum. An example that uses ALGOL and is taken fr...

Research paper thumbnail of Forth in mainsteam computer science courses

Proceedings of the fourth annual workshop on Forth: from the classroom to the real world, 1992

All computer science programs contain •some type of course related to computer organization and a... more All computer science programs contain •some type of course related to computer organization and assembly language programming. A similar course taught at Oakland University includes such mainstream topics as keyboard and screen input/output, number system conversions, floating point, disk 1/0 and graphics. After completing the last six weekly homework assignments in the course the students will have written a workable Forth-like language that can create turtle graphics interactively. The six assignments include producing an RPN calculator for 16-bit integers, adding double number capabilities to the calculator, adding floating point capabilities to the calculator, adding new dictionary entries using colon definitions, adding disk 110 capabilities io the program, and including turtle graphics routines.

Research paper thumbnail of Abstract How to Produce Students Who Can Solve Problems using Computers Instead of Computers that Create Problems for Students in Engineering

Most undergraduate curricula in engineering require engineering majors to take an introductory pr... more Most undergraduate curricula in engineering require engineering majors to take an introductory programming course. Languages such as Fortran, Pascal, and BASIC were used in the past to introduce algorithmic thinking and general programming. More recently, universities have adopted C++ or Java as the new language of choice taught in these introductory courses. This paper presents a course using Visual Basic as the programming language to learn event-driven programming with a graphical user interface, basic constructs of programming, algorithmic thinking, and interfacing with a database while designing software in the laboratory to solve problems in engineering and computer science. For non-computer science students, a course of this type teaches skills necessary to solve engineering problems in their field using a simple language. For computer science students, this course prepares them to take the next course using a language such as C++ or Java where more attention can be paid to t...

Research paper thumbnail of Design of Embedded Systems Using WHYP

Research paper thumbnail of Using Fuzzy Clustering for Real-time Space Flight Safety

To ensure space flight safety, it is necessary to monitor myriad sensor readings on the ground an... more To ensure space flight safety, it is necessary to monitor myriad sensor readings on the ground and in flight. Since a space shuttle has many sensors, monitoring data and drawing conclusions from information contained within the data in real time is challenging. The nature of the information can be critical to the success of the mission and safety of the crew and therefore, must be processed with minimal data-processing time. Data analysis algorithms could be used to synthesize sensor readings and compare data associated with normal operation with the data obtained that contain fault patterns to draw conclusions. Detecting abnormal operation during early stages in the transition from safe to unsafe operation requires a large amount of historical data that can be categorized into different classes (non-risk, risk). Even though the more than 20 years of shuttle flight program has accumulated volumes of historical data, these data don't comprehensively represent all possible fault patterns since fault patterns are usually unknown before the fault occurs. This paper presents a method that uses a similarity measure between fuzzy clusters to detect possible faults in real time. A clustering technique based on a fuzzy equivalence relation is used to characterize temporal data. Data collected during an initial time period are separated into clusters. These clusters are characterized by their centroids. Clusters formed during subsequent time periods are either merged with an existing cluster or added to the cluster list. The resulting list of cluster centroids, called a cluster group, characterizes the behavior of a particular set of temporal data. The degree to which new clusters formed in a subsequent time period are similar to the cluster group is characterized by a similarity measure, q. This method is applied to downlink data from Columbia flights. The results show that this technique can detect an unexpected fault that has not been present in the training data set.

Research paper thumbnail of Forth in mainstream computer science courses

ACM SIGFORTH Newsletter, 1994

All computer science programs contain some type of course related to computer organization and as... more All computer science programs contain some type of course related to computer organization and assembly language programming. A similar course taught at Oakland University includes such mainstream topics as keyboard and screen input/output, number system conversions, floating point, disk /10 and graphics. After completing the last six weekly homework assignments in the course the students will have written a workable Forth-like language that can create turtle graphics interactively. The six assignments include producing an RPN calculator for 16-bit integers, adding double number capabilities to the calculator, adding floating point capabilities to the calculator, adding new dictionary entries using colon definitions, adding disk 1/0 capabilities to the program, and including turtle graphics routines.

Research paper thumbnail of FPGA integrated co-design

The main problem in hardware/software co-design is how to design an embedded system that contains... more The main problem in hardware/software co-design is how to design an embedded system that contains both hardware in the form of FPGAs or ASICs and a microprocessor for which software must be written. A critical decision that has a profound effect on overall system cost is how to partition the system into its hardware and software components. A mistake made in this decision, which must be corrected by reworking the entire design, can add significant delay and cost to the design process. The longer the irrevocable decision of how to partition the hardware and software can be delayed, the better is the chance to keep overall system cost to a minimum. This paper describes an approach that has been tested in a graduate course on FPGA design that will allow the hardware/software partition decision to be delayed to the very end of the design process.

Research paper thumbnail of A VHDL--Forth Core for FPGAs

Microprocessors and Microsystems, 2004

The Forth programming language is typically implemented to run on some particular microprocessor.... more The Forth programming language is typically implemented to run on some particular microprocessor. Several Forth engines have been designed that execute Forth instructions directly, typically in a single clock cycle. With the advent of high density FPGAs it has become feasible to implement a highperformance Forth core in an FPGA. This paper describes the design of a Forth core using VHDL that has been implemented on a Xilinx Spartan II FPGA. Examples are presented of high-level Forth programs that are compiled to VHDL code that implements a ROM embedded in the FPGA. The use of a Forth core in an FPGA allows for rapid prototyping of digital systems. Experiments show that an identical Forth program for the Sieve of Eratosthenes executes nearly 30 times faster on the FPGA Forth core than on a 68HC12 microcontroller at the same clock speed. This same program executes over 6 times faster on the FPGA Forth core than an equivalent compiled C program run on the same 68HC12. The Forth core is available as an EDIF file at www.tigs.com/fc16, which can be included in a VHDL project and uses approximately 30% of a Spartan II FPGA.

Research paper thumbnail of Implementing a Forth Engine Microcontroller on a Xilinx FPGA

In a junior-level course in computer hardware design it is useful to have students design a real ... more In a junior-level course in computer hardware design it is useful to have students design a real microprocessor and implement it in an FPGA. Most real microprocessors can be categorized as having either a complex instruction set computer (CISC) architecture or a reduced instruction set computer (RISC) architecture [1]. Both of these architectures involve a set of registers and multiple addressing modes. A simpler architecture that is easier to implement in an FPGA is a stack-based processor in which all arithmetic and logical operations are performed on the top two elements of a data stack. This architecture is ideally suited for efficiently executing high-level Forth programs. Forth is a programming language invented by Chuck Moore in the late 1960s while programming minicomputers in assembly language. His idea was to create a simple system that would allow him to write many more useful programs than he could by writing his programs in assembly language. The essence of Forth is sim...

Research paper thumbnail of Active Learning in Two First-Year Engineering Core Courses

In the fall of 2005 a new 6-course, 21-credit core curriculum was introduced in the School of Eng... more In the fall of 2005 a new 6-course, 21-credit core curriculum was introduced in the School of Engineering and Computer Science at Oakland University. One feature of the new core curriculum is the use of active learning techniques including group work and problem- based learning. This paper will present the overall core curriculum and describe our experiences in engaging the students in active learning and problem-solving activities in the first 4-credit freshman core course and our experience thus far in the second active, problem-based 4-credit core course.

Research paper thumbnail of Investigation of correlation classification techniques

A two-step classification algorithm for processing multispectral scanner data was developed and t... more A two-step classification algorithm for processing multispectral scanner data was developed and tested. The first step is a single pass clustering algorithm that assigns each pixel, based on its spectral signature, to a particular cluster. The output of that step is a cluster tape in which a single integer is associated with each pixel. The cluster tape is used as the input to the second step, where ground truth information is used to classify each cluster using an iterative method of potentials. Once the clusters have been assigned to classes the cluster tape is read pixel-by-pixel and an output tape is produced in which each pixel is assigned to its proper class. In addition to the digital classification programs, a method of using correlation clustering to process multispectral scanner data in real time by means of an interactive color video display is also described.

Research paper thumbnail of IBM PC Basic Programming

Research paper thumbnail of Transient signal propagation in lossless, isotropic plasmas

IEEE Transactions on Antennas and Propagation

The concept of the wave packet is used to obtain some general results on the propagation of signa... more The concept of the wave packet is used to obtain some general results on the propagation of signals in dispersive media. The dispersion of a Gaussian carrier pulse and a square wave carrier pulse in an isotropic plasma is carried out using the wave packet concept. A general analysis of transient wave propagation in isotropic plasmias is given using Laplace transform methods. Solutions are given in terms of series solutions which may be expressed in terms of Lornmel functions. Integral solutions which can be ear.-ly evaluated numerically are derived using the convolution theorem arid using contour integration techniques. The solutions are useful for sk.ort dispervion lengths. Mir Illustrations 4. P:ilse Definition of Two Gaussian Pulses 5. Regions of Good Pulse Definition and No Pulse Definition 6. Propagation of a Sine Wave Electric Field in an Overdense Plasma 7. Envelope Response for the Propagation of a Sine Wave Electric Field with a Finite Rise Time 8. Propagation of a Step Function Electric Field in a Plasma 9. The Complex Frequency Plane 10. The Complex Frequency Plane for a Branch Cut from-ill to +inl 11. The Sign Distribution on Each Riemann Shee'. for the Branch Cut of Figure 10 12. The Contour for the Branch Cut in Figure 10 13. The Contour for Branch Cuts in the Left Half Frequency Plane 14. The Amplitude of the Transient Envelope 15. The Total Transient Solution Obtained by Integration Along the Branch Cuts 16. The Total Solution of a Propagating Sine Wave Electric Field vi Transient Signal Propagation in Lossless, Isotropic Plasmas Volume I s,.l,,t,'tel s4o thati nil st'r-urit'' cla-6ssifte-iti:1 Is, regquiet. tl. ~ldmti. O9t. OTIIERl REPORTl NIIMIERS). if tile report has beetn fir.st seopsn te isga ritrd'nemmii ass ipr. ,d any other reltcrti numbers (ether. c by rt'e mriginauttor lacty Intuir'.t toni' riamr', feogrueph in: loviithit, may Il.btin' k~epta or y he p~~or, ls !-ie ths umhr().k-'y worols% but will be fr1 lorwt'd iry an inI icat ion tof t c':miica I or 'v it'.rpaso). lsontr tis umier~). o;It'xt. Till' anisignes'ent-if links. rolt's, andl(weighti is I eopt ionn I. Unclassified S-'curitv Clai S i (caitl m i

Research paper thumbnail of Transient Signal Propagation in Lossless, Isotropic Plasmas. Volume 1

The concept of the wave packet is used to obtain some general results on the propagation of signa... more The concept of the wave packet is used to obtain some general results on the propagation of signals in dispersive media. The dispersion of a Gaussian carrier pulse and a square wave carrier pulse in an isotropic plasma is carried out using the wave packet concept. A general analysis of transient wave propagation in isotropic plasmias is given using Laplace transform methods. Solutions are given in terms of series solutions which may be expressed in terms of Lornmel functions. Integral solutions which can be ear.-ly evaluated numerically are derived using the convolution theorem arid using contour integration techniques. The solutions are useful for sk.ort dispervion lengths. Mir Illustrations 4. P:ilse Definition of Two Gaussian Pulses 5. Regions of Good Pulse Definition and No Pulse Definition 6. Propagation of a Sine Wave Electric Field in an Overdense Plasma 7. Envelope Response for the Propagation of a Sine Wave Electric Field with a Finite Rise Time 8. Propagation of a Step Function Electric Field in a Plasma 9. The Complex Frequency Plane 10. The Complex Frequency Plane for a Branch Cut from-ill to +inl 11. The Sign Distribution on Each Riemann Shee'. for the Branch Cut of Figure 10 12. The Contour for the Branch Cut in Figure 10 13. The Contour for Branch Cuts in the Left Half Frequency Plane 14. The Amplitude of the Transient Envelope 15. The Total Transient Solution Obtained by Integration Along the Branch Cuts 16. The Total Solution of a Propagating Sine Wave Electric Field vi Transient Signal Propagation in Lossless, Isotropic Plasmas Volume I s,.l,,t,'tel s4o thati nil st'r-urit'' cla-6ssifte-iti:1 Is, regquiet. tl. ~ldmti. O9t. OTIIERl REPORTl NIIMIERS). if tile report has beetn fir.st seopsn te isga ritrd'nemmii ass ipr. ,d any other reltcrti numbers (ether. c by rt'e mriginauttor lacty Intuir'.t toni' riamr', feogrueph in: loviithit, may Il.btin' k~epta or y he p~~or, ls !-ie ths umhr().k-'y worols% but will be fr1 lorwt'd iry an inI icat ion tof t c':miica I or 'v it'.rpaso). lsontr tis umier~). o;It'xt. Till' anisignes'ent-if links. rolt's, andl(weighti is I eopt ionn I. Unclassified S-'curitv Clai S i (caitl m i

Research paper thumbnail of Design of Embedded Systems Using 68HC12/11 Microcontrollers

Research paper thumbnail of Wave propagation in a non-Maxwellian, magnetoactive, nonlinear plasma

Wave Propagation in a Non Maxwellian Magnetoactive Nonlinear Plasma By Papa R J Haskell Richard E Bedford Mass Office of Aerospace Research U S Air Force 1966, May 1, 1966

Abstract : Expressions for the components of a nonlinear ac conductivity tensor have been derived... more Abstract : Expressions for the components of a nonlinear ac conductivity tensor have been derived - corresponding to a temperate, weakly ionized, lossy magnetoplsma. The electrical conductivity tensor is nonlinear because its components are functions of the isotropic part of the electron velocity distribution function f, where f depends upon the amplitude and polarization of the local rf field By diagonalizing the conductivity tensor and referring Maxwell's field equations to the principal co-ordinate directions, it is shown that an elliptically polarized em wave normally incident upon an inhomogeneous magnetoplasma slab will launch only a right-hand and left-hand wave into the plasma if both the dc magnetic field and the electron density gradients are perpendicular to the interfaces. The net reflection transmission coefficients for left-hand and right-hand modes are computed using a Runge-Kutta numerical integration procedure. For low power levels, the right-hand and left-hand waves propagate independently of one another. For high field intensities, the propagation of the right-hand mode depends upon the amplitude of the left-hand mode, and vice versa. Reflection and transmission coefficients are presented as a function of normalized plasma parameters. (Author)

Research paper thumbnail of Processing Multispectral Scanner Data Using Correlation Clustering and Nonparametric Classification Techniques