ECE Fall 05. Undergraduate Research: Digital Signal Processing & Quantization Effects

Size: px
Start display at page:

Download "ECE Fall 05. Undergraduate Research: Digital Signal Processing & Quantization Effects"

Transcription

1 ECE Fall 05 Undergraduate Research: Digital Signal Processing & Quantization Effects Done By: Tanim Taher SID# Date: December 19, 2005 DSP & Quantization 1 Tanim Taher

2 ACKNOWLEDGEMENTS I would like to express my gratitude towards Dr. Erdal Oruklu and Dr. Jafar Saniiee for their strong support in making this project successful and a good learning experience for me. A special thanks to Dr. Saniiee for realizing my potential and suggesting that I should take up this research course. Thank you professors so much! Tanim Taher DSP & Quantization 2 Tanim Taher

3 Table Of Contents 1 Abstract.4 2 Introduction Types of Processing DSP Processor Complexity Factors Processor Architecture Quantization Issues Signal Flow Graphs Direct Form Transpose Filters 13 9 Lattice Filters Results: a. Simulation Program Overview.17 b. Software Performance..19 c. Software s Algorithm Description 25 d. Software Applicability..27 e. Simulations Interpretation Conclusion & Future Work Appix Program Listings.34 DSP & Quantization 3 Tanim Taher

4 1. ABSTRACT Digital Signal Processing (DSP) is one of the most powerful areas in the electrical engineering field, that lies at the root of the most exciting technologies today communications (wireless and all other kinds), image recognition and processing, and many others. DSP is so exciting because due to its digital nature, it allows the integration of computer technology with fields of science and engineering. Many DSP applications use their own specialized techniques and algorithms, but some basic methods are common to all and lie really at the core of the subject. Digital signal processing involves using digital signal processors, which can be programmed to act as filters to the digitized signals. Quantization is the process of representing numbers in a digital binary format. The objective of this research project was to learn how digital quantization parameters affect the performance of different kinds of digital filters. DSP & Quantization 4 Tanim Taher

5 2. INTRODUCTION Digital Signal Processing is distinguished from the rest of the digital computer field by the unique type of data it uses: signals. In most cases, these signals originate as sensory data from the real world, for example, sound signals being picked up by a microphone. Digital filters are a very important part of DSP. In fact, their extraordinary performance is one of the key reasons that DSP has become so popular. Filters have two uses: signal separation and signal restoration: 1) Signal Separation is the separation of signals that have been combined. Signal separation is needed when a signal has been contaminated with interference, noise, or other signals undesired. For example, when talking in a telephone s speakerphone, in addition to the person s voice at this of the line, the microphone picks up the sound being produced by the loudspeaker. This would normally cause the person at the other of the line to hear echoes of his or her own voice. Thus a filter is used that separates the sounds and eliminates the echo. 2) Signal restoration is used when a signal has been distorted in some way. For example, an audio recording made with poor equipment may be filtered to better represent the sound as it actually occurred. Filtering can be done with analog filters, but digital filters achieve much better results. This is because fine tuning analog filters can be difficult, as the analog components have tolerance issues with their stated property values and the actual ones. On the other hand, digital filters can be designed with precise characteristics. However, digital filters have their own limitations. The major limit is due to a finite word length. This limits the degree of precision with which the signal can be represented. Digital filtering is carried out by arithmetic operations (processing) that involve filter DSP & Quantization 5 Tanim Taher

6 coefficients. The finite word length also means that the results of the processing are not 100% accurate, but only an approximation deping on the word length and representation format. There are two main kinds of digital filters infinite impulse response (IIR) filters, and finite impulse response (FIR) filters. IIR filters have feedback, while FIR filters do not. Any digital filter can be represented as a polynomial transfer function. The coefficients of the polynomial represent the digital filter s coefficients mentioned before. The transfer function is usually represented as follows: H(z) = (b 0 + b 1 z -1 + b 2 z -2 + b M z -M ) / (1 + a 1 z -1 + a 2 z -2 + a N z -N ) Here z -1 is called a unit delay operator. It represents a digital component whouse output value is the same as the input value of the previous bus cycle. An FIR filter has the denominator (a) coefficients as all zero, while IIR filters have at least one non-zero a coefficients. The values of the a and b coefficients are determined based on the filtering characteristics that are required. Now these coefficients must also be represented in the computer in a digital format with finite precision, and hence the response of the filter can vary deping on how precisely these numbers are represented in the digital signal processor. In summary, quantization of the signal data, the coefficients and the finite precision possible in arithmetic processing affect the performance of digital filters. The purpose of my research was to look at the quantization effects more closely. An important objective of my work was also to learn more about the field of digital signal processing and digital signal processors. Hence a large portion of this report has been dedicated to summarizing what I have learnt. DSP & Quantization 6 Tanim Taher

7 3. TYPES OF PROCESSING There are two main types of processing in computer science real-time processing and off-line processing. Off-line processing is where data has been obtained before, but the processing is done later. Real-time processing is where the data is processed immediately after input. Off-line processing is used in situations where the results of the operations on the data collected are not immediately required. However, in real-time processing, the results need to be obtained immediately. For example, in speech to text computer systems, the spoken voice (input signal) must be processed in real-time to generate the text (result) when preparing a document in a word processing software. Time is a very crucial factor in real-time systems. Since the results are required immediately, digital filters in real-time applications need to be very fast. Hence, sometimes shortcuts may need to be made during processing, in order to produce results faster. If a computer system is being used in an application as a real time digital filter, this may mean that single precision word format is used instead of double precision, as single precision processing is faster. On the other-hand, time is not so crucial a factor in off-line processing. Hence, if we use the same computer in an off-line application that needs to use a digital filter, we can now use double precision arithmetic. Thus we can use higher precision in the digital filter which makes quantization effects minimal. Thus deping on the type of processing required real-time or off-line, the quantization effects on digital filters can vary. Off course we can use the same amount of higher precision in real-time digital filters, but this may make the design of the digital processor more complex, and hence more expensive. DSP & Quantization 7 Tanim Taher

8 4. DSP PROCESSOR COMPLEXITY FACTORS There are several factors which determine the design complexity and hence the cost of digital signal processors. Ideally, we want maximum performance at lowest cost. Since this is not always possible, we can hope to achieve optimum performance that meets the application requirements, at a reasonably low cost. The following are the main factors involved in determining this complexity: Processing Frequency Precision The type of filter used The number of coefficients in the filter 1) Obtaining higher processing frequency affects the processor complexity as follows. Processor uses more power Complex algorithms may need to be used to make the processing faster and more efficient. The algorithm complexity and the processor complexity are correlated. Processor may require more memory. Processor may need more adders, multipliers, etc to increase the amount of calculations possible per bus cycle. Hence more cost and more complexity. 2) Higher precision in a digital filter involves using longer word lengths. For high precision work, we would prefer a 32-bit processor over a 16-bit. Hence, the cost and complexity of the processor is more. 3) Type of filter Used: IIR filters usually have far fewer coefficients than FIR. Hence they are faster in processing, or require fewer arithmetic components in the processor. Lattice filters require a lot of multiplication and addition stages, and this means added processor complexity. DSP & Quantization 8 Tanim Taher

9 4) More the number of coefficients in a digital filter, the more calculations that need to be performed. Hence complexity and cost increases as does the number of coefficients. If we are to use the same processor for two filters one with more coefficients than another one, the former would require more processing time and hence will be slower. 5. PROCESSOR ARCHITECTURE DSP processors in the market commonly use the Super Harvard Architecture. This architecture lets the processor achieve more per bus cycle. The key features of this type of architecture are support for separate data and program buses, instruction cache and support for indepent data management in memory. The following figure shows this architecture: As can be seen the processor (CPU) uses separate buses for instructions and data. Also there is an instruction cache that stores the common instruction sequences required for signal processing. And finally, we can see data in the memory being written or read by an I/O controller indepent of the processor. This architecture, as is obvious, allows for faster processing. Reference: The Scientist and Engineer's Guide to Digital Signal Processing (2nd Edition) DSP & Quantization 9 Tanim Taher

