Code For SSP
Code For SSP
% singleton*.
% existing singleton*. Starting from the left, property value pairs are
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
gui_Singleton = 1;
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
else
gui_mainfcn(gui_State, varargin{:});
end
global C;
C=ones(1,5);
axes(handles.axes);
xlabel('Time');
ylabel('Magnitude');
axes(handles.axes8);
title('Input Signal');
xlabel('Frequency')
ylabel('Magnitude');
axes(handles.axes7);
title('Output Signal');
xlabel('Frequency');
ylabel('Magnitude');
set(handles.slider1,'min',-20);
set(handles.slider1,'max',20);
set(handles.slider1,'value',1);
set(handles.slider1,'SliderStep',[0.025,0.05]);
set(handles.edit3,'string',num2str(1));
set(handles.slider6,'min',-20);
set(handles.slider6,'max',20);
set(handles.slider6,'value',1);
set(handles.slider6,'SliderStep',[0.025,0.05]);
set(handles.edit4,'string',num2str(1));
set(handles.slider7,'min',-20);
set(handles.slider7,'max',20);
set(handles.slider7,'value',1);
set(handles.slider7,'SliderStep',[0.025,0.05]);
set(handles.edit5,'string',num2str(1));
set(handles.slider8,'min',-20);
set(handles.slider8,'max',20);
set(handles.slider8,'value',1);
set(handles.slider8,'SliderStep',[0.025,0.05]);
set(handles.edit6,'string',num2str(1));
set(handles.slider9,'min',-20);
set(handles.slider9,'max',20);
set(handles.slider9,'value',1);
set(handles.slider9,'SliderStep',[0.025,0.05]);
set(handles.edit7,'string',num2str(1));
handles.output = hObject;
guidata(hObject, handles);
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
varargout{1} = handles.output;
% --- Executes on key press with focus on pushbutton1 and none of its controls.
global filename;
global y2;
global y3;
global y4;
global y5;
global y6;
global Fs;
global X;
set(handles.edit9,'string',filename);
[X,Fs]=audioread(filename);
h2=fir1(100,250/Fs,'low');
h3=fir1(100,[250/Fs 500/Fs],'bandpass');
h4=fir1(100,[500/Fs 2000/Fs],'bandpass');
h5=fir1(100,[2000/Fs 4000/Fs],'bandpass');
h6=fir1(100,4000/Fs,'high');
y2=filter(h2,1,X);
y3=filter(h3,1,X);
y4=filter(h4,1,X);
y5=filter(h5,1,X);
y6=filter(h6,1,X);
if isequal([filename,pathname],[0,0])
return
% Otherwise construct the fullfilename and Check and load the file.
else
File = fullfile(pathname,filename)
handles.play=File
%guidata(hObject,handles);
end
global filename;
global player;
global y;
global C;
global y2;
global y3;
global y4;
global y5;
global y6;
global X;
[X,Fs]=audioread(filename);
y=y2*C(1)+y3*C(2)+y4*C(3)+y5*C(4)+y6*C(5);
player = audioplayer(y,Fs);
play(player)
global player;
pause(player)
global player;
resume(player)
global player;
stop(player)
global C;
C(1)=get(hObject,'value');
set(handles.edit3,'string',num2str(C(1)));
% handles empty - handles not created until after all CreateFcns called
%gain2=get(hObject,'value');
%set(handles.slider1,'String',num2str(gain2));
% set(handles.slider1,'Min',f(1));
% set(handles.slider1,'Max',f(501));
% set(handles.slider1,'SliderStep',[1/501,10/501]);
% a=get(handles.slider1,'Value');
% set(handles.text1,'string',num2str(a));
% guidata(hObject,handles);
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
global C;
C(2)=get(hObject,'value');
set(handles.edit4,'string',num2str(C(2)));
% --- Executes during object creation, after setting all properties.
% handles empty - handles not created until after all CreateFcns called
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
global C;
C(3)=get(hObject,'value');
set(handles.edit5,'string',num2str(C(3)));
% handles empty - handles not created until after all CreateFcns called
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
global C;
C(4)=get(hObject,'value');
set(handles.edit6,'string',num2str(C(4)));
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
global C;
C(5)=get(hObject,'value');
set(handles.edit7,'string',num2str(C(5)));
% handles empty - handles not created until after all CreateFcns called
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function edit3_Callback(hObject, eventdata, handles)
global C;
C(1)=str2num(get(hObject,'string'));
minn=get(handles.slider1,'min');
maxx=get(handles.slider1,'max');
if(C(1)<minn || C(1)>maxx)
C(1)=get(handles.slider1,'value');
set(hObject,'string',num2str(0));
else
set(handles.slider1,'value',C(1));
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global C;
C(2)=str2num(get(hObject,'string'));
minn=get(handles.slider6,'min');
maxx=get(handles.slider6,'max');
if(C(2)<minn || C(2)>maxx)
C(2)=get(handles.slider6,'value');
set(hObject,'string',num2str(0));
else
set(handles.slider6,'value',C(2));
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global C;
C(3)=str2num(get(hObject,'string'));
minn=get(handles.slider7,'min');
maxx=get(handles.slider7,'max');
if(C(3)<minn || C(3)>maxx)
C(3)=get(handles.slider7,'value');
set(hObject,'string',num2str(0));
else
set(handles.slider7,'value',C(3));
end
% --- Executes during object creation, after setting all properties.
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global C;
C(4)=str2num(get(hObject,'string'));
minn=get(handles.slider8,'min');
maxx=get(handles.slider8,'max');
if(C(4)<minn || C(4)>maxx)
C(4)=get(handles.slider8,'value');
set(hObject,'string',num2str(0));
else
set(handles.slider8,'value',C(4));
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global C;
C(5)=str2num(get(hObject,'string'));
minn=get(handles.slider9,'min');
maxx=get(handles.slider9,'max');
if(C(5)<minn || C(5)>maxx)
C(5)=get(handles.slider9,'value');
set(hObject,'string',num2str(0));
else
set(handles.slider9,'value',C(5));
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global C;
global y2;
global y3;
global y4;
global y5;
global y6;
global y;
y=y2*C(1)+y3*C(2)+y4*C(3)+y5*C(4)+y6*C(5);
% if(C(1)||C(2)||C(3)C(4)||C(5)==0
axes(handles.axes);
plot(y);
xlabel('Time');
ylabel('Magnitude');
global filename;
set(hObject,'string',filename);
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
set(hObject,'BackgroundColor','white');
end
set(hObject,'BackgroundColor','white');
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
% handles empty - handles not created until after all CreateFcns called
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
% handles empty - handles not created until after all CreateFcns called
set(hObject,'BackgroundColor','white');
end
global filename;
%global y;
global C;
global y2;
global y3;
global y4;
global y5;
global y6;
y=y2*C(1)+y3*C(2)+y4*C(3)+y5*C(4)+y6*C(5);
%out=y;
v=get(handles.popupmenu5,'Value');
% if v==1
% out=0;
if v==2
out=y2;
elseif v==3
out=y3;
elseif v==4
out=y4;
elseif v==5
out=y5;
elseif v==6
out=y6;
end
fs= 1000;
t=(0:1/fs:1);
fc=100;
sinwav1= sin(2*pi*t);
amwav=ammod(sinwav1,fc,fs);
[X,Fs]=audioread(filename);
nf=44100;
F=fft(y,nf);
f=Fs/2*linspace(0,1,nf/2+1);
axes(handles.axes8);
plot(f,abs(F(1:nf/2+1)))
title('Input Signal');
xlabel('Frequency');
ylabel('Magnitude');
axis tight;
zoom xon;
Z=fft(out,nf);
axes(handles.axes7);
plot(f,abs(Z(1:nf/2+1)))
title('Output Signal');
xlabel('Frequency');
ylabel('Magnitude');
axis tight;
zoom xon;
delete(hObject);
% --- Executes on button press in pushbutton10.
run About;