datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

Tell us What You Think

We want to know what you thought about this Design. Let us know by adding a comment.

ADD A COMMENT >

Automating communications measurement

Mike Woodward, MathWorks

12/3/2012 10:32 AM EST

Data analysis and GUI building
Our second application continues the theme of GUI control, but this time, we want to automate data analysis and report writing. Our goal is to examine how certain measured Long Term Evolution (LTE) parameters vary over time. Amplifier and transmitter characteristics vary from device to device, but a trend over time may indicate a problem that we need to investigate. We want to display these variations and model changes.

Our source data is a file of measured LTE parameters such as maximum output power, EVM, receiver sensitivity, and spurious emissions for different devices acquired at different times.

GUI building
We want to display variations in measured parameters over time and plot these variations as a histogram (to show the type of distribution and spread). We also want to obtain minimum, maximum, and mean values plus standard deviation. Our GUI will automate these tasks. Using the GUIDE tool, we build the interface (Figure 3).


Figure 3. Left: Interface built using GUIDE. Right: The same interface running an application.

GUIDE uses a drag-and-drop approach, enabling you to build GUIs through a menu of GUI items, such as push buttons, text boxes, and graphs. We link GUI controls to the underlying MATLAB code via callback functions. For example, when the user clicks Update to update the graph, the application calls the following callback function. Note that the graphs include variation with time and histograms.
% --- Executes on button press in UpdateGraphs.
function UpdateGraphs_Callback(hObject, eventdata, handles)
axes(handles.axes1);
cla;
popup_sel_index = get(handles.popupmenu1, 'Value');
switch popup_sel_index
case 1
plot(handles.max_output);
case 2
hist(handles.max_output);
case 3
plot(handles.min_output);
case 4
hist(handles.min_output);
case 5
plot(handles.evm);
case 6
hist(handles.evm);
case 7
plot(handles.receive_sens);
case 8
hist(handles.receive_sens);
case 9
plot(handles.acs);
case 10
hist(handles.acs);
case 11
plot(handles.spurious_emi);
case 12
hist(handles.spurious_emi);
end

The underlying code could be any MATLAB code; for example, it could be code for controlling instruments, analyzing data, or drawing graphs.

Selecting buttons on the GUI activates the underlying code. For example, when the user clicks Browse, a dialog box opens to locate the data file. When the user selects Run analysis, the underlying code calculates statistics for each measured parameter and displays the results in a dialog box.





Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)