10 6. QUANTIZATION ISSUES No digital system in the world can give us infinite precision while representing all numbers. There is always a size limit for a digital word. Rounding is the term used to describe the process of approximating a number in the digital domain. This is done by rounding the least significant bit such that the value of the digital number is closest to the actual value of the number. We are loosing some degree of precision by this approximation, and generating what is called a roundoff error. On average, this error amount is equal to a quarter of the least significant bit value. During analog to digital sampling, the roundoff error can be quite significant if the amount of noise inherent in the original signal is close to the average error amount. Another type of error is truncation error which occurs when the results of arithmetic operations like division are truncated after the word length has been reached. In recursive filtering operations, the quantization errors simply keep adding up each time with the digitally filtered data. Furthermore, roundoff error can cause stability issues when it comes to IIR filters. Rounding, as it causes loss in precision, changes the filter coefficients such that they no longer are the ideal values. If the pole (denominator in the transfer function) coefficients are close to 1, and rounding produces a coefficient equal to 1 or more, then the digital filter is unstable. There are three binary number formats that are in common use. The type of format used changes the impact of quantization effects in digital filters. The following are the formats: 1) Single Precision floating point this uses a 32 bit word. The format for storing the number is standard number format (e.g X 10 3 is a standard format number). 2) Double Precision floating point 64 bit, standard number format. 3) Fixed Point varying word lengths are in use (common 16, 32, 64 bits), where the decimal point is fixed and does not vary. DSP & Quantization 10 Tanim Taher

11 7. SIGNAL FLOW GRAPHS Previously, the transfer function for any digital filer was shown. The transfer function can be used to draw the direct form system diagrams. The system diagram simply represents the flow of data within a digital filter, and shows the operations carried out at each stage, like multiplication by the coefficients, and summation of the results. The direct form diagrams are very common, and I was introduced to them while taking the course, Digital Signal Processing (ECE 437). Since my focus in this report is on material that I learnt afterwards, we will not get into the details of the direct form diagrams. However, we shall look into signal flow graphs, which are another way of representing the digital filter pictorially. Signal flow graphs use nodes to represent the adders and as signal sources. If an arrow is pointing towards a node, it means that that node is adding that signal, or performing a process on the signal (like multiplication). If the signal arrow is pointing away, then it simply means that the result of the node s operation is taken out in that data path. Multiplication coefficients are represented simply as numbers on the data flow lines, and the unit delay as z -1 on the line. The following diagram makes this clear: DSP & Quantization 11 Tanim Taher

12 Based on this principle, an N order FIR filter would look like the following if shown in the form of a signal flow graph: Reference: DSP & Quantization 12 Tanim Taher

13 8. DIRECT FORM TRANSPOSE FILTERS Direct form filters are filters that realize the filter structure by using the same coefficients directly from the transfer function into the filter. I learned about direct form 1 and direct form 2 filters from ECE 437. However, during the course of my research, I came across Direct Form Transpose filter structures. These structures are generated from the signal flow graphs of their direct form counterparts. The procedure for converting from direct form to direct form transpose is as follows: 1) Draw the signal flow graph for the original direct form structure. 2) Redraw the signal flow graph, but reverse the arrow directions of the data flow paths. Physically this amounts to changing the nodes into adders and the adders into nodes. 3) Now interchange the input and the output. Thus the new signal flow graph represents the direct form transpose structure. The next two system diagrams shows the difference between direct form II and direct form II transpose filters. The small triangles are the coefficient multipliers. Source: Direct Form II Direct Form II Transposed DSP & Quantization 13 Tanim Taher

14 9. LATTICE FILTERS Lattice filters are very different from the direct form structures. They use entirely new coefficients called K coefficients. The following diagram shows how a lattice IIR filter would look like. Source: The K and V coefficients are a new set of coefficients that are generated from the IIR transfer function. The K coefficients are generated from the denominator (pole) coefficients, and they form the lattice structure. The V coefficients are generated from the numerator (zero) coefficients and form part of the ladder structure. The following example shows how to determine the K and V coefficients and also shows the equations employed. In order to find the coefficients, an FIR filter A(z) is first created by simply copying the denominator coefficients of the IIR filter. In the following notations, sub-script m denotes the order of the filter: α m (n) is the impulse response an m order FIR filter at time nt. i.e. h m (n)=α m (n) β m (n) = α m (m - n) DSP & Quantization 14 Tanim Taher

15 Example: if A 2 (z) = z z -2 then B 2 (z) = z z -2 so α 2 (2) = β 2 (0) = 0.3 And α 2 (1) = β 2 (1) = 0.2 And α 2 (0) = β 2 (2) = 1 First Step: K m = α m (m) Since A 2 (z) = z z-2 K m = K 2 = α m (m) = α 2 (2) = 0.3 Second: α m-1 (n) = [α m (n) - K m β m (n)] / (1 K 2 m) α 1 (0) = α 2 (0) K 2 β 2 (0)] / (1 K 2 2) = [1 (.3 X.3)] / [ ] = 1 α 1 (1) = α 2 (1) K 2 β 2 (1)] / (1 K 2 2) = [.2 (.3 X.2)] / [ ] =.1538 So K 1 = α 1 (1) = All the A m (n), for n = 0 to m, need to be determined so that the B m (n) can be found for all required filter orders. B m (z) is also required later on to find the V coefficients. Now that B m (z) is known for all m orders, we can find the V coefficients. To do this, we first create an FIR filter by copying the numerator of the transfer function of the original IIR. Let us call this filter C m (z). Then: Let c m (n) be the numerator coefficients. It is the response of an m order FIR filter at time nt. i.e. h m (n)=c m (n) First Step: v m = c m (m) Second: C m-1 (n) = C m (n) - v m β m (n) Thus both the V and K coefficients can be found in this way. DSP & Quantization 15 Tanim Taher

16 Now the question is why use lattice filters. It is indeed quite a lot of work to determine the K and V coefficients initially. However, during processing, a bigger problem occurs as is evident from the system diagram shown earlier. The problem is that a large number of extra multiplication and summation operations need to be carried out in lattice filters in comparison to their direct form counterparts. So there needs to be a good reason for choosing lattice filters. The answer is that the output of a lattice filter is less sensitive to the parameterization of the filter coefficients. This is specially relevant to stability, as otherwise slight changes in the coefficients during parameterization can make the entire filter system unstable. The following two diagrams explain this concept. Source of diagrams: homes.esat.kuleuven.ac.be/~moonen/ This figure shows all the possible pole locations for any IIR filter where the coefficient numbers are represented in 5 bits. Note due to areas of concentration, generally, slight changes in coefficients equal a significant change in the filter s characteristics This figure shows all the possible pole locations for any IIR lattice filter where the K coefficient numbers are represented in 5 bits. Note due to uniform concentration, slight changes in coefficients here do not affect much the filter s characteristics. DSP & Quantization 16 Tanim Taher

17 10a. RESULTS: Simulation Program Overview In an effort to explore the quantization effects in digital filters and to obtain a first-hand experience in programming digital filters in a computer, I developed a Digital Filter Simulator and Analysis Tool. I used Matlab to develop the software, and used Matlab s Graphics User Interface Design Environment (GUIDE) to make the user interface. Most of my research time was spent on this software development, and in my opinion the investment was worthwhile. The software lets the user easily change the quantization parameters, and at the click of a button change the structure of a digital filter. The output graphs are very useful in analyzing the performance of the filters in response to quantization parameter changes. The software has to GUIDE forms/menus. The first form is called the Waveform Generator and it is used to generate sample data to be fed into the digital filter. The advantage of this form is that virtually any periodic waveform can be used as input provided the fourier series coefficients are known. This is also very helpful to the electrical engineering student for two reasons: a) He/she can observe firsthand how the fourier series can be used to generate any waveform of choice, and hence understand the power of Fourier series. b) He/she can also observe the effect of aliasing which occurs significantly if the sampling rate is below the Nyquist frequency. The other form is the Digital Filter form. The user inputs the coefficients of a digital filter (FIR or IIR) from the transfer function coefficients. The user also chooses the filter structure to be used. The quantization parameters like word length, fixed-point/floating point can be changed at will. Then at the click of a button, the software simulates the digital filter. There are two outputs that can be produced by the program: a) Data output: Using the data-set of the waveform generated by the Waveform Generator, an output data-set is created and displayed by digitally filtering the DSP & Quantization 17 Tanim Taher

18 data input. Thus this represents the output of the digital filter. This means that the user can know how the output from the filter would be distorted or changed as the word length or other quantization parameters are changed. This is sometimes more useful than the frequency response, as it shows how easily the output can saturate even though the system may be stable. b) Frequency Response: The user can see the magnitude and phase responses of the digital filter. DSP & Quantization 18 Tanim Taher

19 10b. RESULTS: Software Performance In the following, all the waveforms were compared to their Matlab DSP tool counterparts. The results in each case match with each other. As per the discussion in the previous section, the following screenshot shows the Waveform Generator. The entry fields on the left let the user input the fourier series fundamental frequency (1 st harmonic frequency) and the coefficients (amplitudes) for various harmonics. The sampling frequency is important as it determines the aliasing effects. To demonstrate the aliasing effect, the sampling frequency was lowered. The resulted distorted input waveform is shown in the next screenshot. DSP & Quantization 19 Tanim Taher

