⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filtool.m

📁 美国德克萨斯州大学电子工程系开发的一套进行语音分析的MATLAB程序. A MATLAB software tool for speech analysis.
💻 M
字号:
function filtool

% Copyright (c) 1995 Philipos C. Loizou

global nChannels filename bvi avi Srate 
global HDRSIZE S0 S1  En Be Dur n_Secs MAX_AM fno
global HDRSIZE2 Srate2 n_Secs2 filename2 TOP TWOFILES agcsc2
global filtFig lpfF lpfN fcLPF nuLPF hpfF hpfN fcHPF nuHPF
global bpfF1 bpfF2 bpfN fc1BPF fc2BPF nuBPF filtFig


pos = get(0, 'screensize');

wi=356; 
he=210; 
xpos=(pos(3)-wi)/2; 
ypos=(pos(4)-he)/2;

if isempty(filtFig)
	filtFig = figure('Units', 'pixels', 'Position', [xpos ypos wi he],...
	'Menubar','none','NumberTitle','off','Name',...
	'Filter Tool');
else
	figure(filtFig);
	if ~isempty(lpfF); return; end;
end

%---------------- Initialize  default cutoff frequencies, number of coeffs, etc-----
if isempty(fcLPF)
	fcLPF=1000;
	nuLPF=4;
	fcHPF=1000;
	nuHPF=4;
	fc1BPF=100;
	fc2BPF=1000;
	nuBPF=3;
end

%---------------- Define the buttons for Low-Pass Filter-----------------------
dp=35; 
top=165; 
inc=30;
lft=dp;
wit=65; 

uicontrol('Style','Text','String','Low Pass','Position',[lft+12 he-15 wit 27],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','r');

uicontrol('Style','Text','String','Cut-off','Position',[3 top lft+7 20],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','y');
lpfF=uicontrol('Style','edit','String',int2str(fcLPF),'Position',[lft+12 top wit 20],...
	'Callback','filtpar(''LPF'',''freq'')','BackgroundColor',[1 1 1]);
top=top-inc;
uicontrol('Style','Text','String','Order','Position',[3 top lft 20],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','y');
lpfN=uicontrol('Style','edit','String',int2str(nuLPF),'Position',[lft+12 top wit 20],...
	'Callback','filtpar(''LPF'',''coeff'')','BackgroundColor',[1 1 1]);
lft=lft+12;
top=top-inc;
uicontrol('Style','pushb','String','View filter','Position',[lft-10 top wit+15 20],...
	'Callback','apfilter(''LPF'',''view'')');
top=top-inc;
uicontrol('Style','pushb','String','Apply filter','Position',[lft-10 top wit+15 20],...
	'Callback','apfilter(''LPF'',''apply'')');


%---------------- Define the buttons for High-Pass Filter-----------------------
top=he-dp-10;
inc=30;
lft=lft-10+wit+15+3;

uicontrol('Style','Text','String','High Pass','Position',[lft he-15 wit+7 27],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','r','HorizontalALignment','left');


hpfF=uicontrol('Style','edit','String',int2str(fcHPF),'Position',[lft top wit 20],...
	'Callback','filtpar(''HPF'',''freq'')','BackgroundColor',[1 1 1]);
top=top-inc;

hpfN=uicontrol('Style','edit','String',int2str(nuHPF),'Position',[lft top wit 20],...
	'Callback','filtpar(''HPF'',''coeff'')','BackgroundColor',[1 1 1]);
top=top-inc;
uicontrol('Style','pushb','String','View filter','Position',[lft top wit+10 20],...
	'Callback','apfilter(''HPF'',''view'')');
top=top-inc;
uicontrol('Style','pushb','String','Apply filter','Position',[lft top wit+15 20],...
	'Callback','apfilter(''HPF'',''apply'')');
 
top=top-inc;

%---Draw the close button-----------
uicontrol('Style','pushb','String','CLOSE','Position',[lft-5 5 wit+18 20],...
	'Callback','closem(''filtFig'')');

uicontrol('Style','pushb','String','Help','Position',[lft-5+wit+25 5 wit+18 20],...
	'Callback','helpf(''filtool'')');

%------------ Define the buttons for Band-Pass Filter-----------------------
top=he-dp-10;
inc=30;
lft=lft+wit+15;

h=uicontrol('Style','Frame','Position',[lft top-4*inc wi-lft+10 he-3]);
uicontrol('Style','Text','String','Low','Position',[lft top wit-5 20],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','y');
uicontrol('Style','Text','String','High','Position',[lft top-inc wit-5 20],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','y');
uicontrol('Style','Text','String','Order','Position',[lft top-2*inc wit-5 20],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','y');
lft=lft+wit-5+1;
uicontrol('Style','Text','String','Band Pass','Position',[lft-25 he-15 wit+10 27],'BackgroundColor',...
	 [0 0 0],'ForeGroundColor','r');

bpfF1=uicontrol('Style','edit','String',int2str(fc1BPF),'Position',[lft top wit 20],...
	'Callback','filtpar(''BPF'',''freq1'')','BackgroundColor',[1 1 1]);
top=top-inc;
bpfF2=uicontrol('Style','edit','String',int2str(fc2BPF),'Position',[lft top wit 20],...
	'Callback','filtpar(''BPF'',''freq2'')','BackgroundColor',[1 1 1]);
top=top-inc;

bpfN=uicontrol('Style','edit','String',int2str(nuBPF),'Position',[lft top wit 20],...
	'Callback','filtpar(''BPF'',''coeff'')','BackgroundColor',[1 1 1]);
top=top-inc;
uicontrol('Style','pushb','String','View filter','Position',[lft-5 top wit+18 20],...
	'Callback','apfilter(''BPF'',''view'')');
top=top-inc;
uicontrol('Style','pushb','String','Apply filter','Position',[lft-5 top wit+18 20],...
	'Callback','apfilter(''BPF'',''apply'')');


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -