GUI Signal Analysis and Filtering Design

Size: px
Start display at page:

Download "GUI Signal Analysis and Filtering Design"

Transcription

1 i GUI Signal Analysis and Filtering Design Axel Daniela Campero Vega, Electrical Engineering Project Advisor: Dr. Dick Blandford April 26, 2018 Evansville, Indiana

2 ii Acknowledgements I want to thank Dr. Blandford for his guidance, advice, collaboration and patience that have allowed me to successfully completed this project. I also want to thank Dr. Howe for her support and guidance in the preparation of this document.

3 iii Table of Contents I. Introduction II. Problem Definition Finite Impulse Response Filter (FIR) Minimum requirements III. Solution (Design) 3.1 FIR FILTERS GUI DESIGN Functions a) Reset function b) Preset function c) Parameter setting function d) Memory function e) Test with an audio signal Program Description a) Filter analysis program: b) Program of change of parameters c) Memory and loading program 3.2 IIR FILTERS GUI DESIGN Functions a) Preset function b) Setting function c) Visualizing Poles and zeros function d) Execute or leave function e) Modify Pole and zeros function f) Insert Poles or Zeros Function g) Reset Function Program Description a) Filter analysis program:

4 iv Safety Designing Filters IV. Costs V. Conclusions Appix A: Code for FIR Filters Analysis References List of figures Fig. 1 Specification of the filter Fig. 2: Design techniques Fig. 3 Design Fig. 4 GUI Screen for FIR Filters Fig. 5 Functional Block Diagram of the project Fig. 6 Results from Reset function Fig. 7 Results from Preset function Fig. 8 Parameter setting function Fig. 9 Memory and recall functions Fig 10 Test with an audio signal Fig. 11 Software Block Diagram Fig. 12 Flux Diagram of the Project Fig. 13 GUI Screen example of results for FIR Filters Fig. 14 GUI Screen for IIR Filters Fig. 15 IIR functions Fig. 16 Preset function for IIR Filters Fig. 17 Software Block Diagram for IIR Filters Fig. 18 GUI Screen example of results for IIR Filters Table 1. Cost of the project List of tables

5 1 I. Introduction A digital filter operates by applying mathematics to an input signal and modifies it to produce an output that we desire. Traditionally, they are used in: Separation of signals to be transmitted by shared means such as cellular telephony Recovering distorted signals Sound synthesis Audio effects: like chorus, reverb, and so on Instrumentation Image processing Seismic and geophysical signal processing Biological signal processing and electro medicine Synthesis and speech recognition Astronomy Traditional digital filters applications generate millionaire profits by new products and services, and there are many industries involved. In addition, digital filters are being applied in the financial and business area to solve problems such as; trading strategies, trading costs, industrial processes optimization, risk prediction and other type of analysis in order to improve business and industries. Therefore, the development of an application about digital filters is very useful and important. This project focused on designing a graphic user interface (GUI) application in Matlab that is capable of assisting in signal analysis and optimization of finite impulse response (FIR) filtering. II. Problem Definition The design of digital filters and their influence on filtered signals are timeconsuming and a complicated process. There are tools in Matlab that help to simplify the problem. However, there is no tool that is able to graphically modify the behavior of the filter in relation to a previously defined ideal filter, adjust it manually or automatically and save the results in memory.

6 2 The current technological requirement includes sophisticated and critical applications in design and use of filters. For example, cellular telephony, which has limited and small bandwidth requires the reuse of frequencies to provide service. In addition, these filters must be dynamic, since they must adapt to the conditions of the service area and the technology offered by the operator (GPRS, EDGE, LTE, OFDM, and so on) [4]. These filters, are of such high order that it is not feasible to attempt their design without the support of a mathematical tool that helps to perform the required calculations. An actual implementation of a digital filter can start with the design of the filter in Matlab and after finding the parameters, they are programmed into a micro controller for their physical incorporation into the devices. Matlab has developed an extensive library of functions that help in the design of filters. These functions include the calculation of filter parameters, and its Bode plot in magnitude and phase. It also includes the function diagram of poles and zeros. The source codes for these functions are not accessible or modifiable. When a design is required, the designer should often use the default functions in Matlab (trial and error) several times, resulting in waste of time and low efficiency. Matlab has also developed applications of the "toolbox" type, which help in the study of the signals subjected to filters in a more elaborate and consumption-oriented way before the design and implementation of filters. Moreover, these applications developed by Matlab, are not incorporated in the general license of use of Matlab and are sold separately. The problem can be summarized, as there is no tool or application developed in Matlab that helps in the design and study of the dynamic behavior of the filters. Finite Impulse Response Filter (FIR) The design of a digital filter [2] typically begins with a frequency specification. For example, a specification for a low pass filter might give a passband range as being 0 Hz to 200 Hz and a stopband as being 2254 Hz to half the sample frequency. The specification would also indicate the amount of ripple that is permitted in the passbands and stopband. In addition, a sample rate might be specified, or some range of sample

7 3 frequencies may be given, in which case, the design may choose the sample rate. With specification in hand, the filter designer must then decide between infinite impulse response (IIR) and finite impulse response (FIR) filters. Figure 1 is an example of this specification. Fig. 1: Specification of the filter From: There are several important methods of designing FIR filters. Matlab uses the Fourier Series Method. If the Fourier series is limited to 2N + 1 terms, we will call this approximation FN(t). In general, FIR filters are computationally less efficient than IIR filters that meet the same specifications. However, FIR filters can be designed to have linear phase, whereas IIR filters can only approximate linear phase, and often, that is over a small band. Hence, for applications where the information is encoded as part of the phase of a signal, having a filter that does not distort the phase curve is important. Zero locations for FIR linear-phase filters [2]: Real zeros must appear with their inverse. This means that they will always appear in pairs except in the case where z= +/- 1, in which case the zero is its own inverse. Complex zeros not on the unit circle must appear in sets of four (the zero plus its conjugate plus their inverse).

8 4 Complex zeros on the unit circle must appear as conjugate pairs. In this case, the conjugate (z) = inverse (z). Minimum requirements: The project will be developed in a GUI environment in Matlab language in a flexible way, easy to handle and that will serve as a tool to support in order to analyze FIR filters. Selection of the filter parameters of a menu from the GUI application. Presentation of the Bode and of the poles and zeros diagram. Online modification of the parameters and the graphics of the filter. Memorization of the states achieved in the filter settings. Automatic adjustment of parameters using the minimum error principle with reference to an ideal filter defined from the application itself. III. Solution (Design) The design starts with the development of the GUI (graphic user interface) screen, defining two areas of graphics, dynamics where the results will be presented either for the Bode and Z-Plane diagrams and their frequency spectrum. Dynamic controls are also incorporated as a slider that serve as a dynamic control of the values that the parameters of the transfer function can assume. The design techniques for FIR filters are: Parks McClellan, Window type and Frequency Sampling. I choose Frequency Sampling because has better results, and it is amenable for computer optimization. For the IIR filters the analysis use the classical Chebyshev, Butterworth and Elliptic.

9 5 Digital filters are achieved using the bilinear transform. Both FIR and IIR filters are designed and analyzed using graphic user interface and functions of Matlab. FIR FILTERS Parks McClellan Algoritm Window Type Frequency Sampling Frequency sampling: Better results Amenable to computer optimization Filter Design Techniques Project based in Matlab using GUI resources and functions IIR FILTERS IIR CLASSIC FILTERS: Butterworth Chebyshev I & II Elliptic Good templates for creating Digital Filters, using mapping functions such as Bilinear Transform. Figure 2: Design techniques The application is divided into multipurpose functional routines that can be used in various scenarios. The definition of routines and functions follow the logic established by the GUI application of Matlab. When the dynamic variables are defined, they respond immediately to the changes made and modify online the diagrams of Bode, Z plane and time and spectrum of the analyzed signals. Other controls, such as a pop-up menu for selection and presentation of parameters, are included; additionally, static and dynamic text windows are added to show the results of the process. Taking into account that the adjustment is manual and graphic, it is necessary to have a memory system that stores the parameters of a simulation and that can be retrieved later. At least three memory vectors will be defined to store historical data in the filter analysis. The design (figure 3), begins with a main page in which the user can get some information about the project and can select design FIR filters. The application allows the adjustment of parameters in order to get the best results. Another function is to test the filter with an audio record, comparing the time and spectrum diagram before and after the

10 6 FIR Application. For IIR filters, it is possible to choose the type of filter, frequency and ripple parameters. When the Bode diagram and Z plane diagram are displayed, it is possible to move poles and zeros from Z plane with the mouse. Time Domain & Spectrum Audio signals (test) Test Signal (WAV File) FIR Filtering GUI Signal Analysis and Filtering Design IIR Filtering Dynamic Adjust Automatic Adjust Fig. 3 Design 3.1 FIR FILTERS Frequency sampling is a filter design technique that is related to the Fourier series method. Its advantage is that can provide better results and it is amenable to compute optimization [2]. It begins with an ideal frequency response for a filter, which is sampled at regular intervals. Applying DFT and IDFT it is possible to get the impulse response and thereby arrive at a transfer function. Some restrictions apply. Since we want to a filter that has real coefficients and a linear phase response.

11 GUI DESIGN Fig 4: GUI Screen for FIR Filters The GUI screen has been divided into three work areas. The first shows the instantaneous numerical value of the filter parameters and the frequencies used. The second one shows the functions of RESET and PRESET, which are two pushbuttons that when activated load the data by default (RESET) or the selected values (PRESET). The third area shows the memory commands that allow memorize the analysis status and also allows to load the previously saved data to present them at any time. The fourth is the graphic work area, where the diagrams of Bode and Z plane (axes 1 and axes 2) are presented Functions The functions include parameter selection as well the frequency parameters. Also allows to manual or automatic adjust and memorization. Figure 3 shows the Functions for this module.

12 8 Manual Adjust Automatic Adjust Reset Memory Reload from memory GUI Filter Design FIR filter Test with an audio signal and compare Parameter selection a0, a1,. an fs, fstop, fpass Figure 5: Functional Block Diagram of the project a) Reset function Load basic parameters by default to the system and present the ideal filter and its best design approach. These are shown in figure 4. Reset Parameters of the filter: a0=1; a1=1; a2=1; a3= a4= ; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; fs=1000; % fs = frequency sample fpass=125; % fpass = passband frequency fstop=200; % fstop = Stopband frequency

13 9 Fig. 6 Results from Reset function b) Preset function Preset allows changing the values of the working frequencies of the filter. For this, a control window is used, where the value of the frequencies can be written. The graphic display includes the representation of the ideal filter (PRESET) and the actual filter, with the last parameters used. The PRESET function only affects the values of the working frequencies and not the filter parameters. Fig. 7 Results from Preset function

14 10 c) Parameter setting function This function allows the user to modify the parameters of the filter transfer function. For this, the user must choose from a POP UP menu, the parameter that he wants to modify. The selection includes the parameters a0, a1, a2,... a10. Once the parameter has been selected, it can be varied by entering a specific value in the presentation window or by controlling a "slider", which was defined to vary between values from 0 to 10. The adjustment of the parameters produces instantaneous changes in the Bode and Z-Plane graphs. Fig.8 Parameter setting function For the example, the parameters a3 and a4 of their original values have been modified. The graph shows the immediate update of the table showing the parameter vector and the graph resulting from that modification. d) Memory function Fig. 9 Memory and recall functions

15 11 The memory function provides a working window where the user can record up to three sets of data associated with the analysis of a filter. The work window has a couple of buttons for each memory. The first has the function of recording and the second that of loading the data stored in that memory position. e) Test with an audio signal This function loads a sound file in WAV format, reproduces it in its original audio, presents it in the temporal domain and also graphs its frequency spectrum. The function also has the option of comparing the original state of the audio signal with the one it has after being subjected to a type of filter chosen by the user. The comparison includes the reproduction of sound, re-representation in the time domain and its frequency spectrum Program Description Fig. 10 Test with an audio signal The software was developed in Matlab. Begins loading parameters, then the Bode and Z plane diagram are presented. Routines for adjust manually or automatically parameters were developed. Memory routine allows to keep values. The adjust routine allows to get the best conditions and Audio test routines compare a record after and

16 12 before the filter. The program is divided into subroutines and functions that are activated graphically from the GUI screen. Start Load frequencies Fs, Fpass, Fstop Preset? Reload Reset Load Default Parameters Load Parameters from Memory Adjust Auto? Yes No Show Bode Diagram, Z Plane and error Adjust minimizing error Memorize? No Save Parameters in Memory (1,2,3) Start Fig. 11 Software Block Diagram The program starts by calling the GUI application from the Matlab program. Initially a GUI screen is presented, without data and without graphs, so the next step is to load the predefined values (RESET) a) Filter analysis program: The equation for IDFT is: Where L is the length of the filter. The design process for frequency sampling filters can be summarized as follows [2]:

17 From the frequency response plot for an ideal filter, choose L equally spaced samples. These are H[k]. 2.- Use h(n) to find the impulse response of the filter. 3.- Use H[z] to find the transfer function for the FIR filter. The program shown below is developed in Matlab and illustrates the necessary operations to find the filter parameters that meet the specifications. [2]. This program calculates the filter parameters using the resources of the Matlab. It also calculates the error between the designed filter and the ideal filter, presents the Bode plot and the poles, and zeros diagram of the function in the Z plane. Code program %% FIR design Program %% The program was proposed by Dr. Blandford, %% The plot of Z plane was added %% Definition of the parameters: a0=1; a1=1; a2=1; a3= a4= ; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; fs=1000; fpass=125; fstop=200; L = 21; N = L-1; A2 = [a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10]; h = zeros(1,l); for n = 1:L for k=2 : ((L-1)/2+1) h(n) = h(n) + 2* (-1)^(k-1)*A2(k)*cos(((2*(n-1)+1)*pi*(k- 1))/L); h(n) = (A2(1) + h(n))/l;

18 14 [H f] = freqz(h, 1, 4096, fs); plot(f, abs(h), 'r'); xlabel('frequency'); ylabel('amplitude'); title ('Bode Diagram'); grid on; m = -1/(fstop - fpass); b = -m*fstop; HId = m*f + b; % Ideal filter HId(HId > 1) = 1; HId(HId < 0) = 0; hold on; plot(f, HId, 'b'); %Plot Z Plane axes(handles.axes2); zplane(h); ylabel('imaginary part'), xlabel('real part'); grid on title ('Z Plane'); error = sqrt(sum((abs(h) - abs(hid)).^2)) disp(['original error = ' num2str(error)]); set(handles.text5,'string',error); b) Program of change of parameters Figure 12: Diagrams of the filter The change of parameters starts with the selection of the parameter that is carried out with a POP UP window, from which the parameter is selected, afterwards, each one is assigned a "case", which will be used to make modification decisions later. %************ Function: Select the paramerter ai ********* function selector_callback(hobject, eventdata, handles) %each case defines a parameter for transfer function val = get(hobject,'value')

19 15 switch val case 1 S.temp = 1 case 2 S.temp = 2 case 3 S.temp = 3 case 4 S.temp = 4 case 5 S.temp = 5 case 6 S.temp = 6 case 7 S.temp = 7 case 8 S.temp = 8 case 9 S.temp = 9 case 10 S.temp = 10 case 11 S.temp = 11 otherwise set(handles.selector, 'UserData', S); % of parameter slection from Pop Up menu *********** After selecting the parameter, we proceed to vary its value with the use of the "slider": %******************* Function: Slider ***************** %Assign slider value to a ai %temp is a output parameter from pop up table (VARIES FROM 0 TO 11) temp = get(handles.selector, 'Value'); % Selecting ai if temp == 1 a0=ax elseif temp == 2 a1=ax elseif temp == 3 a2=ax elseif temp == 4 a3=ax elseif temp == 5 a4=ax elseif temp == 6 a5=ax elseif temp == 7 a6=ax elseif temp == 8 a7=ax elseif temp == 9 a8=ax elseif temp == 10 a9=ax elseif temp == 11

20 16 a10=ax else a10=ax set(handles.text2,'string',ax); c) Memory and loading program The memory function uses a vector in which it stores the data and loads it again when needed. The vector includes, in addition to the parameters, the frequency values used. The parameters to be saved are taken from the dynamic table of instantaneous presentation of the data: A33=get(handles.uitable2,'Data'); A44_mem1=A33([ ]) fs_mem1=a33([12]) fpass_mem1=a33([13]); fstop_mem1=a33([14]); The loading of the data in memory: A_mem1=A44_mem1([ ]) fs=a44_mem1([12]) fpass=a44_mem1([13]) fstop=a44_mem1([14]) After loading the vector, the filter analysis, presentation and modification program is invoked. In addition to the graphical presentation, the calculation of the error is executed instantaneously and all the time, because it is the decision parameter for the adjustment of the filter. This calculation is made with: error = sqrt(sum((abs(h) - abs(hid)).^2)) Fig.13: GUI Screen example of results for FIR Filters

21 IIR FILTERS IIR filters have feedback, which results in a transfer function that has poles at locations other than the origin [2]. The poles, deping on how close they are to the unit circle, cause the gain to increase at a particular frequency. In the design of IIR filters, we need to figure out where to place the zeros to decrease the gain and where to place the poles to make it increase. This is the reason for which the interaction with poles and zeros in Z plane was choose as a technique for analysis of IIR filters. Using IIR, the design results with narrower transition bands than comparable FIR filters. Because IIR filters have a feedback, it is possible that they can be unstable, whereas with FIR, the stability is a given. The feed back causes other problems indirectly tied to stability that has to do with noise. FIR filters are always linear phase. For a IIR filter linear phase across the 0 to fs/2 frequency band is impossible GUI DESIGN Fig 14: GUI Screen for IIR Filters The GUI screen has been divided into four work areas: The first shows the setting for the filter. This allows to choose type of filter, kind of filter, frequency sample, band pass frequency, band stop frequency, band pass ripple, band stop ripple. The second shows instantaneous numerical value of the filter parameters (poles and zeros). The third shows the functions of RESET and PRESET, which are two pushbuttons that when

22 18 activated load the data by default (RESET) or the selected values (PRESET), and the insert/delete poles and zeros commands that allow to add or erase poles or. The fourth is the graphic work area, where the diagrams of Bode and Z plane (axes 1 and axes 2) are presented Functions The functions allow the selection of the type of filters, parameters and frequencies. They also allow to move poles and zeros from Z plane, as well as add or delete them. Select LowPass or BandPass Select: Chebyshev I, Butterworth, Chebyshev II or Elliptic Preset Reset Move Poles And Zeros Add And Remove Poles and Zeros GUI Filter Design IIR filter Parameter Selection: fs, fstop, fpass, Ripple Fig. 15 IIR functions a) Preset function Load basic parameters by default to the system and present the ideal filter and its best design approach. Type of filter: Low pass Frequency Sample = fs = Hz Band Pass: 2 KHz Band Stop: 3 KHz Pass Band Ripple: 0.01 Band Stop Ripple: 0.01

