DOC PREVIEW
UK EE 221 - Iteration, Objective or Error Functions, Visualization

This preview shows page 1-2-3-4-5-6 out of 18 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1Matlab and Parameter Optimization:Function for Use in Iteration ProcessFunction for Use in Iteration ProcessScript for OptimizationScript for OptimizationScript for OptimizationScript for OptimizationScript for OptimizationScript for OptimizationOptimization ResultsOptimization Iterated Error Surfaces (mesh)Optimization Iterated Error Surfaces (Intensity Image)Optimization Iterated Error Surfaces (Intensity Image)Parameter Optimization BPF Example:Parameter Optimization BPF Example:Parameter Optimization BPF Example:Parameter Optimization BPF ExampleCircuits IIEE221Optimization of Filter ParametersInstructor: Kevin D. DonohueIteration, Objective/Error Functions, VisualizationMatlab and Parameter Optimization:If equations can be developed to relate design parameters to the error/objective criteria, and they can be solved directly, the problem is finished. Unfortunately in many cases, the large number of parameters or the nonlinear relationship between them, makes a direct (closed-form) solution difficult or impossible.The performance equations can, however, be examined through programs, such as Matlab, and optimization performed with a creative strategy for iterating through guesses of critical parameters until error reaches a practical minimum.3Matlab functions: Available Matlab functions can be combined together to create your own function useful for your optimization task.3Example: Create a Matlab function that evaluates transfer function samples of a first-order low-pass filter over an array of frequency axis points (in Hz), for a given cutoff frequency (in Hz), and the gain at DC (in dB).Function for Use in Iteration Process1) Use a text editor to create a file lpf1.m (Matlab program files always end in .m).2) Then enter the following text.function h = lpf1(f,fc,gdb)% This function evaluates complex points of a first % order low-pass filter with cut-off frequency fc % in Hertz, and a gain in dB at DC of gdb. The% function syntax is:%% tflp = lpf1(f, fc, gdb)%% where f is an array of points in Hertz where the% function is eavluated at, and tfpl is the array of% complex evaluation points.s = j*2*pi*f; % compute complex frequencies along j omega axis. gdc = 10^(gdb/20); % convert gain in dB to linear gain.h = gdc./(s/(2*pi*fc) + 1 ); % Evaluate TF point by point3) Save the file in your “working directory” and execute in Matlab just like any other function. If you type help lpf1 in Matlab, the first sequence of comments will print to the screen.Function for Use in Iteration Process4) All variables defined inside the function will be undefined when the function is through (local variables). Create an analogous function for a high-pass filter:1) Create file with a text editor called hpf1.m and enter:function h = hpf1(f,fc,gdb)% This function evaluates complex points of a first % order high-pass filter with cut-off frequency fc % in Hertz, and a gain in dB at infinity of gdb. % The function syntax is:%% tfhp = hpf1(f, fc, gdb)%% where f is an array of points in Hertz where the% function is evaluated at, and tfhp is the array of% complex evaluation points.%s = j*2*pi*f; % compute complex frequencies along j omega axis. ginf=10^(gdb/20); % convert gain in dB to linear gain.h = ginf*(s/(2*pi*fc))./(s/(2*pi*fc) + 1 ); % Evaluate TF point by pointScript for OptimizationMatlab Scripts: Matlab functions can be combined together to create a series of commands to be executed.Example: Create a Matlab script to examine the mean and variance error between a cascaded low-pass and high-pass filter, and a band-pass-like transfer function specification consisting of a flat 10 dB passband extending from 5 kHz to 50 kHz with a 20 dB per decade roll-off at either end of the passband. The gain in the passband is 10 dB. Only consider the error from 500 Hz to 500 kHz.1)Strategy: Since the major portion of overlap between the passbands of the LPF and HPF will exist between the cut-off frequencies, set the gains equal to about 5.6 dB each (should put the combined gain close to 10db). Now consider minimizing error with respect to the cut-off frequencies of the LPF and the HPF. The gain can be adjusted later if assumption on the passband gain is not accurate.2) Create a file in a text editor called ex6.m, and enter:f =logspace(log10(500),log10(500e3), 512); % define axis for evaluation% Create target function (Described in Example)ht = zeros(1,512); % Set up array to fill with function pointsScript for Optimization% Loop through each linear section piece-wise, to create target shapefor k=1:512 % For points less than 5kHz create a line on a log scale if( f(k) < 5e3) , ht(k) = -10 + 20*log10(f(k)/500); % For points greater than 5kHz and less than 50kHz elseif(f(k) < 5e4), ht(k) = 10; % for points greater than 50kHz create a line on a % log scale else ht(k) = 10 - 20*log10(f(k)/5e4); endend% Note the above code has nothing to do with your project% It should not be seen in any of your codesfigure(1)semilogx(f,ht) % Check to see if it did what we wanted it togridtitle('Target TF')xlabel('Hertz')ylabel('dB')pause % Script will pause until the keyboard is struck% Set up nested loops to vary the cutoff frequencies for HPF and LPF% Try a neighborhood of frequencies around f= 5 kHz and 50 kHz.fhc = linspace(3500,7500,25); % Select a set of high-pass cut-offsflc = linspace(35000, 55000, 25); % Select a set of low-pass cut-offs 102103104105106-15-10-50510Target TFHertzdBScript for Optimization% Set up arrays to store computed error termsem = zeros(25,25); % mean error (bias)ev = zeros(25,25); % variance error (consistency of fit)% Fix Gain at 5.6 dB => 10^(5.6/20) = 1.9055 and optimize for low-pass% and high-pass cutoff% Note, this may not be the best gain, but is just an initial guess.for k=1:25, for n=1:25, h = lpf1(f,flc(k),5.6).*hpf1(f,fhc(n),5.6); % Compute Resultant TF % Compute errors em(k,n) = mean(ht-20*log10(abs(h))); ev(k,n) = std(ht-20*log10(abs(h))); %This is actually square root of the % variance, which is just as good in terms of finding a minimum point. endend[k,n] = find(abs(em) == min(min(abs(em))))%find mean error index close to 0% look at optimal TFh = lpf1(f,flc(k),5.6).*hpf1(f,fhc(n),5.6); % Compute Resultant TF % points at optimum semilogx(f,20*log10(abs(h)),'g')hold


View Full Document

UK EE 221 - Iteration, Objective or Error Functions, Visualization

Documents in this Course
Filters

Filters

8 pages

Unit 12

Unit 12

13 pages

Load more
Download Iteration, Objective or Error Functions, Visualization
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Iteration, Objective or Error Functions, Visualization and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Iteration, Objective or Error Functions, Visualization 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?