20 The entry fields on the right side let the user determine the length of the data-set by specifying the start and stop times for the input waveform. The Total Window Points field is used to zoom in or zoom out, and it refers to the number of data points to be plotted on screen. This screenshot is that of the Digital Filter form. DSP & Quantization 20 Tanim Taher

21 The quantization options lets the user to select the word type (fixed point, single or double floating points), and the word length for the fixed point type. The output shown is that produced by the digital filter with input being the waveform shown in the Waveform Generator shown before. The digital filter is specified by the a and b coefficients that the user can input. The filter structure is chosen by selecting any bullet from the Implementation Type box area. The most important thing to note is that as the quantization options are changed, the actual filter coefficients used by the digital filter changes, and these are displayed in the two list boxes at the bottom of the form (A Coefficients, B coefficients). The following screenshot shows the magnitude phase response which is the other output. DSP & Quantization 21 Tanim Taher

22 Note, the aliasing effect can be observed here also, by lowering the Fs(Hz) entry-field value. This is shown in the next screenshot: The third output waveform is for the phase response: DSP & Quantization 22 Tanim Taher

23 Also the lattice coefficients generated by the software are displayed if the implementation type is Lattice. Finally, the poles of any filter system can be plotted by clicking Plot system poles button. For a filter, the poles are shown in the next figure. Red color indicates instability. DSP & Quantization 23 Tanim Taher

24 So we see that the user is given many options to play around with the digital filter and the input waveform. The results are good at experimentally demonstrating many principles of digital signal processing and quantization effects to the user. DSP & Quantization 24 Tanim Taher

25 10c. RESULTS: Software Algorithm Description 1) The Waveform Generator uses the following algorithm to generate the input waveform: Time Period, T = 1 / Sampling Frequency a. For sample n, input x(n) = 0 b. T0 = Start time c. Start with harmonic number h = 1 d. For harmonic number h, x(n) = [h th fourier Coeff] * Sin (h * fundamental frequency * n * T + T0) + x(n) e. Increment h by 1 f. If h <= highest harmonic number, repeat steps c to f. g. Increment n h. If n not last sample, then repeat steps c to h. The last sample count is determined from the start and stop times, and the time period T. 2) Once the quantization options are chosen, the program creates a fixed point data object type is created. Then the program uses this object type for all arithmetic, if the word type is fixed point. Otherwise, it uses single or double floating point objects (as specified by the user) for all calculations. Hence during filtering, the simulated digital filter is fully exposed to quantization effects. 3) Direct Form 1 Filter Implementation: The software uses two separate loops to perform the two separate summation operations of the IIR direct form 1 implementation equation shown below: DSP & Quantization 25 Tanim Taher

26 4) Direct Form 2 Filter Implementation: The software uses two separate loops to perform this filter function. Each of the loops perform one of the summation functions as specified by the IIR direct form 2 implementation equations shown below: 5) Generating Lattice Filter Coefficients: The software uses several loops to generate the lattice coefficients recursively using the equations given before in the Lattice Filters sections. While I was able to successfully generate the lattice coefficients, I faced constant difficulty recreating the filter model for the lattice structure, and never was able to successfully implement it. Hence, I used the lattice coefficient vectors generated by my algorithm, with Matlab s built in lattice filter function (keyword latcfilt()) for the filtering. 6) In order to generate the magnitude response, the software uses complex arithmetic. This algorithm uses the quantized coefficients, and replaces z within the filter s transfer function (given before) by z = e -jwt where, w is the sweep frequency being used. Then the value of H(z), i.e. H(e -jwt ) is calculated. This complex value s magnitude represents the magnitude response, and its phase represents the phase response. DSP & Quantization 26 Tanim Taher

27 10d. RESULTS: Software Applicability This was briefly mentioned before. Basically, the software is a powerful learning tool. I certainly learned a lot as the programmer. By simulating a lot of filters using the software, I was also able to learn and see the quantization effects, and to classify how different filter structures hold up to quantization effects. For an electrical engineering student, the software can help for the following: Learning tools for digital signal processing aliasing, fourier series, filter structures, stability, magnitude and phase response, etc. Students can use and modify this code to learn about: MATLAB Simulation Filter structure Students can test Quantization effects First Hand. By examining code, then can appreciate how Quantization errors build up. I would like to allow the source to be used as freeware, that can be modified by students and users. The condition is that the comments with my ID information are not modified. DSP & Quantization 27 Tanim Taher

28 10e. RESULTS: Simulation Results From my software, I was able to see how drastic changes occur when the word length is increased by even a few bits. The effects of moving from small word fixed point to single floating point, and then to double floating point were visible. From the simulations, it seems clear that as long as the word length is adequate to hold the maximum and minimum input and output values, word format did not matter. By playing around with the program, I was able to learn more about the general quantization effects. Anyways, I also carried out several simulations in MATLAB s DSP tools. Some output waveforms are shown as follows. LP is low pass, HP is high pass. The conditions and constraints used are mentioned too: 10kHz Lowpass, Order 25 FIR, Double, Floating Point 8 Bit, Fixed Point DSP & Quantization 28 Tanim Taher

29 10kHz Lowpass, Order 10 FIR, Double, Floating Point 8 Bit, Fixed Point DSP & Quantization 29 Tanim Taher

30 10kHz LP, Order 4 Chebyshev IIR, Double, Floating Point, Direct Form1 8 Bit, Fixed Point, DF1 DSP & Quantization 30 Tanim Taher

31 10kHz HP,Order 13 Chebyshev IIR, 6 Bit, Fixed Point, Lattice 8 Bit, Fixed Point, Lattice DSP & Quantization 31 Tanim Taher

32 11. INTERPRETATION: A lot was learned about quantization effects from the simulations. Listed below are the interpretation of the simulation results: Lattice Structure is most stable. Direct Form 1 and Direct Form 2 can give issue with stability. Direct Form 1 and Direct Form2 sensitive to slight parameterization changes. Cascade and Parallel structures (done in MATLAB) more stable than Direct Form 1 and Direct Form 2. This is due to the fact that the lower order structural units used in the cascade and parallel forms have lesser feedback continuation (only one level of feedback for second order units). The total number of coefficients in the IIR and FIR filter is the main factor that determines the filter performance. That is the order is a very important factor affecting filter performance. As long as the word length is adequate to hold the maximum and minimum input and output values, word format has little effect on performance. However, for input and output values with large ranges, the floating point data formats were decidedly better than the fixed point ones. The fixed point outputs often saturated. Even though lattice structure is more stable, the extra processing required (more multiplication and addition) cannot be really justified. This is because today, having large word lengths an inexpensive feat, and with large words, the direct form filters give performance close to that of lattice filters when parameterization effects are considered. DSP & Quantization 32 Tanim Taher

33 12. COCNCLUSION AND FUTURE WORK I must repeat again how valuable a learning experience this project was to me. On the one hand, I learnt how to use MATLAB, GUIDE, improved my simulation program development skills skills which will come in handy even in fields outside DSP. In the other, I learned a lot more about digital signal processing and processors. I feel confident now of my knowledge in this field, and many of the concepts that were not very clear to me before are now at the back of my head! I also gained experience in indepent study. As a person, I feel much more confident something which came due to the multiple presentations that I had to give during the course. For all this, I would again like to give special thanks to Dr. Oruklu and Dr. Saniiee. However much I learned and worked, there is always a lot of learning that can always be done. Directly related to this project, I believe that this project has the following future scope: Further development of Software Cascade Realization Parallel Realization Lattice Filter implementation Transpose direct forms: although it was my goal to add this functionality, I did not get any time to work on this. Generating the coefficients automatically using Chebyshev s/butterworth analog filter coefficients, followed by Bilinear transformation. Examine quantization effects on Multi-rate and adaptive filters. DSP & Quantization 33 Tanim Taher

34 GENERAL REFERENCES: The Scientist and Engineer's Guide to Digital Signal Processing (2nd Edition) DSP (Proakis, Manolakis) (Excellent Resources here) Other interesting finds: DSP Lab manual detailing chip programming and algorithms: Rutgers University, ADSP-2181 Experiments, Sophocles J. Orfanidis DSP & Quantization 34 Tanim Taher