23 19 Fig. 16 Preset function for IIR Filters b) Setting function This allow to choose: Type of filter: Low Pass Filter Band Pass Filter Kind of filter: Chebyshev I Butterworth Chebyshev II Elliptic Frequency selection: Frequency Sample Band Pass Auxiliary Band pass (for Pass Band filter) Band Stop Auxiliary Band stop (for Pass Band filter) Pass Band Ripple Band Stop Ripple

24 20 c) Visualizing Poles and zeros function There is a table in which poles and zeros are presented (numerical values). The table has a push button in order to actualize values when and adjust is made. d) Execute or leave function Pushbuttons were implemented in order to execute the program taking in account the parameters, leave the program or return to the home page. The execution uses Matlab resources for the filters. e) Modify Pole and zeros function This function allows to modify poles and zeros from the graph in a flexible and dynamic way. The functions allow to use the mouse/cursor in order to catch a pole or zero and move it along the z plane. Whenever a pole or zero is moving its conjugates moves as well. The movement of poles or zeros in the z plane immediately produce a modification of the Bode diagram. f) Insert Poles or Zeros Function This function allows to insert poles or zeros in the z plane. Whenever a pole is inserted, a single pole appears in the right plane on the axis. If the pole is moved in the z plane it will generate its conjugate in an automatic mode. Whenever a Zero is added, it will appear in the left-hand axis and as the poles, it can be moves along the z plane generating its conjugate. g) Reset Function This function has a pushbutton in order to clear all values and graphics Program Description The program is divided into subroutines and functions that are activated graphically from the GUI screen. The program starts by calling the GUI application from

25 21 the Matlab program. Initially a GUI screen is presented, without data and without graphs, so the next step is to load the predefined values (RESET) Start Select Type of filter Select Parameters No Preset? Yes Load Preset parameters Draw Poles and Zeros diagram and Bode Diagram Show Poles & Zeros roots Modify Poles or Zeros Position? No Yes Modify the transfer function and parameters Insert Poles or Zeros? Yes No Figure 17: Software Block Diagram for IIR Filters a) Filter analysis program: This program (appix A), calculates the filter parameters using the resources of the Matlab program. It also allows to modify the poles and zeros from z plane, presents the Bode plot and the poles, and zeros diagram of the function in the Z plane.

26 22 Fig.18: GUI Screen example of results for IIR Filters Safety Designing Filters The Safety Standard [5] IEC defines the requirements for safety systems in the plant safety indepently of application. It is inted for the basis of all safety related electrical, electronic and programmable electronic systems, in order to apply it in safely critical applications. The safety concept ensures that the filter work with the predefined characteristics. Like medical technology, it is important that a filter work with high reliability. For this reason, the design of a filter must be done in a way that the safely is guaranteed in the application environment. Digital filters take an important role in this world which are most controlled by electronics. The filter designed must be analyzed as a simulation in a mathematical model. These models must be implemented in real models. V. Costs For the cost estimation, the following items will be taken: Cost of the Matlab license, which includes simulink and 10 applications or toolboxes. The student license will be quoted as having a reduced price.

27 23 Table 1: Cost of the project Item Description Quantity Unit Cost ($) Total Cost 1 Student Licence (Matlab + Simulink + 10 applications) Total $ 99 VIII. Conclusions Digital filters have a wide variety of applications and their use will increase in the immediate future, including social and financial fields. For the development of the project, it was necessary to know in detail, Matlab, GUI and theory and management of digital filters. The application is useful for digital signal processing analysis and telecommunications. From several methods, "frequency sampling filters" has been chosen for FIR filters and the variation of poles and zeros from the Z plane to analyze IIR filters. For FIR filters, it is possible to analyze in a practical way, how the filter designed, influences a specific audio record. The minimum requirements not only were achieved, but also another tool for IIR filters was developed. The contribution of the project, allows manual and automatic adjustment of parameters in the case of FIR filters and the graphically manipulation of poles and zeros for the IIR filters. These facilities were not developed in Matlab tools or in other applications for filter design.

28 24 Appix A: Code for FIR Filters Analysis %Axel Daniela Campero Vega %IIR Filter design and analysis %University of Evansville function varargout = Axel_IIR5(varargin) clc; 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{:}); function Axel_IIR5_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); function varargout = Axel_IIR5_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; %********************************************************* function sel1_callback(hobject, eventdata, handles) global contador fun = get(handles.sel1,'value'); switch fun case 1 contador=1 case 2 contador=2 case 3 contador=3; case 4 contador=4;

29 25 guidata(hobject, handles); function sel1_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %************************************************ function edit3_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit3=newval; guidata(hobject,handles); function edit3_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %***************************************************** function edit4_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit4=newval; guidata(hobject,handles); function edit4_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %*************************************************** function edit5_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit5=newval; guidata(hobject,handles); function edit5_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %****************************************************** function edit6_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val);

30 26 handles.edit6=newval; guidata(hobject,handles); function edit6_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %******************************************************* function edit7_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit7=newval; guidata(hobject,handles); function edit7_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %************************************************ function edit8_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit8=newval; guidata(hobject,handles); function edit8_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %********************************************************** function edit9_callback(hobject, eventdata, handles) Val=get(hObject,'string'); NewVal=str2double(Val); handles.edit9=newval; guidata(hobject,handles); function edit9_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); %*********************************************************** function pushbutton1_callback(hobject, eventdata, handles)

31 27 global zh ph b a z rety p pt zr global ax1 ax2 global contador2 contador fs=handles.edit3 fps1=handles.edit6 fst1=handles.edit7 Rp=handles.edit4 Rs=handles.edit5 fps2=handles.edit9 fst2=handles.edit8 [m1,n1]=size(contador2) [m2,n2]=size(contador) %Seleccion de tipos de filtros if (m1==0 & n1==0) contador2=1; if contador2==1 RsDB=-20*log10(Rs); RpDB=-20*log10(1-Rp); Wp=fps1/(fs/2) Ws=fst1/(fs/2) elseif contador2==2 fps=[fps1 fps2] fst=[fst1 fst2] RsDB=-20*log10(Rs) RpDB=-20*log10(1-Rp) Wp=fps/(fs/2) Ws=fst/(fs/2) if (m2==0 & n2==0) contador=1; if contador==1 [Nc,Wnc] = cheb1ord(wp,ws,rpdb,rsdb); [num den]=cheby1(nc,rpdb,wnc) elseif contador==2 [Nc,Wnc] = buttord(wp,ws,rpdb,rsdb); [num den]=butter(nc,wnc); elseif contador==3 [Nc,Wnc] = cheb2ord(wp,ws,rpdb,rsdb); [num den]=cheby2(nc,rpdb,wnc); elseif contador==4 [Nc,Wnc] = ellipord(wp,ws,rpdb,rsdb); [num den]=ellip(nc,rpdb,rsdb,wnc);

