gusucode.com > 基于MATLAB实现的两个语音的盲信号分离(BSS)程序源码 > 利用MATLAB实现的两个语音的盲信号分离(BSS)/code/BSS.m
function varargout = BSS(varargin) % BSS M-file for BSS.fig % BSS, by itself, creates a new BSS or raises the existing % singleton*. % % H = BSS returns the handle to a new BSS or the handle to % the existing singleton*. % % BSS('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in BSS.M with the given input arguments. % % BSS('Property','Value',...) creates a new BSS or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before BSS_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to BSS_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help BSS % Last Modified by GUIDE v2.5 22-Mar-2010 18:06:14 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @BSS_OpeningFcn, ... 'gui_OutputFcn', @BSS_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before BSS is made visible. function BSS_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to BSS (see VARARGIN) % Choose default command line output for BSS handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes BSS wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = BSS_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global L; L=wavread('1.wav'); figure;plot(L); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global H; H=wavread('2.wav'); figure;plot(H); % --- Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of radiobutton1 global A; global B; global ans1; A=wavread('1.wav'); B=wavread('2.wav'); ans1=jadeR([transpose(A);transpose(B)],4); ans1 % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global C; global ans1; global A; global B; global D; C=ans1*[transpose(A);transpose(B)]; D=C(1:2,:); figure;plot(transpose(D)) % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global C; global ans1; global A; global B; global E; C=ans1*[transpose(A);transpose(B)]; E=C(3:4,:); figure;plot(transpose(E))