35 13. APPENDIX: Program Listing The following is the listing for the Waveform Generator form. %Programmer Name: Tanim Taher % %Done as coursework for ECE 491, undergraduate research work %Fall 2005 function varargout = wavegen(varargin) % WAVEGEN M-file for wavegen.fig % WAVEGEN, by itself, creates a new WAVEGEN or raises the existing % singleton*. % % H = WAVEGEN returns the handle to a new WAVEGEN or the handle to % the existing singleton*. % % WAVEGEN('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in WAVEGEN.M with the given input arguments. % % WAVEGEN('Property','Value',...) creates a new WAVEGEN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before wavegen_openingfunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to wavegen_openingfcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright The MathWorks, Inc. % Edit the above text to modify the response to help wavegen % Last Modified by GUIDE v Dec :00:42 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) DSP & Quantization 35 Tanim Taher

36 gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); % End initialization code - DO NOT EDIT % --- Executes just before wavegen is made visible. function wavegen_openingfcn(hobject, eventdata, handles, varargin) global h_max ampl h_no Amp %intialize harmonic values h_max = 1; ampl = 1; Amp(1) = 1 h_no = 1; % Choose default command line output for wavegen handles.output = hobject; % Update handles structure guidata(hobject, handles); % UIWAIT makes wavegen wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = wavegen_outputfcn(hobject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; function edit4_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function edit4_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function edit5_callback(hobject, eventdata, handles) global h_max ampl h_no Amp h_no = str2double(get(handles.edit5,'string')); % Get entered harmonic no value DSP & Quantization 36 Tanim Taher

37 if h_no <= h_max set(handles.edit6,'string',amp(h_no)); else set(handles.edit6,'string',0); % --- Executes during object creation, after setting all properties. function edit5_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function edit6_callback(hobject, eventdata, handles) global h_max ampl h_no Amp %redundant % --- Executes during object creation, after setting all properties. function edit6_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in pushbutton3. function pushbutton3_callback(hobject, eventdata, handles) global h_max ampl h_no Amp ampl = str2double(get(handles.edit6,'string')); % Get entered amplitude value h_no = str2double(get(handles.edit5,'string')); % Get entered harmonic no value Amp(h_no)=ampl; set(handles.edit5,'string',h_no+1); set(handles.edit6,'string',0); if h_no > h_max h_max = h_no set(handles.maxh,'string',h_max) ; %Find Nyquist frequency and set it as default value min_samp = (2 * h_max * str2double(get(handles.edit4,'string'))) / (2 * pi); w = str2double(get(handles.edit7,'string')); if w < min_samp set(handles.edit7,'string',min_samp); DSP & Quantization 37 Tanim Taher

38 % --- Executes on button press in pushbutton4. function pushbutton4_callback(hobject, eventdata, handles) global h_max ampl h_no Amp %Global makes these variables accessible throughout the MATLAB workspace clear dpts xs global st_time _time pts tot_pts xs dpts T% for slider T = 1 / str2double(get(handles.edit7,'string')); %Calculate the period w = str2double(get(handles.edit4,'string')); %fundamental frequency st_time = str2double(get(handles.edit9,'string')); %Get start and stop times _time = str2double(get(handles.edit10,'string')); tot_pts = ((_time - st_time) / (T * 1000)) %Calculate total number of points for m = 0:tot_pts n = int16(m+1); dpts(n)=0; xs(n) = m * T + (st_time / 1000); %nt sample for i = 1:h_max dpts(n) = dpts(n) + Amp(i)*sin(w*i*xs(n)); %Generate the waveform ; ; pts = str2num(get(handles.edit8,'string')); % Adjust Slider so that the plot is displayed properly if (tot_pts > pts) frac = pts / (tot_pts - pts) else frac = 500 Min = st_time; Max = st_time + T * 1000 * (tot_pts-pts); pcnt = (pts/tot_pts) *.05; set(handles.slider1,'min',min); %Set values and limits for the axes set(handles.slider1,'max',max); set(handles.slider1,'value',st_time); set(handles.slider1,'sliderstep',[pcnt frac]); xst = (get(handles.slider1,'value')) / 1000; x = xst + pts * T %determine density of pts in plot plot(xs(1:tot_pts),dpts(1:tot_pts),'--.b') axis ([xst x 0 10]) axis 'auto_y' function edit7_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function edit7_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. DSP & Quantization 38 Tanim Taher

39 % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on slider movement. function slider1_callback(hobject, eventdata, handles) global st_time _time pts tot_pts xstp dpts T xst = (get(handles.slider1,'value')) / 1000; x = xst + T * pts %determine density of pts in plot axis ([xst x 0 10]) %Redraw waveform as specified by slider position axis 'auto_y' % --- Executes during object creation, after setting all properties. function slider1_createfcn(hobject, eventdata, handles) % Hint: slider controls usually have a light gray background. if isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor',[.9.9.9]); function edit8_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function edit8_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function edit9_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function edit9_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function edit10_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function edit10_createfcn(hobject, eventdata, handles) % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. DSP & Quantization 39 Tanim Taher

40 if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in clearh. function clearh_callback(hobject, eventdata, handles) global h_max ampl h_no Amp global st_time _time pts tot_pts xs dpts T% for slider pts = 0; %Make all the fourier coefficients = 0, clear the plot tot_pts = 0; clear dpts; clear xs; h_max = 1; clear Amp; h_no = 1; set(handles.edit5,'string',1); set(handles.edit6,'string',1); set(handles.maxh,'string',1); Amp(1) = 1; plot(0,0); THE FOLLOWING IS THE CODE FOR THE DIGITAL FILTER SIMULATOR %Programmer Name: Tanim Taher % tanim_02@yahoo.com %Done as coursework for ECE 491, undergraduate research work %Fall 2005 function varargout = Filter_Coefficients_Parameterization(varargin) % FILTER_COEFFICIENTS_PARAMETERIZATION M-file for Filter_Coefficients_Parameterization.fig % FILTER_COEFFICIENTS_PARAMETERIZATION, by itself, creates a new FILTER_COEFFICIENTS_PARAMETERIZATION or raises the existing % singleton*. % % H = FILTER_COEFFICIENTS_PARAMETERIZATION returns the handle to a new FILTER_COEFFICIENTS_PARAMETERIZATION or the handle to % the existing singleton*. % % FILTER_COEFFICIENTS_PARAMETERIZATION('CALLBACK',hObject,eventData,handl es,...) calls the local % function named CALLBACK in FILTER_COEFFICIENTS_PARAMETERIZATION.M with the given input arguments. % % FILTER_COEFFICIENTS_PARAMETERIZATION('Property','Value',...) creates a new FILTER_COEFFICIENTS_PARAMETERIZATION or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Filter_Coefficients_Parameterization_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application DSP & Quantization 40 Tanim Taher

41 % stop. All inputs are passed to Filter_Coefficients_Parameterization_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright The MathWorks, Inc. % Edit the above text to modify the response to help Filter_Coefficients_Parameterization % Last Modified by GUIDE v Dec :24:45 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); % End initialization code - DO NOT EDIT % --- Executes just before Filter_Coefficients_Parameterization is made visible. function update_listbox(handles) %This functions displays the A and B coefficients global a_no a_max b_no b_max c_a c_b a_string b_string oca ocb ock ocv clear a_string b_string a2_string b2_string k_string v_string b2_string(1)={' '}; a2_string(1) = {'A0 = 1'}; for n=1:a_max %Show the a coeff tmp = {strcat('a',num2str(n),' = ',num2str(c_a(n)))}; a_string(n) = tmp; for n=1:b_max %Show the b coeffs tmp = {strcat('b',num2str(n-1),' = ',num2str(c_b(n)))}; b_string(n) = tmp; DSP & Quantization 41 Tanim Taher

42 if get(handles.latt, 'Value') == 0 set(handles.paramak, 'Title','A Coefficients'); set(handles.parambv, 'Title','B Coefficients'); for n=1:numel(oca) tmp = {strcat('a',num2str(n),' = ',num2str(oca(n)))}; a2_string(n+1) = tmp; for n=1:numel(ocb) tmp = {strcat('b',num2str(n-1),' = ',num2str(ocb(n)))}; b2_string(n) = tmp; set(handles.listak,'string',a2_string); set(handles.listbv,'string',b2_string); else %Show the K and V coeffs if filter type is lattice set(handles.paramak, 'Title','K Coefficients'); set(handles.parambv, 'Title','V Coefficients'); for n=1:numel(ock) tmp = {strcat('k',num2str(n),' = ',num2str(ock(n)))}; k_string(n) = tmp; for n=1:numel(ocv) tmp = {strcat('v',num2str(n-1),' = ',num2str(ocv(n)))}; v_string(n) = tmp; set(handles.listak,'string',k_string); set(handles.listbv,'string',v_string); set(handles.a_list,'string',a_string); set(handles.b_list,'string',b_string); function Filter_Coefficients_Parameterization_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hobject handle to figure % varargin command line arguments to Filter_Coefficients_Parameterization (see VARARGIN) global a_no a_max b_no b_max c_a c_b PT WL FL oca ocb %Initialize oca=[]; ocb=[]; PT = 1; b_no = 1; b_max = 2; a_no = 1; a_max = 2; WL = 8; FL = 4; %c_b = [ ] % c_a = [ ] c_b = [ ] %Initialize the A and B coefficients to any desired value c_a = [ ] pushbutton4_callback(0, 0, handles) DSP & Quantization 42 Tanim Taher