32 28 [z,p,k] = tf2zp(num,den); p=p'; z=z'; A=[num den]; axes(handles.axes1); bl=roots(num); %los zeros al=roots(den); %los polos ax=[]; %creamos un vector de N dimensiones para los zeros bx=[]; %creamos un vector de N dimensiones para los polos k=1; i=1; var1=length(bl); while (k~=var1) if (bl(k)==conj(bl(k+1))) ax(1,i)=bl(k); ax(2,i)=bl(k+1); k=k+2; %Incremento para el salto de dos i=i+1; if (k>var1) break; else ax(1,i)=bl(k); ax(2,i)=nan; k=k+1; %Incremento para el salto de uno i=i+1; if (k>var1) break; k=1; i=1; var2=length(al); while (k~=var2) if (al(k)==conj(al(k+1))) bx(1,i)=al(k); bx(2,i)=al(k+1); k=k+2; %Incremento para el salto de dos i=i+1; if (k>var2) break; else

33 29 bx(1,i)=al(k); bx(2,i)=nan; k=k+1; i=i+1; if (k>var2) break; %Incremento para el salto de uno [zh,ph]=zplaneplot(ax,bx); grid on ax1 = gca; ylabel('imaginary Part') xlabel('real Part') rety = handles.axes2; axes(rety); p=p'; z=z'; [b,a]=zp2tf(z,p,k); [H f]=freqz(b,a,1024,fs); global Hz; global az; global bz; Hz=H; az=a; bz=b; plot(f,abs(h)); grid on ax2 = gca; xlabel('frequency (Hz)') ylabel('magnitude (db) ') set(zh,'buttondownfcn','filtros(''zeroclick'')',... 'markersize',8,'linewidth',1) set(ph,'buttondownfcn','filtros(''poleclick'')',... 'markersize',8,'linewidth',1) function pushbutton2_callback(hobject, eventdata, handles) global zh ph b a z rety p pt zr global ax1 ax2 global contador3 contador4 [m11,n11]=size(contador3) [m22,n22]=size(contador4)

34 30 if (m11==0 & n11==0 & m22==0 & n22==0) contador3=1; contador4=1; size(contador4) if (contador3==1 & contador4==1) %Opcion POLO SIMPLE if length(ph)>0 ph(+1) = line([0.5 NaN],[0 0], 'parent', ax1, 'buttondownfcn', 'FILTROS(''poleclick'')',... 'markersize',8,'linewidth',1,'marker','x','linestyle','none'); else ph = line(.5,0,'parent',ax1,'buttondownfcn','filtros(''poleclick'')',... 'markersize',8,'linewidth',1,'marker','x','linestyle','none'); set(findobj('string','borrar POLO'),'enable','on') FILTROS('recompute') elseif (contador3==1 & contador4==2) %Opcion POLO CONJUGADO if length(ph)>0 ph(+1) = line([ ],[ ], 'parent', ax1, 'buttondownfcn', 'FILTROS(''poleclick'')',... 'markersize',8,'linewidth',1,'marker','x','linestyle','none'); else ph = line(.5,0,'parent',ax1,'buttondownfcn','filtros(''poleclick'')',... 'markersize',8,'linewidth',1,'marker','x','linestyle','none'); set(findobj('string','borrar POLO'),'enable','on') FILTROS('recompute') elseif (contador3==2 & contador4==1) %Opcion ZERO SIMPLE if length(zh)>0 zh(+1) = line([-0.5 NaN],[0 0], 'parent',ax1, 'buttondownfcn', 'FILTROS(''zeroclick'')',... 'markersize',8,'linewidth',1,'marker','o','linestyle','none'); else zh = line(.5,0,'parent',ax1,'buttondownfcn','filtros(''zeroclick'')',... 'markersize',8,'linewidth',1,'marker','o','linestyle','none'); set(findobj('string','borrar CERO'),'enable','on') FILTROS('recompute') elseif (contador3==2 & contador4==2) %Opcion ZERO CONJUGADO if length(zh)>0 zh(+1) = line([ ],[ ], 'parent',ax1,'buttondownfcn','filtros(''zeroclick'')',... 'markersize',8,'linewidth',1,'marker','o','linestyle','none'); else

35 31 zh = line(.5,0,'parent',ax1,'buttondownfcn','filtros(''zeroclick'')',... 'markersize',8,'linewidth',1,'marker','o','linestyle','none'); set(findobj('string','borrar CERO'),'enable','on') FILTROS('recompute') %********************************************* function pushbutton3_callback(hobject, eventdata, handles) global zh ph b a z rety p pt zr global ax1 ax2 global contador3 if contador3==1 %Opcion para eliminar POLOS delete(ph()) ph()=[]; if length(ph)==0 set(gco,'enable','off') FILTROS('recompute') elseif contador3==2 %Opcion para eliminar ZEROS delete(zh()) zh()=[]; if length(zh)==0 set(gco,'enable','off') FILTROS('recompute') function uipanel1_selectionchangefcn(hobject, eventdata, handles) global contador2 if (hobject==handles.uno) contador2=1 elseif (hobject==handles.dos) contador2=2 else contador2=1 function sel2_callback(hobject, eventdata, handles) global contador3 fun = get(handles.sel2,'value'); switch fun case 1 contador3=1 case 2 contador3=2

36 32 guidata(hobject, handles); function sel2_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function uipanel2_selectionchangefcn(hobject, eventdata, handles) global contador4 if (hobject==handles.tres) contador4=1 elseif (hobject==handles.cuatro) contador4=2 function pushbutton6_callback(hobject, eventdata, handles) global contador contador2 opc=questdlg('do you want to leave the program?','leave','yes','no','no'); if strcmp(opc,'no') return; contador=1; contador2=1; delete(hobject); clear,clc,close all function pushbutton7_callback(hobject, eventdata, handles) global datax dataxt global datbx datbxt set(handles.uitable1,'data',dataxt); set(handles.uitable2,'data',datbxt); function uitable1_celleditcallback(hobject, eventdata, handles) function edit10_callback(hobject, eventdata, handles) clc global fs fps1 fst1 Rp Rs; fs=11025; fps1=2000; fst1=3000; Rp=0.01; Rs=0.01; set(handles.edit3,'string',fs);

