Skip to content

Commit 0a67c26

Browse files
committed
hoping this works
1 parent 78a67cb commit 0a67c26

1 file changed

Lines changed: 23 additions & 83 deletions

File tree

gui.m

Lines changed: 23 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ function gui_OpeningFcn(hObject, eventdata, handles, varargin)
3535
varargout{1} = handles.output;
3636

3737
function initialize_gui(fig_handle, handles, isreset)
38+
global s qss;
39+
s = NaN;
40+
qss = NaN;
3841
set(handles.A,'String','');
3942
set(handles.Omega,'String','');
4043
set(handles.Phi,'String','');
@@ -77,6 +80,7 @@ function Clear_Callback(hObject, eventdata, handles)
7780

7881
% --- Executes on button press Apply.
7982
function Apply_Callback(hObject, eventdata, handles)
83+
global s qss;
8084
t_grid = 0:0.00001:1;
8185
A = str2double(get(handles.A,'String'));
8286
Omega = str2double(get(handles.Omega,'String'));
@@ -108,17 +112,17 @@ function Apply_Callback(hObject, eventdata, handles)
108112
end
109113
if get(handles.best_values,'Value')==1,
110114
bitBudget = str2double(get(handles.bit_budget,'String'));
111-
switch str{val};
115+
switch str{val};
112116
case 'Function - 1'
113117
[bNumerical,NNumerical,mseNumerical] = func1Numerically(Omega,Phi,A,bitBudget);
114118
case 'Function - 2'
115-
[bNumerical,NNumerical,mseNumerical] = func2Numerically(Omega,Phi,A,bitBudget);
119+
[bNumerical,NNumerical,mseNumerical] = func2Numerically(Omega,Phi,A,bitBudget);
116120
case 'Function - 3'
117-
[bNumerical,NNumerical,mseNumerical] = func3Numerically(Omega,Phi,A,Alpha,bitBudget);
121+
[bNumerical,NNumerical,mseNumerical] = func3Numerically(Omega,Phi,A,Alpha,bitBudget);
118122
case 'Function - 4'
119-
[bNumerical,NNumerical,mseNumerical] = func4Numerically(Omega,Phi,A,Alpha,bitBudget);
123+
[bNumerical,NNumerical,mseNumerical] = func4Numerically(Omega,Phi,A,Alpha,bitBudget);
120124
case 'Function - 5'
121-
[bNumerical,NNumerical,mseNumerical] = func5Numerically(Omega,Phi,A,Alpha,Beta,bitBudget);
125+
[bNumerical,NNumerical,mseNumerical] = func5Numerically(Omega,Phi,A,Alpha,Beta,bitBudget);
122126
end
123127
qss = sampleAndQuantize(s,bitBudget,1);
124128
mse = mseProject(s,qss);
@@ -132,17 +136,18 @@ function Apply_Callback(hObject, eventdata, handles)
132136
min_b = b;
133137
end
134138
end
135-
set(handles.bM,'String',bNumerical);
136-
set(handles.nM,'String',NNumerical);
137-
set(handles.MSEM,'String',mseNumerical);
138-
end
139+
set(handles.bM,'String',bNumerical);
140+
set(handles.nM,'String',NNumerical);
141+
set(handles.MSEM,'String',mseNumerical);
139142
end
140-
plot(handles.axes1,t_grid,s);
141-
plot(handles.axes2,0:(1/(floor(bitBudget/min_b)-1)):1,qss);
143+
qss = decompress_1d(qss,numel(t_grid));
144+
plot(handles.axes1,t_grid,s);
145+
plot(handles.axes2,t_grid,qss);
146+
set(handles.mseT,'String',mseProject(s,qss));
147+
set(handles.b_info,'String',min_b);
148+
set(handles.n_info,'String',floor(bitBudget/min_b));
149+
end
142150

143-
set(handles.mseT,'String',mseProject(s,qss));
144-
set(handles.b_info,'String',min_b);
145-
set(handles.n_info,'String',floor(bitBudget/min_b));
146151

147152