43 % Choose default command line output for Filter_Coefficients_Parameterization handles.output = hobject; % Update handles structure guidata(hobject, handles); axes(handles.axes3); % UIWAIT makes Filter_Coefficients_Parameterization wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = Filter_Coefficients_Parameterization_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hobject handle to figure % Get default command line output from handles structure varargout{1} = handles.output; % function FileMenu_Callback(hObject, eventdata, handles) % hobject handle to FileMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % function OpenMenuItem_Callback(hObject, eventdata, handles) % hobject handle to OpenMenuItem (see GCBO) file = uigetfile('*.fig'); if ~isequal(file, 0) open(file); % function PrintMenuItem_Callback(hObject, eventdata, handles) % hobject handle to PrintMenuItem (see GCBO) printdlg(handles.figure1) % function CloseMenuItem_Callback(hObject, eventdata, handles) % hobject handle to CloseMenuItem (see GCBO) selection = questdlg(['close ' get(handles.figure1,'name') '?'],... ['Close ' get(handles.figure1,'name') '...'],... 'Yes','No','Yes'); if strcmp(selection,'no') DSP & Quantization 43 Tanim Taher

44 return; delete(handles.figure1) % --- Executes on selection change in popupmenu1. function popupmenu1_callback(hobject, eventdata, handles) % hobject handle to popupmenu1 (see GCBO) % Hints: contents = get(hobject,'string') returns popupmenu1 contents as cell array % contents{get(hobject,'value')} returns selected item from popupmenu1 % --- Executes during object creation, after setting all properties. function popupmenu1_createfcn(hobject, eventdata, handles) % hobject handle to popupmenu1 (see GCBO) % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hobject,'backgroundcolor','white'); else set(hobject,'backgroundcolor',get(0,'defaultuicontrolbackgroundcolor')) ; set(hobject, 'String', {'plot(rand(5))', 'plot(sin(1:0.01:25))', 'bar(1:.5:10)', 'plot(membrane)', 'surf(peaks)'}); % --- Executes during object creation, after setting all properties. function edit1_createfcn(hobject, eventdata, handles) % hobject handle to edit1 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes during object creation, after setting all properties. function edit2_createfcn(hobject, eventdata, handles) % hobject handle to edit2 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes during object creation, after setting all properties. function listbox1_createfcn(hobject, eventdata, handles) DSP & Quantization 44 Tanim Taher

45 % hobject handle to listbox1 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes during object creation, after setting all properties. function edit3_createfcn(hobject, eventdata, handles) % hobject handle to edit3 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes during object creation, after setting all properties. function edit4_createfcn(hobject, eventdata, handles) % hobject handle to edit4 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes during object creation, after setting all properties. function listbox2_createfcn(hobject, eventdata, handles) % hobject handle to listbox2 (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function wordlength_callback(hobject, eventdata, handles) % hobject handle to wordlength (see GCBO) global WL FL WL = str2num(get(hobject,'string')) FL = str2num(get(handles.frac,'string')) if WL <= FL WL = FL + 2; set(hobject,'string',wl) % --- Executes during object creation, after setting all properties. function wordlength_createfcn(hobject, eventdata, handles) % hobject handle to wordlength (see GCBO) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); DSP & Quantization 45 Tanim Taher

Signal and Systems. Matlab GUI based analysis. XpertSolver.com

Signal and Systems. Matlab GUI based analysis. XpertSolver.com Signal and Systems Matlab GUI based analysis Description: This Signal and Systems based Project takes a sound file in.wav format and performed a detailed analysis, as well as filtering of the signal. The

More information

% Edit the above text to modify the response to help Video_Player. % Last Modified by GUIDE v May :38:12

% Edit the above text to modify the response to help Video_Player. % Last Modified by GUIDE v May :38:12 FILE NAME: Video_Player DESCRIPTION: Video Player Name Date Reason Sahariyaz 28-May-2015 Basic GUI concepts function varargout = Video_Player(varargin) VIDEO_PLAYER MATLAB code for Video_Player.fig VIDEO_PLAYER,

More information

LAMPIRAN 1. Percobaan

LAMPIRAN 1. Percobaan LAMPIRAN 1 1. Larutan 15 ppm Polystyrene ENERGI Percobaan 1 2 3 PROBABILITY 0.07 0.116 0.113 0.152 0.127 0.15 0.256 0.143 0.212 0.203 0.22 0.24 0.234 0.23 0.234 0.3 0.239 0.35 0.201 0.263 0.37 0.389 0.382

More information

1. Peralatan LAMPIRAN

1. Peralatan LAMPIRAN 1. Peralatan LAMPIRAN 2. Data Sampel a. Air murni 3ml Energy(mj) Probability Air Murni 0.07 0.001 0.15 0.003 0.22 0.006 0.3 0.028 0.37 0.045 0.39 0.049 0.82 0.053 0.89 0.065 1.28 0.065 1.42 0.106 1.7

More information

% Edit the above text to modify the response to help Principal

% Edit the above text to modify the response to help Principal function varargout = Principal(varargin) % OPFGUI MATLAB code for Principal.fig % OPFGUI, by itself, creates a new OPFGUI or raises the existing % singleton*. % % H = OPFGUI returns the handle to a new

More information

GUI code for different sections is in following sections

GUI code for different sections is in following sections Software Listing The Graphical User Interface (GUI) and Fuzzy Inference System (FIS) are developed in MATLAB. Software code is developed for different sections like Weaving section, Motor Status, Environment,

More information

LISTING PROGRAM. % Edit the above text to modify the response to help cover. % Last Modified by GUIDE v Jun :24:43

LISTING PROGRAM. % Edit the above text to modify the response to help cover. % Last Modified by GUIDE v Jun :24:43 A1 LISTING PROGRAM 1. Form Cover function varargout = cover(varargin) COVER MATLAB code for cover.fig COVER, by itself, creates a new COVER or raises the existing singleton*. H = COVER returns the handle

More information

Homeworks on FFT Instr. and Meas. for Communication Systems- Gianfranco Miele. Name Surname

Homeworks on FFT Instr. and Meas. for Communication Systems- Gianfranco Miele. Name Surname Homeworks on FFT 90822- Instr. and Meas. for Communication Systems- Gianfranco Miele Name Surname October 15, 2014 1 Name Surname 90822 (Gianfranco Miele): Homeworks on FFT Contents Exercise 1 (Solution)............................................

More information

LISTING PROGRAM. % UIWAIT makes pertama wait for user response (see UIRESUME) % uiwait(handles.figure1);