37 33 set(handles.edit4,'string',rp); set(handles.edit5,'string',rs); set(handles.edit6,'string',fps1); set(handles.edit7,'string',fst1); handles.edit3 =fs; handles.edit4 =Rp; handles.edit5 =Rs; handles.edit6 =fps1; handles.edit7 =fst1; guidata(hobject, handles) function edit10_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in pushbutton8. function pushbutton8_callback(hobject, eventdata, handles) gui1; % --- Executes on button press in pushbutton9. function pushbutton9_callback(hobject, eventdata, handles) clc global fs fps1 fst1 Rp Rs; fs=11025; fps1=2000; fst1=3000; Rp=0.01; Rs=0.01; set(handles.edit3,'string',fs); set(handles.edit4,'string',rp); set(handles.edit5,'string',rs); set(handles.edit6,'string',fps1); set(handles.edit7,'string',fst1); guidata(hobject, handles) handles.edit3 =fs; handles.edit4 =Rp; handles.edit5 =Rs; handles.edit6 =fps1; handles.edit7 =fst1; guidata(hobject, handles)

38 % --- Executes on button press in pushbutton10. function pushbutton10_callback(hobject, eventdata, handles) close Axel_IIR5 open Axel_IIR5 clearvars run Axel_IIR5 % of the program 34

39 35 References [1] Matlab - Matworks Documentation: Digital Filters [Online]. Available: [2] Dick Blandford, Jhon Parr, Introduction to Digital Signal Processing. PEARSON, 2013 [3] Alexander D. Poularikas, Signals and Systems Primer with MATLAB, CRC Press, Technology & Engineering [4] Julius Orion Smith, Spectral Audio Signal Processing, Contributors Stanford University. Center for Computer Research in Music and Acoustics, Stanford University, Publisher W3K, 2011 [5] Tomasz Nowakowski, Marek Młyńczak,, Safety and Reliability: Methodology and Applications, CRC Press, Sep 18, Technology & Engineering

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

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

% 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EE2S11 Signals and Systems, part 2. Ch.7.3 Analog filter design. Note differences in notation. We often write. transition band passband.

EE2S11 Signals and Systems, part 2. Ch.7.3 Analog filter design. Note differences in notation. We often write. transition band passband. Note differences in notation. We often write EE2S11 Signals and Systems, part 2 Ch.7.3 How can I design an analog filter that meets certain specifications? passband ripple transition band passband stopband

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

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

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

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

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

% --- 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

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

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

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

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

Experiment 3. Getting Start with Simulink

Experiment 3. Getting Start with Simulink Experiment 3 Getting Start with Simulink Objectives : By the end of this experiment, the student should be able to: 1. Build and simulate simple system model using Simulink 2. Use Simulink test and measurement

More information

Exercises Unit 4. Graphics User Interface

Exercises Unit 4. Graphics User Interface Exercises Unit 4. Graphics User Interface Working period: Seventh and Eighth weeks Due date: 21 April 2013 Submit only one file name_e4.pdf containing the solution to the following exercises. Include the

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

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

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

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

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

Design of Low-Delay FIR Half-Band Filters with Arbitrary Flatness and Its Application to Filter Banks

Design of Low-Delay FIR Half-Band Filters with Arbitrary Flatness and Its Application to Filter Banks Electronics and Communications in Japan, Part 3, Vol 83, No 10, 2000 Translated from Denshi Joho Tsushin Gakkai Ronbunshi, Vol J82-A, No 10, October 1999, pp 1529 1537 Design of Low-Delay FIR Half-Band

More information

A Review on Fractional Delay FIR Digital Filters Design and Optimization Techniques

A Review on Fractional Delay FIR Digital Filters Design and Optimization Techniques A Review on Fractional Delay FIR Digital Filters Design and Optimization Techniques Amritpal Singh #1, Dr. Naveen Dhillon *2, Sukhpreet Singh Bains @3 1 MTECH ECE, RIET Phagwara, India 2 HOD ECE RIET,

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

EE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations

EE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations EE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations Digital Signal Processing (DSP) is centered around the idea that you can convert an analog signal to a digital signal

More information

5655 Chapter 6. April 18, 2016

5655 Chapter 6. April 18, 2016 5655 Chapter 6 April 18, 2016 Contents FIR Filter Design 1 Exporting Coefficients to Header Files............................... 2 Float Header Export..................................... 2 Signed 16-Bit

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

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

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

Audio-coding standards

Audio-coding standards Audio-coding standards The goal is to provide CD-quality audio over telecommunications networks. Almost all CD audio coders are based on the so-called psychoacoustic model of the human auditory system.

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

The theory and design of a class of perfect reconstruction modified DFT filter banks with IIR filters

The theory and design of a class of perfect reconstruction modified DFT filter banks with IIR filters Title The theory and design of a class of perfect reconstruction modified DFT filter banks with IIR filters Author(s) Yin, SS; Chan, SC Citation Midwest Symposium On Circuits And Systems, 2004, v. 3, p.

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

Manual. TC3 Filter. TwinCAT 3. Version: Date: Order No.: TF3680

Manual. TC3 Filter. TwinCAT 3. Version: Date: Order No.: TF3680 Manual TC3 Filter TwinCAT 3 Version: Date: Order No.: 1.0 2018-12-13 TF3680 Table of contents Table of contents 1 Foreword... 5 1.1 Notes on the documentation... 5 1.2 Safety instructions... 6 2 Overview...

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

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

Perceptual coding. A psychoacoustic model is used to identify those signals that are influenced by both these effects.

Perceptual coding. A psychoacoustic model is used to identify those signals that are influenced by both these effects. Perceptual coding Both LPC and CELP are used primarily for telephony applications and hence the compression of a speech signal. Perceptual encoders, however, have been designed for the compression of general

More information

Driver Filter Design for Software-Implemented Loudspeaker Crossovers

