DSP Software and Basic Concepts in Digital Signal Processing
Ranked #6,089 in How-To, #66,679 overall
DSP Software Including a Tutorial On Digital Signal Processing
WHY STUDY DIGITAL SIGNAL PROCESSING? Digital Signal Processing chips cover many applications. For example, digital signal processing is needed for robot vision, image transmission and compression, pattern recognition, animation and digital maps just to name a few. Digital processing is used to perform instrumentation, voice and speech processing, control of systems, telecommunications say for echo cancellation,
Consumer applications will include radar detectors, power tools, digital audio and TV, music synthesizer and educational toys. Currently in development will be in my robotics section and will include videos describing these toys. The robotic systems include: Robosapien II, Robopet, Roboreptile, Vex Robotics, Boebot. And the commercial application of iRobot. iRobot uses AWARETM technology to navigate across the room
Automotive application like engine control, vibration analysis, antiskid brakes, navigation, digital ratio, and adaptive ride control or anything to make riding on an automobile an enjoyable experience.
In terms of military applications digital signal processing can be used in communications, radar processing, image processing for target recognition, navigation, missile guidance and RF modems.
TUTORIAL DESCRIPTION. In this tutorial, we will cover the essential concepts and principles of digital signal processing. The topics of this tutorial will include:
- Discrete-time signals
- z-transforms
- Discrete Fourier Transforms
- Finite Impulse Response (FIR) - no feedback
- Infinite Impulse Response (IIR) filters - with feedback
- Methods of digital filter design
TUTORIAL OBJECTIVES. Some of the key concepts and objectives in understanding how digital signal processing works include the following:
- Understand and process discrete-time signals and linear systems
- Perform digital signal operations in both time and frequency domains
- Describe mathematically digital-time signals in the z-transforms
- Apply the z-transform and inverse z-transform for signals and systems
- Develop a discrete-time sequence from sampling a continuous-time signal, and then reconstruct the original signal.
- Use discrete-time techniques such as multi-rate, quantization and prefiltering
- Design frequently selective IIR (Infinite Impulse Response) and FIR (Finite Impulse Response) digital filters
- Perform Fourier techniques on discrete-time signals and using the discrete Fourier Transform
FLASH Demos. See Flash-animated demos from Purdue University of continuous-time convolution, sampling, discrete-time convolution, FIR & IIR filter, FFT, pole-zero plots and frequency response, and spectograms.
Filter Solutions. An external website, Filter Solutions contains many different types of filters to choose from. Passive, Transmission Line, Active, and Digital IIR and FIR are all supported. See our FIR page for information about our FIR filters that are supported. Analog and IIR filters may all be quickly and easily delay equalized with our real time updates to all pass pole/zero manipulation.
Passive and active filters may be quickly and easily modified and reanalysed with our real time analysis feature. Finite Q may be included in the analysis.
Digital filters may be modified and analysis in real time for finite precision analysis.
Table one below lists the type of analog filters that are supported along with the parameters that are available for you to define.
M-Files. The section provides categories of m-files for the powerful MATLAB program. These files are intended to help you reduce your debugging time and encourage you to experiment more by varying the parameters and doing "what-if" thinking. For example see if you can get a square wave sequence based on sinusoidal sequences. You can use any of the files to suit your style or programming needs.
DSP/Matlab Resources. DSP and Matlab references of other web sites, especially for those who are new to Matlab. The web page will evolve as the course progresses during the next five weeks to provide better teaching projects and educational material.
MIT List of References
HST.582J/6.555J/16.456J
Signal Processing Resources
[ Course Resources | Probability ]
Overview:
New Links: Gibbs Phenomenon, Linear Algebra
This page describes several applets and on-line tutorials that cover some of the material presented in the first few weeks of the course. They are organized below according to lecture topic. All of the applets come from four main sites, listed here along with a general note about each. If you are aware of other web-based resources for learning this material, please let us know so that we can include them on the course website.
- JHU Signals, Systems & Control Demonstrations - Has many different tutorials and applets available. In general the applets on this site are the best of those listed. If you are limited on time, go to this site.
- Mississippi State Applets - Has a handful of applets with three that relate to this course. The applets are good at demonstrating various concepts, but do not include explanations. Therefore they are good for reviewing the material, but not a good place to start.
- J-DSP - A very broad application where the user defines what signal processing is done through the setting up of a block diagram. Takes a little time initially to become familiar with the application, but can be very useful. A detailed description follows in its own section below.
- RPI Links - Has a lot of applets, but most are not related to the early part of this course. Look to this site later for help on probability, which we plan to cover in a later handout.
Data Acquisition:
- JHU Sampling - An OK applet that shows the results of changing the sampling frequency on the sampled signal and also the frequency magnitude.
- JHU Discrete-Time Frequency - A quick overview of the differences between continuous and discrete time frequency components.
Digital Filtering: LTI properties, Convolution, FIR, IIR filters:
- JHU LTI Systems and Convolution - An interactive lecture that contains a very good overview of LTI system properties and convolution. Includes an applet that allows the user to view the flip and shift method of continuous time convolution.
- JHU Discrete-Time Convolution - Discrete Time convolution applet that is easy to use and shows the flip and shift method. Not a lot of explanation provided.
- J-DSP - See below.
- Miss St Filter Design Tool - Under "user defined" option, you can input the filter coefficients and view the resulting magnitude and phase of the filter. Can also specify the filter type and frequency parameters, the applet will then produce the filter coefficients.
- Miss St Convolution Tool - Not much explanation. The user defines two signals and the resulting flip and shift convolution is shown.
DTFT and DFT: FFT, Overlap-Add, Overlap-Save:
- JHU Discrete-Time Fourier Series - Discrete Time Fourier Series (DTFS): applet that shows the relationship of DTFS coefficients, which are closely related to the DFT.
- JHU Continuous Fourier Transform - Continuous Time Fourier Transform (CTFT): Gives some properties of the CTFT, and allows the user to view the changes to the magnitude and phase of the transform given a change in amplitude, time shift, or derivative of the original signal.
- J-DSP - See below.
Spectral Analysis:
- http://web.mit.edu/6.555/www/matweb/demo.html - Interactive demonstration of spectral analysis developed for this course and used in Week 2 of Lab 1.
- Miss St Spectrum Analysis Tool - Applet graphs magnitude and phase of CTFT after a signal and window are defined. Helps to see the differences between various types of windows, but not real easy to use.
J-DSP:
Java Digital Signal Processing (J-DSP) is an on-line DSP simulator. The program is very broad and does not target a specific topic like the other tutorials. But it can be very useful for filter design, FFT evaluation, and even speech analysis. JDSP does take a little bit of time to get used to, however.
Filter Example:
For a quick example we can design an FIR or IIR filter. The figure below is the main screen of the JDSP editor, refer to it while reading the example below.
The first step is to skim over the General Information tutorial found under the exercises heading on the main page. This exercise goes through the same example as below and explains in more detail how to attach and manipulate blocks, etc.
- At the main page click on "start J-DSP" under the "J-DSP Main" header to get started.
- First we need an input signal. To do this, simply click on [Sig. Gen] on the left side of the page and then click on the white area to place a sig. gen. block. Clicking on this box will bring up another window where you can define a sequence or select a standard sequence such as a sine or exponential.
- Next we place a filter block on the white area and connect our input signal to it with an arrow. Note that we have not defined any part of the filter, and for now it is just passing the input signal through. To adjust our filter we need to change coefficients.
- Add a coeff. Block to the work area and attach it to the filter block as shown. Clicking on the coeff. block will bring up another window where the a and b coefficients can be entered to define an FIR or IIR filter.
- The Freq-Resp. block attached to the filter block shows the magnitude and phase of the filter. Click on this block and keep the resulting window open as you adjust the coefficients. You can then watch how the magnitude and phase change while changing the coefficients. Remember to press update when you change the coeff. block, then JDSP will update all blocks simultaneously.
- By adding a plot block to the output of our filter we can view the output sequence. Clicking on the plot block brings up a window where the filtered signal is plotted.
The three blocks at the bottom of the figure are a quick way to view the FFT of a given signal. Simply clicking on the plot block will allow the user to view the magnitude and phase of the fft.
To get access to the Digital Signal Processing Course, please contact me at 719-963-5873 or john@e-liteworks.com.
. .Also please check this lens monthly to see updates on the latest resources.
You can also visit http://www.freedomuniversity.net/courses.htm that are available. If there are courses, that you would like to see use the form below.
Online documentation Matlab help
Lens Overview of Digital Signal Processing
Introduction to Spread Spectrum and CDMA. Please see Introduction to CDMA
In am also involved in internet marketing viewed from a Systems Engineering Perspective:
See also Vodcast TV and Clickbank eBook
Other interesting topics having multimedia content can be found at Freedomu University including:
Google Adsense
Real Estate
Stocks
Exchange Traded Funds
Internet Marketing
Great Stuff on Amazon
Digital Signal Processing
Digital Filter Design with LabVIEW (Text File Export)
This brief demo shows how to use graphical programming in National Instruments LabVIEW to design a digital filter and export the design as a text file. Tools from the Digital Filter Design Toolkit for LabVIEW are used to specify and implement the design.
Runtime: 358
5948 views
1 Comments:
curated content from YouTube
New Link List
Resources on Digital Signal Processing
- Digital Signal Processing
- What is DSP? DSP, or Digital Signal Processing, as the term suggests, is the processing of signals by digital means. A signal in this context can mean a number of different things. Historically the origins of signal processing are in electrical engineering, and a signal here means an electrical sign
- All About HD TV
- HDTV is an acronym for High-Definition Television. The HDTV signal contains more picture information and higher quality sound (Dolby Digital surround sound) than a standard television signal. While standard NTSC analog television signals have 525 vertical lines of resolution, HDTV can have resolutio
- Alesis Drums
- Alesis manufactures a full line of professional audio and musical instrument products capitalizing on its strengths in digital, analog, semiconductor, and transducer technologies. Alesis products include keyboards, synthesizers, hard disk recorders, electronic drums, mixers, signal processors, effec
- Why Choose Satellite TV
- Ever notice how many people switch using from Cable TV to Satellite TV? Number of Americans using Satellite TV tend to grow more and more each year. It is now in demand in millions of television viewers in United States. So why does this switching happened? What makes Satellite TV won over Cable TV?
Blog Posts from Google
Digital Signal Processing
New YouTube vids
My Blog From Freedom University
I'd like to encourage other technical professionals or educators to write articles and submit posts on the topics they love to teach. If you don't know how, please contact me at href="mailto: john@e-liteworks.com"> .
Fetching RSS feed... please stand byDigital Signal Processing - Filter Design Techniques
Part 1
Filters select frequency components...they either pass frequencies or totally reject others. Your stereo equalizer system is an example of a bank of frequency-selective band device. You can basically modify the frequency characteristics of the equalizer. In other words, your equalizer acts as transfer function consisting of a parallel band of filters each with a frequency-selective band.To design a filter in the context of Digital Signal Processing (DSP), you need to
1. Specify desirable filter properties
2. Approximate your filter with a causal discrete-time system
3. Make your filter realizable or implement your filter in digtial signal processing hardware.
The above was gathered from Oppenheim and Schafer shown below
Great Stuff on Amazon - Resource Textbook for
Discrete-Time Signal Processing by Alan V. Oppenheim and Ronald W. Schafer
Digital Signal Design - Digital Design Techniques
Overview of Design Methods for DSP Software
Current DSP software involves a variety of design methods for both infinite-duration (e.g. IIR filters) and finite-duration impulse-response (e.g. FIR) filters. Each design method in the dsp software is geared to a specific design problem.When you are not worried about phase characteristics, then the IIR filter is good enough since there is a solid foundation of closed-form filter design techniques found on the continuous domain: Butterworth, Chebyshev, or Elliptic Filters. Matlab DSP Software tools are available to design the above filters. Here, a dsp software user would start with the design of a continuous filter to meet the specifications and then convert the design into a discrete-time version using several transformation methods. These transformations include impulse invariance and bilinear transformation methods.
The order of the filter and its coefficients can be met by straightforward substitutions. These simple techniques lead to dsp software having straightforward noniterative computer programs for IIR filter design.
The above methods are limited frequency-selective IIR filters (low-pass, high-pass, bandpass and bandreject filters where magnitude specifications are met. When other magnitude shapes or linear-phase characteristics are desired, then alternate design methods are needed.
On the other hand, using dsp softare FIR filters can have precise linear phase characteristics. Unfortunately, they do not have closed form solutions. The iterative window method is straightforward with the Parks-McClellan aglorithm leading to lower order filters than the window method found on most dsp software. The dsp software implementing the FIR methods can be implemented in either a personal computer or workstation. I used MATLAB dsp software or toolbox to show most of the above concepts. Using the window method to satisfy the frequency response characteristics is slightly more difficult than the design of lowpass IIR filters.
Economic concerns involve hardware complexity, computational speed, and chip area and are usually a function of the filter order. Ignoring phase for the moment, the magnitude response can be efficiently met with IIR filter using MATLAB dsp software in class.
However, the additional cost for meeting linear phase requirements found in FIR filters may be worth it in many cases. This is especially true in applications involving decimation or interpolation. In other words, FIR filters efficiently comparable with IIR filters.
As you can see, there are a mutiple tradeoffs to be considered when designing discrete-time filters. Engineering judgment is needed to formulate the filter specifications, how you implement the filter based on the available computational hardware and dsp software to carry out the design.
What I will cover will emphasize the frequency-domain specification of desirable filter characteristics that can be implemented using current dsp softare. I will provide a general picture of discrete-time filter design for a wide range of possiblities. I will provide special emphasis on the FIR case using the window method and the Parks-McClellan algorithm scheme of filter design.
After the discussion, you will see the choic is not always clear cut and depends on a number of factors..factors that are difficult to quantify and generalize. Fortunately, you will find that the dsp software simplifies the design problem to design filters characterized by greater flexibility and implementing your design in hardware. Sophisitcated signal- processing techniques implemented by dsp software is may be difficult to implement in analog if not impossible.
New YouTube vids
Digital Signal Processing
TI's (Texas Instrument's) Da Vinci DSP
TI Texas Instrument's video for their new Da-Vinci processor, calming to make impossible entirely possible. The last sentence in the video says "And it is only the beginning". So I wonder there is lot more to come from TI in upcoming years
Runtime: 198
1625 views
1 Comments:
curated content from YouTube
How DSP Software Design Uses Continuous-Time Filters
From Continuous-Time Filters to Discrete-time IIR Filters
First of all the dsp software found in the the art and science of IIR filter design is well-founded and you might as well leverage the design procedures that are already in place.
Secondly, the dsp software using IIR design methods have simple closed-form design formulas.
Finally, the design techniques in dsp software that work well with continuous-time IIR filters do not always translate directly very well to the discrete-time case.
Note that the design process before using the dsp software start with the discrete-time design. In other words, the continuous-time filter serves as a prototype to the discret-time filter. When using transformations, we like that the prescribed frequency response of the continuous-time filter be preserved in the discrete-time filter.
What does this preserving the frequency response imply? Specifically, the imaginary axis of the s-plane maps onto the unit circle of the z-plane. Another condition, is that the design is stable in both domains. That is, both the continuous-time filter and the transformed discrete-time filter are stable. This means that all poles in the left-hand s-plane maps into all poles inside the unit circule of the z-plane.
With this small intro on how dsp software uses continuous-time filters, let's discuss the first design method called Impulse Invariance.
New YouTube vids
Digital Signal Processing
Digital Filter Design with LabVIEW (Text File Export)
This brief demo shows how to use graphical programming in National Instruments LabVIEW to design a digital filter and export the design as a text file. Tools from the Digital Filter Design Toolkit for LabVIEW are used to specify and implement the design.
Runtime: 358
5948 views
1 Comments:
curated content from YouTube
How DSP Software in Filter Design Uses Impulse Imvariance
Impulse Invariance Approach to Filter Design
So what is the relationship between the discrete-time and continuous-time filters. They are related by a linear scaling of the frequency axis. However, a continuous-time filter is not practically and totally bandlimited. As a result, the multiple spectra that occurs with the sampling process will yield aliasing. To compensate for this aliasing, you need to overdesign by exceeding the specifications, especially in the stopband.
The procedure in using this method is as follows:
1. Transform discrete-time specifications to continous-time filter specifications.
2. Assume aliasing is neglible.
3. Obtain continuous-time specifications from the discrete-time specifications.
4. After meeting the specifications with the continuous-time filter, transform to the desired discrete-time filter.
While the impulse invariance approach is defined in terms of time-domain sampling, you can easily carry out the transformation of the system function.
In Oppenheimer and Schaffer, they have examples on using the impulse invariance approach for the case of designing a Butterworth filter.
In some filter design problems, there are times when you want to control a particular aspect of the time response, such as the impulse or step response. For the case of the step response, you can sample the step response for the continous-time domain case. A good step response means that it has a small rise time and low peak overshoot. We would like these characteristics found in a discrete-time filter.
We should note that you don't always get the same filter when designing for a particular impulse or step response.
In summary as far as dsp software is concerned, the impulse invariance has a linear relationshop between the continuous-time and discrete-time case. If aliasing occurs, then the shape of the frequency response is not preserved when transforming from the continuous-time domain to the discrete-time domain.
How DSP Software Uses Windowing Techniques
Design of FIR Filters Using Windowing
One of the simplest methods is called the window method. In the discrete time domain for dsp software, the design process begins with a desired ideal frequency response for discrete-time filters. For ideal filters, the frequency response having discontinuous boundaries are usually non-causal and infinitely long.
What is needed is to approximate this discontinuity. This is accomplished by truncating the impulse response. The causal FIR filter that is desired is define by multiplying the discrete-time impulse response by the window truncation sequence. We also note that this multiplication in the discrete-time domain corresponds to a convolution in the frequency-domain.
As a result of the choice of the window results in a tradeoff. One is have the desired window function to be short as possible in time duration. Why? This is done to minimize the computation of the filter. However, this results in a wide band signal in the frequency domain. And in the frequency domain, we want to faithfully reproduce the desired frequency response And to be highly concentrated in a narrow band of frequencies. When using the dsp software for filter design, the above factors need to be considered during the design tradeoffs.
In dsp software tools, there are many commonly used windows. It is also interested to note that these dsp filters can also be found in antenna design with multiple elements (e.g. electronic steerable antennas).
Some of the commonly used windows include: rectuangul, Bartlett, Hanning, Hamming, and Blackman Digital Filters.
By tappering the windows slowly and smoothly to zero, the side lobes are greatly reduced in amplitude. What is the tradeoff for this greater attenuation of the filters? A wider transition or wider main lobe. In other words, the wider the transitions at the discontinuities, the greater attenuation at the stop bands.
In designing FIR filters using dsp software, filters need to be causal with a generalized and linear phase response. In the dsp softare, the previously mentioned FIR filters took this in consideration. You can design these filters having symmetric or antisysmmetric properties.
Windows with smaller side lobes result in better approximations of the ideal response at a discontinuity. Narrower regions can result by increasing the length of the filter or equivalently the order of the filter.
In dsp software, the designer should be able to control the shape and duration of the window. This type of control, governs the properties of the FIR filter. However, iteratively trying different windows and adjusting the filter lengths is a trial and error approach. Usually, this scheme is not very satisfactory in filter design. Fortunately for dsp sofwtare such as Matlab, a simple window method is available developed by Kaiser back in 1974.
In dsp software Kaiser found a near-optimal window formed using a zeroth-order modified Bessel function of the first kind. This Bessel function is much easier to compute. The design parameters are used: one is the length of the filter and the other is the shape parameter. These two design parametrs found in the dsp software, allows the designer to tradeoff between the attenuation of the side lobes and the width of the main lobe.
What is the relationship of the Kaiser Window to Other Windows?
As you recall, the baisc ideal of the window method truncates the ideal impulse response. This results in a finite-length window. Doing this also results in a convolution in the frequency domain.
The width of the main lobe determines the width of the transition region. Because the convoluton operation occurs in both the passband and the stopband regions, the ripples in these regions are approximately he same. With regards to dsp software, it is also convenient that the filter length does not determine the amount of the deviations. These deviations are largely determined by the shape parameter since the shape parameter is not a function of the filter length.
DSP Software and Examples of FIR Filter Design
Using the Kaiser Window Method
Oppenheimer and Schaffer provides several examples and point out important properties of FIR systems.
My next update will involve Optimum Approximations of FIR Filters.
Overview of Optimum Approximaitons of FIR Filters
Focus Will Be On Parks-McClellan Algorithm
Next, I'll show for a given filter length what is the best or optimum filter based on some criteria, like minimizing the error between the desired frequency response and the response of the actual design.
With the windowing method most of the error occurs near the discontinuities. Errors grow smaller away from the discontinuity. One approach is to spread out or distribute the errors across the passband and stopband. We do ths? We can lower the order of the filter.
One approach uses polynomials to curve fit the desired frequency response. The filter design problem is reformulated as an polynomial approximation problem with ripple errors at the passband and stopband. The Parks McClellan algorithm uses the polynomial approach requiring an algorithm using a theorem known as the alternation theorem. The exist criteria lets the algorithm know when to stop and when this occurs an optimum solution has been reached.
The Parks McClellan algorithm can be used programmed in DSP software and is decribed as follows:
1. Make an initial gusess of the extremal frequecies. Extremal frequencies are defined in the textbook, Oppenheimer and Schaffer.
2. Calculate the optimum deltas or ripples on the extremal set.
3. Use Interpolation (e.g. Chebyshev polynomials) to pass through the extremal points in order to obtain the desired frequency response.
4. Calculate and find the maximum error greater thant the specified ripples.
5. Check to see if design meets optimum criteria. If yes, retain the largest extrema and proceed to step 6.
6. Then check extremal poiints to see if it has changes. I no change, then the approximation is optimum.
7. If there is a change in extremal points then got to Step 2.
Optimum lowpass FIR filter ahve the smallest maximum weighted approximation error when prescribing passband and stopband edge frequencies. As the filter length increases the errors n the stopband and passband grow smaller in general.
Using the Parks-McClellan algorithm results in equiripple filters but not always with the same magnitude o errors in the passband or stopband.
Discret Fourier Transform (DFT) and Fast Fourier Transform (FFT) Algorithm
Here's a demo on the FFT description:
FLASH Demos. See Flash-animated demos from Purdue University of FFT.
DSP Software Use at Microwave and RF
For Designers at Higher Frequency
RSS feed from Microwave and RF
Fetching RSS feed... please stand byTags for Social Bookmarking
basic concepts in digital signal processing, dsp software