LISTING PROGRAM. % UIWAIT makes pertama wait for user response (see UIRESUME) % uiwait(handles.figure1); LISTING PROGRAM FORM PERTAMA : function varargout = pertama(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @pertama_openingfcn,...

More information

Supplementary Information

Supplementary Information Supplementary Information Retooling Laser Speckle Contrast Analysis Algorithm to Enhance Non-Invasive High Resolution Laser Speckle Functional Imaging of Cutaneous Microcirculation Surya C Gnyawali 1,

More information

MV 1:00 1:05 1:00 1:05

MV 1:00 1:05 1:00 1:05 1 54 MV 1:00 1:05 1:00 1:05 55 DTW 56 function varargout = my_filter8(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @my_filter8_openingfcn,...

More information

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists 3,500 108,000 1.7 M Open access books available International authors and editors Downloads Our

More information

LAMPIRAN A PROGRAM PELATIHAN DAN PENGUJIAN

LAMPIRAN A PROGRAM PELATIHAN DAN PENGUJIAN LAMPIRAN A PROGRAM PELATIHAN DAN PENGUJIAN Program Preprocessing Image clc; clear all; % Preprocessing Image -------------------------------------------- daniel{1}=imread('daniel1.bmp'); daniel{2}=imread('daniel2.bmp');

More information

Lithium-Ion Battery Data. Management

Lithium-Ion Battery Data. Management Lithium-Ion Battery Data Management Frank Ferrato Dr. Jung-Hyun Kim April 2018 Abstract: Lithium Ion Battery research is growing due to the need for renewable resources. Since the amount of research is

More information

Ear Recognition. By: Zeyangyi Wang

Ear Recognition. By: Zeyangyi Wang Ear Recognition By: Zeyangyi Wang Ear Recognition By: Zeyangyi Wang Online: < http://cnx.org/content/col11604/1.3/ > C O N N E X I O N S Rice University, Houston, Texas This selection and arrangement

More information

OMR Sheet Recognition

OMR Sheet Recognition International Journal of Information & Computation Technology. ISSN 0974-2239 Volume 8, Number 1 (2018), pp. 11-32 International Research Publications House http://www. irphouse.com OMR Sheet Recognition

More information

A NEW MACHINING COST CALCULATOR (MC 2 )

A NEW MACHINING COST CALCULATOR (MC 2 ) A NEW MACHINING COST CALCULATOR (MC 2 ) By MATHEW RUSSELL JOHNSON A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER

More information

Finding a Minimum Covering Circle Based on Infinity Norms

Finding a Minimum Covering Circle Based on Infinity Norms Finding a Minimum Covering Circle Based on Infinity Norms by Andrew A. Thompson ARL-TR-4495 July 2008 Approved for public release; distribution is unlimited. NOTICES Disclaimers The findings in this report

More information

LAMPIRAN LISTING PROGRAM

LAMPIRAN LISTING PROGRAM A1 LAMPIRAN LISTING PROGRAM Prototype.m function varargout = prototype(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @prototype_openingfcn,...

More information

Akkad Bakad Bambai Bo

Akkad Bakad Bambai Bo Akkad Bakad Bambai Bo The Josephus Problem Shivam Sharma, Rajat Saini and Natasha Sharma Cluster Innovation Center, University of Delhi Abstract We aim to give explanation of the recursive formula for

More information

Lampiran 1. Script M-File Global Ridge

Lampiran 1. Script M-File Global Ridge LAMPIRAN 67 Lampiran 1. Script M-File Global Ridge function [l, e, L, E] = globalridge(h, Y, l) [l, e, L, E] = globalridge(h, Y, l, options, U) Calculates the best global ridge regression parameter (l)

More information

GUI Signal Analysis and Filtering Design

GUI Signal Analysis and Filtering Design i GUI Signal Analysis and Filtering Design Axel Daniela Campero Vega, Electrical Engineering Project Advisor: Dr. Dick Blandford April 26, 2018 Evansville, Indiana ii Acknowledgements I want to thank Dr.

More information

1.Matlab Image Encryption Code

1.Matlab Image Encryption Code 1.Matlab Image Encryption Code (URL: http://www.cheers4all.com/2012/04/matlab-image-encryption-code/) This project is Image Encryption & Decryption. The user will give an input and encryption factor. The

More information

PROGRAMMING IN MATLAB

PROGRAMMING IN MATLAB PROGRAMMING IN MATLAB Rohan D sa Rafael Love Todd Page OBJECTIVE: This document gives an overview of a few aspects related to programming in Matlab. With the help of a sample program, it goes through some

More information

Fatima Michael College of Engineering & Technology

Fatima Michael College of Engineering & Technology DEPARTMENT OF ECE V SEMESTER ECE QUESTION BANK EC6502 PRINCIPLES OF DIGITAL SIGNAL PROCESSING UNIT I DISCRETE FOURIER TRANSFORM PART A 1. Obtain the circular convolution of the following sequences x(n)

More information

% --- Executes on button press in btn_gsn. function btn_gsn_callback(hobject, eventdata, handles) GaussianSpeckleNoise close AiSoftware;

% --- Executes on button press in btn_gsn. function btn_gsn_callback(hobject, eventdata, handles) GaussianSpeckleNoise close AiSoftware; A-2 'gui_openingfcn', @AiSoftware_OpeningFcn,... 'gui_outputfcn', @AiSoftware_OutputFcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1});

More information

Airfoil Boundary Layer Separation Prediction

Airfoil Boundary Layer Separation Prediction Airfoil Boundary Layer Separation Prediction A project present to The Faculty of the Department of Aerospace Engineering San Jose State University in partial fulfillment of the requirements for the degree

More information

D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu Lecture 2 Some Challenges of Real-Time DSP Analog to digital conversion Are

More information

D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu 3-November-2008 Analog To Digital Conversion analog signal ADC digital

More information

Implementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework

Implementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework Implementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework Application note (ASN-AN05) November 07 (Rev 4) SYNOPSIS Infinite impulse response (IIR) filters are

More information

Real-Time IIR Digital Filters

Real-Time IIR Digital Filters Real-Time IIR Digital Filters Chapter 8 Introduction Infinite impulse response (IIR) filter design has its roots in traditional analog filter design. One of the main issues in IIR digital filter design

More information

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 ECE4703 B Term 2017 -- Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 The goals of this laboratory assignment are: to familiarize

More information

LAMPIRAN A LISTINGPROGRAM

LAMPIRAN A LISTINGPROGRAM LAMPIRAN A LISTINGPROGRAM 1. Form Utama (myprogram.fig) function varargout = myprogram(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn',

More information

COMPARISON OF DIFFERENT REALIZATION TECHNIQUES OF IIR FILTERS USING SYSTEM GENERATOR

COMPARISON OF DIFFERENT REALIZATION TECHNIQUES OF IIR FILTERS USING SYSTEM GENERATOR COMPARISON OF DIFFERENT REALIZATION TECHNIQUES OF IIR FILTERS USING SYSTEM GENERATOR Prof. SunayanaPatil* Pratik Pramod Bari**, VivekAnandSakla***, Rohit Ashok Shah****, DharmilAshwin Shah***** *(sunayana@vcet.edu.in)

More information

LISTING PROGRAM. if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); end

LISTING PROGRAM. if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); end A-1 LISTING PROGRAM 1. Form Cover function varargout = cover(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @cover_openingfcn,...

More information

Parallel-connected solar arrays

Parallel-connected solar arrays Scholars' Mine Masters Theses Student Research & Creative Works Spring 2013 Parallel-connected solar arrays Majed Meshal Alabbass Follow this and additional works at: http://scholarsmine.mst.edu/masters_theses

More information

Contents INTERFACING MATLAB WITH EMBEDDED SYSTEMS

Contents INTERFACING MATLAB WITH EMBEDDED SYSTEMS Contents MATLAB INTRODUCTION:... 1 Why it is useful for prototyping AI projects??... 2 Using MATLAB as a calculator:... 3 How to use conditions... 8 Serial/Parallel communication:... 9 Color Detection

More information

Solving Sudoku with MATLAB

Solving Sudoku with MATLAB Solving Sudoku with MATLAB Raluca Marinescu Andrea Garcia Ivan Castro Eduard Paul Enoiu Mälardalen University, Västerås, Sweden {rmu09001, aga09001, ico09002, eeu09001}@student.mdh.se March 25, 2011 Abstract

More information

Floating-point to Fixed-point Conversion. Digital Signal Processing Programs (Short Version for FPGA DSP)

Floating-point to Fixed-point Conversion. Digital Signal Processing Programs (Short Version for FPGA DSP) Floating-point to Fixed-point Conversion for Efficient i Implementation ti of Digital Signal Processing Programs (Short Version for FPGA DSP) Version 2003. 7. 18 School of Electrical Engineering Seoul

More information

EECS 452 Midterm Closed book part Fall 2010

EECS 452 Midterm Closed book part Fall 2010 EECS 452 Midterm Closed book part Fall 2010 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Points Closed book Page

More information

Filter Bank Design and Sub-Band Coding

Filter Bank Design and Sub-Band Coding Filter Bank Design and Sub-Band Coding Arash Komaee, Afshin Sepehri Department of Electrical and Computer Engineering University of Maryland Email: {akomaee, afshin}@eng.umd.edu. Introduction In this project,

More information

EECS 452 Midterm Closed book part Fall 2010

EECS 452 Midterm Closed book part Fall 2010 EECS 452 Midterm Closed book part Fall 2010 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Points Closed book Page

More information

EQUALIZER DESIGN FOR SHAPING THE FREQUENCY CHARACTERISTICS OF DIGITAL VOICE SIGNALS IN IP TELEPHONY. Manpreet Kaur Gakhal

EQUALIZER DESIGN FOR SHAPING THE FREQUENCY CHARACTERISTICS OF DIGITAL VOICE SIGNALS IN IP TELEPHONY. Manpreet Kaur Gakhal EQUALIZER DESIGN FOR SHAPING THE FREQUENCY CHARACTERISTICS OF DIGITAL VOICE SIGNALS IN IP TELEPHONY By: Manpreet Kaur Gakhal A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE

More information

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) Introduction ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) MATLAB is a powerful mathematical language that is used in most engineering companies today. Its strength lies

More information

LESSON PLAN. Sub Name: Discrete Time Systems and Signal Processing. Unit: I Branch: BE (EE) Semester: IV

LESSON PLAN. Sub Name: Discrete Time Systems and Signal Processing. Unit: I Branch: BE (EE) Semester: IV Page 1 of 6 Unit: I Branch: BE (EE) Semester: IV Unit Syllabus: I. INTRODUCTION Classification of systems: Continuous, discrete, linear, causal, stable, dynamic, recursive, time variance; classification

More information

CHAPTER 1 Numerical Representation