Driver Filter Design for Software-Implemented Loudspeaker Crossovers ARCHIVES OF ACOUSTICS Vol.39,No.4, pp.59 597(204) Copyright c 204byPAN IPPT DOI: 0.2478/aoa-204-0063 Driver Filter Design for Software-Implemented Loudspeaker Crossovers Shu-Nung YAO School of Electronic,

More information

Control System Toolbox

Control System Toolbox The Almighty University of Mohaghegh Ardabili Control System Toolbox The SISO Design Tool 1 Transfer Function TF = 2s + 4 s 2 + 6s + 5 TF = TF = 2(s + 2) (s + 1)(s + 5) 2(s + 2) (s + 1)(s + 5) 0 1 A= 5

More information

Available online Journal of Scientific and Engineering Research, 2017, 4(5):1-6. Research Article

Available online   Journal of Scientific and Engineering Research, 2017, 4(5):1-6. Research Article Available online www.jsaer.com, 2017, 4(5):1-6 Research Article ISSN: 2394-2630 CODEN(USA): JSERBR Through the Analysis of the Advantages and Disadvantages of the Several Methods of Design of Infinite

More information

Audio-coding standards

Audio-coding standards Audio-coding standards The goal is to provide CD-quality audio over telecommunications networks. Almost all CD audio coders are based on the so-called psychoacoustic model of the human auditory system.

More information

Both LPC and CELP are used primarily for telephony applications and hence the compression of a speech signal.

Both LPC and CELP are used primarily for telephony applications and hence the compression of a speech signal. Perceptual coding Both LPC and CELP are used primarily for telephony applications and hence the compression of a speech signal. Perceptual encoders, however, have been designed for the compression of general

More information

Developing a MATLAB-Based Control System Design and Analysis Tool for Enhanced Learning Environment in Control System Education

Developing a MATLAB-Based Control System Design and Analysis Tool for Enhanced Learning Environment in Control System Education Developing a MATLAB-Based Control System Design and Analysis Tool for Enhanced Learning Environment in Control System Education Frank S. Cheng and Lin Zhao Industrial and Engineering Technology Department

More information

2D Wedge Filter Design and Applications in Oriented Line Extraction

2D Wedge Filter Design and Applications in Oriented Line Extraction D Wedge Filter Design and Applications in Oriented Line Extraction RADU MATEI Faculty of Electronics Telecommunications and Information Technology Gheorghe Asachi Technical University Bd Carol I nr11 Iasi

More information

Setup the environment for first time use

Setup the environment for first time use SGN-16006 Bachelor s Laboratory Course in Signal Processing Signal processor assignment (June 2, 2014) Setup the environment for first time use Use the following procedure to start Code composer studio

More information

EE 341 Spring 2013 Lab 4: Properties of Discrete-Time Fourier Transform (DTFT)

EE 341 Spring 2013 Lab 4: Properties of Discrete-Time Fourier Transform (DTFT) EE 341 Spring 2013 Lab 4: Properties of Discrete-Time Fourier Transform (DTFT) Objective In this lab, we will learn properties of the discrete-time Fourier transform (DTFT), such as conjugate symmetry

More information

Guidelines for MATLAB s SISO Design Tool GUI

Guidelines for MATLAB s SISO Design Tool GUI Dr. Farzad Pourboghrat Guidelines for MATLAB s SISO Design Tool GUI The SISO Design Tool is a graphical user interface (GUI) that facilitates the design of compensators for single-input, single-output

More information

Digital Signal Processing and Filter Design using Scilab

Digital Signal Processing and Filter Design using Scilab Digital Signal Processing and Filter Design using Scilab Department of Electrical Engineering, IIT Bombay December 1, 2010 Outline 1 Basic signal processing tools Discrete Fourier Transform Fast Fourier

More information

SPPDF 01 Development Suite User s Manual. For SPPDM-01 FIR Filter Platform

SPPDF 01 Development Suite User s Manual. For SPPDM-01 FIR Filter Platform SPPDF 01 Development Suite For SPPDM-01 FIR Filter Platform SPPDF 01 Development Suite Table of Contents Chapter I - Introduction................................................................Page 1.1.

More information

An Efficient FIR Filter Design Using Enhanced Particle Swarm Optimization Technique

An Efficient FIR Filter Design Using Enhanced Particle Swarm Optimization Technique An Efficient FIR Filter Design Using Enhanced Particle Swarm Optimization Technique Suhita Khare 1, Deepak Sharma 2 1 M. Tech. Scholar, Dept. of ECE, Lord Krishna College of Technology, Indore, India 2

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

VLSI Implementation of Low Power Area Efficient FIR Digital Filter Structures Shaila Khan 1 Uma Sharma 2

VLSI Implementation of Low Power Area Efficient FIR Digital Filter Structures Shaila Khan 1 Uma Sharma 2 IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 05, 2015 ISSN (online): 2321-0613 VLSI Implementation of Low Power Area Efficient FIR Digital Filter Structures Shaila

More information

LOW COMPLEXITY SUBBAND ANALYSIS USING QUADRATURE MIRROR FILTERS

LOW COMPLEXITY SUBBAND ANALYSIS USING QUADRATURE MIRROR FILTERS LOW COMPLEXITY SUBBAND ANALYSIS USING QUADRATURE MIRROR FILTERS Aditya Chopra, William Reid National Instruments Austin, TX, USA Brian L. Evans The University of Texas at Austin Electrical and Computer

More information

LOK-Viewer : Graphical Interface Application for Geomagnetic Data in Observatory Geomagnetic Lombok

LOK-Viewer : Graphical Interface Application for Geomagnetic Data in Observatory Geomagnetic Lombok LOK-Viewer : Graphical Interface Application for Geomagnetic Data in Observatory Geomagnetic Lombok Giri W. Wiriasto, Teti Zubaidah, Bulkis Kanata Electrical Engineering Dept. Mataram University Lombok,

More information

Main components. This design tip explains how to design an FIR filter by sampling, windowing and modulating the sinc() function.

Main components. This design tip explains how to design an FIR filter by sampling, windowing and modulating the sinc() function. DT0088 Design tip FIR filter design by sampling, windowing and modulating the sinc() function By Andrea Vitali Main components STM32L476xx STM32L486xx STM32F411xx Ultra-low-power Arm Cortex -M4 32-bit

More information

Module 9 AUDIO CODING. Version 2 ECE IIT, Kharagpur

