@@ -109,32 +109,30 @@ function Apply_Callback(hObject, eventdata, handles)
109109 mse = mseProject(s ,qss );
110110 min_b = 1 ;
111111 for b= 2 : 1 : 16 ,
112- l = bitBudget / b ;
113- if mod(bitBudget / b ,1 )~=0 ,
114- l = floor(bitBudget / b );
115- end
116- if mseProject(s ,sampleAndQuantize(s ,bitBudget / b ,b ))<mse ,
117- qss = sampleAndQuantize(s ,bitBudget / b ,b );
118- mse = mseProject(s ,qss );
119- min_b = b ;
120- end
112+ tempQss = sampleAndQuantize(s ,floor(bitBudget / b ),b );
113+ tempMse = mseProject(s ,tempQss );
114+ if tempMse < mse ,
115+ qss = tempQss ;
116+ mse = tempMse ;
117+ min_b = b ;
118+ end
121119 end
122120 if str{val } == ' Function - 1'
123- bitBudget = str2double(get(handles .bit_budget ,' String' ));
124- bOptimal = 2 * log2((4 * bitBudget *(log(2 )))/(3 * pi * Omega *(4 * pi * Omega + sin(4 * pi * Omega + 2 * Phi )-sin(2 * Phi ))));
125- nOptimal = bitBudget / bOptimal ;
126- set(handles .bM ,' String' ,bOptimal );
127- set(handles .nM ,' String' ,nOptimal );
121+ bitBudget = str2double(get(handles .bit_budget ,' String' ));
122+ bOptimal = 2 * log2((4 * bitBudget *(log(2 )))/(3 * pi * Omega *(4 * pi * Omega + sin(4 * pi * Omega + 2 * Phi )-sin(2 * Phi ))));
123+ nOptimal = bitBudget / bOptimal ;
124+ set(handles .bM ,' String' ,bOptimal );
125+ set(handles .nM ,' String' ,nOptimal );
128126 end
129- end
127+ end
130128end
131- plot(handles .axes1 ,t_grid ,s );
132- plot(handles .axes2 ,0 : (1 /(floor(bitBudget / min_b )-1 )): 1 ,qss );
133- set(handles .mseT ,' String' ,mseProject(s ,qss ));
134- set(handles .b_info ,' String' ,min_b );
135- set(handles .n_info ,' String' ,floor(bitBudget / min_b ));
129+ plot(handles .axes1 ,t_grid ,s );
130+ plot(handles .axes2 ,0 : (1 /(floor(bitBudget / min_b )-1 )): 1 ,qss );
131+ set(handles .mseT ,' String' ,mseProject(s ,qss ));
132+ set(handles .b_info ,' String' ,min_b );
133+ set(handles .n_info ,' String' ,floor(bitBudget / min_b ));
134+
136135
137-
138136% --- Executes on selection change in FunctionsMenu.
139137function FunctionsMenu_Callback(hObject , eventdata , handles )
140138set(handles .A ,' visible' ,' on' );
@@ -274,40 +272,40 @@ function SSQ_Callback(hObject, eventdata, handles)
274272 qss = sampleAndQuantize(s ,bitBudget ,1 );
275273 mse = mseProject(s ,qss );
276274 for b= 2 : 1 : 8 ,
277- l = bitBudget / b ;
275+ l = bitBudget / b ;
278276 if mod(bitBudget / b ,1 )~=0 ,
279277 l = floor(bitBudget / b );
280- end
281- if mseProject(s ,sampleAndQuantize(s ,bitBudget / b ,b ))<mse ,
282- qss = sampleAndQuantize(s ,bitBudget / b ,b );
283- mse = mseProject(s ,qss );
284- end
285- end
286- end
278+ end
279+ if mseProject(s ,sampleAndQuantize(s ,bitBudget / b ,b ))<mse ,
280+ qss = sampleAndQuantize(s ,bitBudget / b ,b );
281+ mse = mseProject(s ,qss );
282+ end
283+ end
284+ end
287285end
288286if ~strcmp(str{val },' Please Select a Function' ),
289- % qss = decompress_1d(qss,numel(t_grid));
287+ % qss = decompress_1d(qss,numel(t_grid));
290288 sound(qss ,25000 );
291289end
292290
293291% --- Executes on button press in specific_values.
294292function specific_values_Callback(hObject , eventdata , handles )
295- set(handles .N ,' visible' ,' on' );
296- set(handles .N_t ,' visible' ,' on' );
297- set(handles .b ,' visible' ,' on' );
298- set(handles .b_t ,' visible' ,' on' );
299- set(handles .bit_budget ,' visible' ,' off' );
300- set(handles .bit_budget_t ,' visible' ,' off' );
293+ set(handles .N ,' visible' ,' on' );
294+ set(handles .N_t ,' visible' ,' on' );
295+ set(handles .b ,' visible' ,' on' );
296+ set(handles .b_t ,' visible' ,' on' );
297+ set(handles .bit_budget ,' visible' ,' off' );
298+ set(handles .bit_budget_t ,' visible' ,' off' );
301299
302300
303301% --- Executes on button press in best_values.
304302function best_values_Callback(hObject , eventdata , handles )
305- set(handles .N ,' visible' ,' off' );
306- set(handles .N_t ,' visible' ,' off' );
307- set(handles .b ,' visible' ,' off' );
308- set(handles .b_t ,' visible' ,' off' );
309- set(handles .bit_budget ,' visible' ,' on' );
310- set(handles .bit_budget_t ,' visible' ,' on' );
303+ set(handles .N ,' visible' ,' off' );
304+ set(handles .N_t ,' visible' ,' off' );
305+ set(handles .b ,' visible' ,' off' );
306+ set(handles .b_t ,' visible' ,' off' );
307+ set(handles .bit_budget ,' visible' ,' on' );
308+ set(handles .bit_budget_t ,' visible' ,' on' );
311309% My Own Functions
312310
313311% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 commit comments