CHAPTER 1 Numerical Representation CHAPTER 1 Numerical Representation To process a signal digitally, it must be represented in a digital format. This point may seem obvious, but it turns out that there are a number of different ways to

More information

.., 7. References. [ 1] 1 mage Analysis and Mathematical Morphology:J.Serra. [2] Erosion, dilation and related operators,by Mariusz Jankowski

.., 7. References. [ 1] 1 mage Analysis and Mathematical Morphology:J.Serra. [2] Erosion, dilation and related operators,by Mariusz Jankowski 7. References [ 1] 1 mage Analysis and Mathematical Morphology:J.Serra [2] Erosion, dilation and related operators,by Mariusz Jankowski [3] Morphological Image Processing by Ranga Rodrigo [4] Application

More information

A Flexible IIR Filtering Implementation for Audio Processing Juergen Schmidt, Technicolor R&I, Hannover

A Flexible IIR Filtering Implementation for Audio Processing Juergen Schmidt, Technicolor R&I, Hannover A Flexible IIR Filtering Implementation for Audio Processing Juergen Schmidt, Technicolor R&I, Hannover Motivation 3D audio 2 Motivation - Loudspeaker Equalization 3 Outline Infinite Impulse Response (IIR)

More information

CSC 101: Lab #7 Digital Audio Due Date: 5:00pm, day after lab session

CSC 101: Lab #7 Digital Audio Due Date: 5:00pm, day after lab session CSC 101: Lab #7 Digital Audio Due Date: 5:00pm, day after lab session Purpose: The purpose of this lab is to provide you with hands-on experience in digital audio manipulation techniques using the Audacity

More information

International Journal for Research in Applied Science & Engineering Technology (IJRASET) IIR filter design using CSA for DSP applications

International Journal for Research in Applied Science & Engineering Technology (IJRASET) IIR filter design using CSA for DSP applications IIR filter design using CSA for DSP applications Sagara.K.S 1, Ravi L.S 2 1 PG Student, Dept. of ECE, RIT, Hassan, 2 Assistant Professor Dept of ECE, RIT, Hassan Abstract- In this paper, a design methodology

More information

New Mexico Tech Hyd 510

New Mexico Tech Hyd 510 Numerics Motivation Modeling process (JLW) To construct a model we assemble and synthesize data and other information to formulate a conceptual model of the situation. The model is conditioned on the science

More information

MATLAB Apps for Teaching Digital Speech Processing

MATLAB Apps for Teaching Digital Speech Processing MATLAB Apps for Teaching Digital Speech Processing Lawrence Rabiner, Rutgers University Ronald Schafer, Stanford University GUI LITE 2.5 editor written by Maria d Souza and Dan Litvin MATLAB coding support

More information

Rapid Prototyping System for Teaching Real-Time Digital Signal Processing

Rapid Prototyping System for Teaching Real-Time Digital Signal Processing IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 1, FEBRUARY 2000 19 Rapid Prototyping System for Teaching Real-Time Digital Signal Processing Woon-Seng Gan, Member, IEEE, Yong-Kim Chong, Wilson Gong, and

More information

REAL-TIME DIGITAL SIGNAL PROCESSING

REAL-TIME DIGITAL SIGNAL PROCESSING REAL-TIME DIGITAL SIGNAL PROCESSING FUNDAMENTALS, IMPLEMENTATIONS AND APPLICATIONS Third Edition Sen M. Kuo Northern Illinois University, USA Bob H. Lee Ittiam Systems, Inc., USA Wenshun Tian Sonus Networks,

More information

Review of Calculus, cont d

Review of Calculus, cont d Jim Lambers MAT 460/560 Fall Semester 2009-10 Lecture 4 Notes These notes correspond to Sections 1.1 1.2 in the text. Review of Calculus, cont d Taylor s Theorem, cont d We conclude our discussion of Taylor

More information

What Every Programmer Should Know About Floating-Point Arithmetic

What Every Programmer Should Know About Floating-Point Arithmetic What Every Programmer Should Know About Floating-Point Arithmetic Last updated: October 15, 2015 Contents 1 Why don t my numbers add up? 3 2 Basic Answers 3 2.1 Why don t my numbers, like 0.1 + 0.2 add

More information

Main Form visual Studio

Main Form visual Studio Main Form visual Studio using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;

More information

Tutorial: GNU Radio Companion

Tutorial: GNU Radio Companion Tutorials» Guided Tutorials» Previous: Introduction Next: Programming GNU Radio in Python Tutorial: GNU Radio Companion Objectives Create flowgraphs using the standard block libraries Learn how to debug

More information

COMPLETELY AUTOMATED PUBLIC TURING TEST TO TELL COMPUTERS AND HUMANS APART

COMPLETELY AUTOMATED PUBLIC TURING TEST TO TELL COMPUTERS AND HUMANS APART COMPLETELY AUTOMATED PUBLIC TURING TEST TO TELL COMPUTERS AND HUMANS APART 1 Varjith Anchuri, 2 K.Hanuman Krishna, 3 M.Gopi Chand, 4 S.Rishi, UG Scholar Dept Of CSE, SRM University,Chennai. Abstract A

More information

FPGA Guitar Multi-Effects Processor

FPGA Guitar Multi-Effects Processor FPGA Guitar Multi-Effects Processor 6.111 Final Project Report Haris Brkic MASSACHUSETTS INSTITUTE OF TECHNOLOGY Table of Contents Overview... 2 Design Implementation... 3 FPGA Processor... 3 Effects Controller...

More information

1.12 Optimal Filters (Wiener Filters)

1.12 Optimal Filters (Wiener Filters) Random Data 75 1.12 Optimal Filters (Wiener Filters) In calculating turbulent spectra we frequently encounter a noise tail just as the spectrum roles down the inertial subrange (-5/3 slope region) toward

More information

REAL TIME DIGITAL SIGNAL PROCESSING

REAL TIME DIGITAL SIGNAL PROCESSING REAL TIME DIGITAL SIGAL PROCESSIG UT-FRBA www.electron.frba.utn.edu.ar/dplab UT-FRBA Frequency Analysis Fast Fourier Transform (FFT) Fast Fourier Transform DFT: complex multiplications (-) complex aditions

More information

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009 Digital Signal Processing 8 December 24, 2009 VIII. DSP Processors 2007 Syllabus: Introduction to programmable DSPs: Multiplier and Multiplier-Accumulator (MAC), Modified bus structures and memory access

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

Fixed Point LMS Adaptive Filter with Low Adaptation Delay

Fixed Point LMS Adaptive Filter with Low Adaptation Delay Fixed Point LMS Adaptive Filter with Low Adaptation Delay INGUDAM CHITRASEN MEITEI Electronics and Communication Engineering Vel Tech Multitech Dr RR Dr SR Engg. College Chennai, India MR. P. BALAVENKATESHWARLU

More information

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: ####

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: #### Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 Lab partners: Lab#1 Presentation of lab reports The first thing we do is to create page headers. In Word 2007 do the following:

More information

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog 2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog Hrishikesh Salunkhe, h.l.salunkhe@tue.nl, Alok Lele, a.lele@tue.nl April 28, 2015 1 Contents 1 Introduction 3 2 Hardware design

More information

4.1 QUANTIZATION NOISE

4.1 QUANTIZATION NOISE DIGITAL SIGNAL PROCESSING UNIT IV FINITE WORD LENGTH EFFECTS Contents : 4.1 Quantization Noise 4.2 Fixed Point and Floating Point Number Representation 4.3 Truncation and Rounding 4.4 Quantization Noise

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

isplever Parallel FIR Filter User s Guide October 2005 ipug06_02.0

isplever Parallel FIR Filter User s Guide October 2005 ipug06_02.0 isplever TM CORE Parallel FIR Filter User s Guide October 2005 ipug06_02.0 Introduction This document serves as a guide containing technical information about the Lattice Parallel FIR Filter core. Overview

More information

19. Implementing High-Performance DSP Functions in Stratix & Stratix GX Devices

19. Implementing High-Performance DSP Functions in Stratix & Stratix GX Devices 19. Implementing High-Performance SP Functions in Stratix & Stratix GX evices S52007-1.1 Introduction igital signal processing (SP) is a rapidly advancing field. With products increasing in complexity,

More information

Lab1: Use of Word and Excel

Lab1: Use of Word and Excel Dr. Fritz Wilhelm; physics 230 Lab1: Use of Word and Excel Page 1 of 9 Lab partners: Download this page onto your computer. Also download the template file which you can use whenever you start your lab

More information

MATLAB. Creating Graphical User Interfaces Version 7. The Language of Technical Computing

MATLAB. Creating Graphical User Interfaces Version 7. The Language of Technical Computing MATLAB The Language of Technical Computing Note This revision of Creating Graphical User Interfaces, issued May 2006, adds three new chapters that provide more information for creating GUIs programmatically.