148153
% --- Executes on selection change in FunctionsMenu.
@@ -229,81 +234,16 @@ function FunctionsMenu_Callback(hObject, eventdata, handles)
229234

230235
% --- Executes on button press in playS.
231236
function playS_Callback(hObject, eventdata, handles)
232-
t_grid = 0:0.00001:1;
233-
A = str2double(get(handles.A,'String'));
234-
Omega = str2double(get(handles.Omega,'String'));
235-
Phi = str2double(get(handles.Phi,'String'));
236-
Alpha = str2double(get(handles.Alpha,'String'));
237-
Beta = str2double(get(handles.Beta,'String'));
238-
N = str2double(get(handles.N,'String'));
239-
b = str2double(get(handles.b,'String'));
240-
str =get(handles.FunctionsMenu,'String');
241-
val =get(handles.FunctionsMenu,'Value');
242-
switch str{val};
243-
case 'Function - 1'
244-
s = s1(A,Omega,Phi,t_grid);
245-
case 'Function - 2'
246-
s = s2(A,Omega,Phi,t_grid);
247-
case 'Function - 3'
248-
s = s3(A,Omega,Alpha,Phi,t_grid);
249-
case 'Function - 4'
250-
s = s4(A,Omega,Alpha,Phi,t_grid);
251-
case 'Function - 5'
252-
s = s5(A,Beta,Omega,Alpha,Phi,t_grid);
253-
end
254-
if ~strcmp(str{val},'Please Select a Function'),
237+
global s;
238+
if ~isnan(s),
255239
sound(s,25000);
256240
end
257241

258242

259-
260243
% --- Executes on button press in SSQ.
261244
function SSQ_Callback(hObject, eventdata, handles)
262-
t_grid = 0:0.00001:1;
263-
A = str2double(get(handles.A,'String'));
264-
Omega = str2double(get(handles.Omega,'String'));
265-
Phi = str2double(get(handles.Phi,'String'));
266-
Alpha = str2double(get(handles.Alpha,'String'));
267-
Beta = str2double(get(handles.Beta,'String'));
268-
N = str2double(get(handles.N,'String'));
269-
b = str2double(get(handles.b,'String'));
270-
str =get(handles.FunctionsMenu,'String');
271-
val =get(handles.FunctionsMenu,'Value');
272-
switch str{val};
273-
case 'Function - 1'
274-
s = s1(A,Omega,Phi,t_grid);
275-
case 'Function - 2'
276-
s = s2(A,Omega,Phi,t_grid);
277-
case 'Function - 3'
278-
s = s3(A,Omega,Alpha,Phi,t_grid);
279-
case 'Function - 4'
280-
s = s4(A,Omega,Alpha,Phi,t_grid);
281-
case 'Function - 5'
282-
s = s5(A,Beta,Omega,Alpha,Phi,t_grid);
283-
end
284-
if ~strcmp(str{val},'Please Select a Function'),
285-
if get(handles.specific_values,'Value')==1,
286-
bitBudget = N*b;
287-
qss = sampleAndQuantize(s,N,b);
288-
end
289-
if get(handles.best_values,'Value')==1,
290-
bitBudget = str2double(get(handles.bit_budget,'String'));
291-
qss = sampleAndQuantize(s,bitBudget,1);
292-
mse = mseProject(s,qss);
293-
for b=2:1:8,
294-
l = bitBudget/b;
295-
if mod(bitBudget/b,1)~=0,
296-
l = floor(bitBudget/b);
297-
end
298-
if mseProject(s,sampleAndQuantize(s,bitBudget/b,b))<mse,
299-
qss = sampleAndQuantize(s,bitBudget/b,b);
300-
mse = mseProject(s,qss);
301-
end
302-
end
303-
end
304-
end
305-
if ~strcmp(str{val},'Please Select a Function'),
306-
% qss = decompress_1d(qss,numel(t_grid));
245+
global qss;
246+
if ~isnan(qss),
307247
sound(qss,25000);
308248
end
309249

0 commit comments

Comments
 (0)