Module 9 AUDIO CODING. Version 2 ECE IIT, Kharagpur Module 9 AUDIO CODING Lesson 29 Transform and Filter banks Instructional Objectives At the end of this lesson, the students should be able to: 1. Define the three layers of MPEG-1 audio coding. 2. Define

More information

Filterbanks and transforms

Filterbanks and transforms Filterbanks and transforms Sources: Zölzer, Digital audio signal processing, Wiley & Sons. Saramäki, Multirate signal processing, TUT course. Filterbanks! Introduction! Critical sampling, half-band filter!

More information

Note 10 Introduction to MATLAB & SIMULINK

Note 10 Introduction to MATLAB & SIMULINK Note 10 Introduction to MATLAB & SIMULINK Department of Mechanical Engineering, University Of Saskatchewan, 57 Campus Drive, Saskatoon, SK S7N 5A9, Canada 1 1 Introduction to MATLAB MATLAB stands for the

More information

Chapter 6: Problem Solutions

Chapter 6: Problem Solutions Chapter 6: Problem s Multirate Digital Signal Processing: Fundamentals Sampling, Upsampling and Downsampling à Problem 6. From the definiton of downsampling, yn xn a) yn n n b) yn n 0 c) yn n un un d)

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

TRAINING A ROBOTIC MANIPULATOR

TRAINING A ROBOTIC MANIPULATOR ME 4773/5493 Fundamental of Robotics Fall 2016 San Antonio, TX, USA TRAINING A ROBOTIC MANIPULATOR Jonathan Sackett Dept. of Mechanical Engineering San Antonio, TX, USA 78249 jonathan.sackett@utsa.edu

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

HEALTH MONITORING OF INDUCTION MOTOR FOR VIBRATION ANALYSIS

HEALTH MONITORING OF INDUCTION MOTOR FOR VIBRATION ANALYSIS HEALTH MONITORING OF INDUCTION MOTOR FOR VIBRATION ANALYSIS Chockalingam ARAVIND VAITHILINGAM aravind_147@yahoo.com UCSI University Kualalumpur Gilbert THIO gthio@ucsi.edu.my UCSI University Kualalumpur

More information

MEASURING INTERFACIAL TENSION WITH THE PENDANT DROP METHOD

MEASURING INTERFACIAL TENSION WITH THE PENDANT DROP METHOD MEASURING INTERFACIAL TENSION WITH THE PENDANT DROP METHOD A Thesis Presented to The Academic Faculty by Kevin K. Mohan-Nair In Partial Fulfillment of the Requirements for the Degree Bachelor of Science

More information

ENT 315 Medical Signal Processing CHAPTER 3 FAST FOURIER TRANSFORM. Dr. Lim Chee Chin

ENT 315 Medical Signal Processing CHAPTER 3 FAST FOURIER TRANSFORM. Dr. Lim Chee Chin ENT 315 Medical Signal Processing CHAPTER 3 FAST FOURIER TRANSFORM Dr. Lim Chee Chin Outline Definition and Introduction FFT Properties of FFT Algorithm of FFT Decimate in Time (DIT) FFT Steps for radix

More information

EEE 512 ADVANCED DIGITAL SIGNAL AND IMAGE PROCESSING

EEE 512 ADVANCED DIGITAL SIGNAL AND IMAGE PROCESSING UNIVERSITI SAINS MALAYSIA Semester I Examination Academic Session 27/28 October/November 27 EEE 52 ADVANCED DIGITAL SIGNAL AND IMAGE PROCESSING Time : 3 hours INSTRUCTION TO CANDIDATE: Please ensure that

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

L-Point Interpolator

L-Point Interpolator Multi-Rate Processing and Polyphase Filtering with Plug-In Example Will Pirkle Oversampling theory is covered in detail in many DSP books and the math can be a little much to deal with at first. In Plug-Ins,

More information

ME scope Application Note 19

ME scope Application Note 19 ME scope Application Note 19 Using the Stability Diagram to Estimate Modal Frequency & Damping The steps in this Application Note can be duplicated using any Package that includes the VES-4500 Advanced

More information

2. Introduction to Matlab Control System Toolbox

2. Introduction to Matlab Control System Toolbox . Introduction to Matlab Control System Toolbox Consider a single-input, single-output (SISO), continuous-time, linear, time invariant (LTI) system defined by its transfer function: u(t) Y( S) num y(t)

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

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

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

20th European Signal Processing Conference (EUSIPCO 2012) Bucharest, Romania, August 27-31, 2012

20th European Signal Processing Conference (EUSIPCO 2012) Bucharest, Romania, August 27-31, 2012 th European Signal Processing Conference (EUSIPCO ) Bucharest, Romania, August 7-3, RECURSIVE FAN-YPE FILER DESIGN FROM D ANALOG RANSFER FUNCIONS Radu Matei Gh.Asachi echnical University of Iasi, Romania

More information

Image Fusion Using Double Density Discrete Wavelet Transform

Image Fusion Using Double Density Discrete Wavelet Transform 6 Image Fusion Using Double Density Discrete Wavelet Transform 1 Jyoti Pujar 2 R R Itkarkar 1,2 Dept. of Electronics& Telecommunication Rajarshi Shahu College of Engineeing, Pune-33 Abstract - Image fusion

More information

FPDJ. Baltazar Ortiz, Angus MacMullen, Elena Byun

FPDJ. Baltazar Ortiz, Angus MacMullen, Elena Byun Overview FPDJ Baltazar Ortiz, Angus MacMullen, Elena Byun As electronic music becomes increasingly prevalent, many listeners wonder how to make their own music. While there is software that allows musicians

More information

International Journal of Scientific & Engineering Research Volume 9, Issue 4, April ISSN

International Journal of Scientific & Engineering Research Volume 9, Issue 4, April ISSN International Journal of Scientific & Engineering Research Volume 9, Issue 4, April-2018 48 CAD Using New Algorithms for nth Order Butterworth Digital High-Pass Filter Haider Fakher Radhi Al-Saidy Computer

More information

Introducing Audio Signal Processing & Audio Coding. Dr Michael Mason Senior Manager, CE Technology Dolby Australia Pty Ltd

Introducing Audio Signal Processing & Audio Coding. Dr Michael Mason Senior Manager, CE Technology Dolby Australia Pty Ltd Introducing Audio Signal Processing & Audio Coding Dr Michael Mason Senior Manager, CE Technology Dolby Australia Pty Ltd Overview Audio Signal Processing Applications @ Dolby Audio Signal Processing Basics

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

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