More information

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy.

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy. Math 340 Fall 2014, Victor Matveev Binary system, round-off errors, loss of significance, and double precision accuracy. 1. Bits and the binary number system A bit is one digit in a binary representation

More information

Fourier Transforms and Signal Analysis

Fourier Transforms and Signal Analysis Fourier Transforms and Signal Analysis The Fourier transform analysis is one of the most useful ever developed in Physical and Analytical chemistry. Everyone knows that FTIR is based on it, but did one

More information

1.3 Floating Point Form

1.3 Floating Point Form Section 1.3 Floating Point Form 29 1.3 Floating Point Form Floating point numbers are used by computers to approximate real numbers. On the surface, the question is a simple one. There are an infinite

More information

ISSN (Online), Volume 1, Special Issue 2(ICITET 15), March 2015 International Journal of Innovative Trends and Emerging Technologies

ISSN (Online), Volume 1, Special Issue 2(ICITET 15), March 2015 International Journal of Innovative Trends and Emerging Technologies VLSI IMPLEMENTATION OF HIGH PERFORMANCE DISTRIBUTED ARITHMETIC (DA) BASED ADAPTIVE FILTER WITH FAST CONVERGENCE FACTOR G. PARTHIBAN 1, P.SATHIYA 2 PG Student, VLSI Design, Department of ECE, Surya Group

More information

Exercises in DSP Design 2016 & Exam from Exam from

Exercises in DSP Design 2016 & Exam from Exam from Exercises in SP esign 2016 & Exam from 2005-12-12 Exam from 2004-12-13 ept. of Electrical and Information Technology Some helpful equations Retiming: Folding: ω r (e) = ω(e)+r(v) r(u) F (U V) = Nw(e) P

More information

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System CHAPTER 1 INTRODUCTION Digital signal processing (DSP) technology has expanded at a rapid rate to include such diverse applications as CDs, DVDs, MP3 players, ipods, digital cameras, digital light processing

More information

Floating-Point Numbers in Digital Computers

Floating-Point Numbers in Digital Computers POLYTECHNIC UNIVERSITY Department of Computer and Information Science Floating-Point Numbers in Digital Computers K. Ming Leung Abstract: We explain how floating-point numbers are represented and stored

More information

Floating-Point Numbers in Digital Computers

Floating-Point Numbers in Digital Computers POLYTECHNIC UNIVERSITY Department of Computer and Information Science Floating-Point Numbers in Digital Computers K. Ming Leung Abstract: We explain how floating-point numbers are represented and stored

More information

REAL TIME DIGITAL SIGNAL PROCESSING

REAL TIME DIGITAL SIGNAL PROCESSING REAL TIME DIGITAL SIGNAL PROCESSING UTN-FRBA 2010 Introduction Why Digital? A brief comparison with analog. Advantages Flexibility. Easily modifiable and upgradeable. Reproducibility. Don t depend on components

More information

REAL TIME DIGITAL SIGNAL PROCESSING

REAL TIME DIGITAL SIGNAL PROCESSING REAL TIME DIGITAL SIGNAL PROCESSING UTN - FRBA 2011 www.electron.frba.utn.edu.ar/dplab Introduction Why Digital? A brief comparison with analog. Advantages Flexibility. Easily modifiable and upgradeable.

More information

Section 1.4 Mathematics on the Computer: Floating Point Arithmetic

Section 1.4 Mathematics on the Computer: Floating Point Arithmetic Section 1.4 Mathematics on the Computer: Floating Point Arithmetic Key terms Floating point arithmetic IEE Standard Mantissa Exponent Roundoff error Pitfalls of floating point arithmetic Structuring computations

More information

Implementation of a Low Power Decimation Filter Using 1/3-Band IIR Filter

Implementation of a Low Power Decimation Filter Using 1/3-Band IIR Filter Implementation of a Low Power Decimation Filter Using /3-Band IIR Filter Khalid H. Abed Department of Electrical Engineering Wright State University Dayton Ohio, 45435 Abstract-This paper presents a unique

More information

Get the Second-Order Section Coefficients

Get the Second-Order Section Coefficients MATLAB Design Functions Three sections will be required, with one section really only being first-order The MATLAB function we need to use is either zp2sos or ss2sos zp2sos converts a zero-pole form (zp)

More information

CS321 Introduction To Numerical Methods

CS321 Introduction To Numerical Methods CS3 Introduction To Numerical Methods Fuhua (Frank) Cheng Department of Computer Science University of Kentucky Lexington KY 456-46 - - Table of Contents Errors and Number Representations 3 Error Types

More information

The Parks McClellan algorithm: a scalable approach for designing FIR filters

The Parks McClellan algorithm: a scalable approach for designing FIR filters 1 / 33 The Parks McClellan algorithm: a scalable approach for designing FIR filters Silviu Filip under the supervision of N. Brisebarre and G. Hanrot (AriC, LIP, ENS Lyon) PEQUAN Seminar, February 26,

More information

Section M6: Filter blocks

Section M6: Filter blocks Section M: Filter blocks These blocks appear at the top of the simulation area Table of blocks Block notation PZ-Placement PZ-Plot FIR Design IIR Design Kaiser Parks-McClellan LMS Freq Samp. Description

More information

Advanced Design System 1.5. Digital Filter Designer

Advanced Design System 1.5. Digital Filter Designer Advanced Design System 1.5 Digital Filter Designer December 2000 Notice The information contained in this document is subject to change without notice. Agilent Technologies makes no warranty of any kind

More information

Implementation of a Motion Detection System

Implementation of a Motion Detection System Implementation of a Motion Detection System Asif Ansari 1, T.C.Manjunath (Ph.D., IIT Bombay) 2, C.Ardil 3 Abstract In today s competitive environment, the security concerns have grown tremously. In the

More information

( ) = Y ˆ. Calibration Definition A model is calibrated if its predictions are right on average: ave(response Predicted value) = Predicted value.

( ) = Y ˆ. Calibration Definition A model is calibrated if its predictions are right on average: ave(response Predicted value) = Predicted value. Calibration OVERVIEW... 2 INTRODUCTION... 2 CALIBRATION... 3 ANOTHER REASON FOR CALIBRATION... 4 CHECKING THE CALIBRATION OF A REGRESSION... 5 CALIBRATION IN SIMPLE REGRESSION (DISPLAY.JMP)... 5 TESTING

More information

ALGORITHMS AND INTERFACE FOR OCEAN ACOUSTIC RAY-TRACING (Developed in MATLAB)

ALGORITHMS AND INTERFACE FOR OCEAN ACOUSTIC RAY-TRACING (Developed in MATLAB) ALGORITHMS AND INTERFACE FOR OCEAN ACOUSTIC RAY-TRACING (Developed in MATLAB) Technical Report No. NIO/TR 09/005 T.V.Ramana Murty M.M.Malleswara Rao S.Surya Prakash P.Chandramouli K.S.R.Murthy Regional

More information

The Steganography In Inactive Frames Of Voip

The Steganography In Inactive Frames Of Voip The Steganography In Inactive Frames Of Voip This paper describes a novel high-capacity steganography algorithm for embedding data in the inactive frames of low bit rate audio streams encoded by G.723.1

More information

Chapter 18. Geometric Operations

Chapter 18. Geometric Operations Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;

More information

Quick Start Guide MAC Operating System Built-In Accessibility

Quick Start Guide MAC Operating System Built-In Accessibility Quick Start Guide MAC Operating System Built-In Accessibility Overview The MAC Operating System X has many helpful universal access built-in options for users of varying abilities. In this quickstart,

More information

Design of Adaptive Filters Using Least P th Norm Algorithm

Design of Adaptive Filters Using Least P th Norm Algorithm Design of Adaptive Filters Using Least P th Norm Algorithm Abstract- Adaptive filters play a vital role in digital signal processing applications. In this paper, a new approach for the design and implementation

More information

Evaluating MMX Technology Using DSP and Multimedia Applications

Evaluating MMX Technology Using DSP and Multimedia Applications Evaluating MMX Technology Using DSP and Multimedia Applications Ravi Bhargava * Lizy K. John * Brian L. Evans Ramesh Radhakrishnan * November 22, 1999 The University of Texas at Austin Department of Electrical

More information

Digital Signal Processing with Field Programmable Gate Arrays

Digital Signal Processing with Field Programmable Gate Arrays Uwe Meyer-Baese Digital Signal Processing with Field Programmable Gate Arrays Third Edition With 359 Figures and 98 Tables Book with CD-ROM ei Springer Contents Preface Preface to Second Edition Preface

More information

Skill 1: Multiplying Polynomials

Skill 1: Multiplying Polynomials CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

More information