function filt=LCGT_ASCfilterbank(freq,modelName) % filter bank for LCGT ASC (internal function of LCGT_ASCnoise.m) % needs (1) filterdesign.m for designing filters % Author: Yuta Michimura modelName=strrep(modelName, '-BRSE-', '-'); modelName=strrep(modelName, '-DRSE-', '-'); if strfind(modelName,'bLCGT-positive-pitch')>0 %%%%%%%%% bLCGT positive g-factor %%%%%%%%%% % freq Q ZQ=[0.04 1 0.4805 50 30 1]; PQ=[0.005 1 0.025 0 0.15 0.8 0.2 1.2 0.3 3 0.3416 50]; filt.FS=filterdesign(freq,ZQ,PQ,0.04); ZQ=[0.04 1 0.8202 50 30 1]; PQ=[0.005 1 0.025 0 0.15 0.8 0.2 1.2 0.3 3 0.3416 50]; filt.FH=filterdesign(freq,ZQ,PQ,0.03); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FBS=filterdesign(freq,ZQ,PQ,70); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FPRC=filterdesign(freq,ZQ,PQ,70); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FSRC=filterdesign(freq,ZQ,PQ,70); elseif strfind(modelName,'bLCGT-positive-yaw')>0 %%%%%%%%% bLCGT positive g-factor yaw %%%%%%%%%% % freq Q ZQ=[1 0 1 0 0.15 10 0.87 10]; PQ=[0.01 0 0.02 10 0.34 10 10 1 14 2 20 5]; filt.FS=filterdesign(freq,ZQ,PQ,1e12); ZQ=[0.13 40 3 400 1.653 400 1 0 30 10 40 10]; PQ=[0.05 10 0.3323 400 1.779 400 5 1 7 3 10 5]; filt.FH=filterdesign(freq,ZQ,PQ,4); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FBS=filterdesign(freq,ZQ,PQ,20e-5); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FPRC=filterdesign(freq,ZQ,PQ,20e-5); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FSRC=filterdesign(freq,ZQ,PQ,20e-5); elseif strfind(modelName,'bLCGT-negative-pitch')>0 %%%%%%%%% bLCGT negative g-factor pitch %%%%%%%%%% % freq Q ZQ=[0.04 1 0.4805 50 30 1]; PQ=[0.005 1 0.025 0 0.15 0.8 0.2 1.2 0.3 3 0.3416 50]; filt.FS=filterdesign(freq,ZQ,PQ,0.04); ZQ=[0.04 1 0.8202 50 30 1]; PQ=[0.005 1 0.025 0 0.15 0.8 0.2 1.2 0.3 3 0.3416 50]; filt.FH=filterdesign(freq,ZQ,PQ,0.03); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FBS=filterdesign(freq,ZQ,PQ,70); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FPRC=filterdesign(freq,ZQ,PQ,70); ZQ=[0.4674 400]; PQ=[0.01 0 0.2 1 0.3 3 0.5 5 0.494 400]; filt.FSRC=filterdesign(freq,ZQ,PQ,70); elseif strfind(modelName,'bLCGT-negative-yaw')>0 %%%%%%%%% bLCGT negative g-factor yaw %%%%%%%%%% % freq Q ZQ=[0.0743 10 1.8 10 1.362 400 0.2277 400 0.1 0 0.1 1 30 10 40 10]; PQ=[0.022 10 0.05 10 0.0796 400 1.796 400 0.3385 400 5 1 7 2 10 5]; filt.FS=filterdesign(freq,ZQ,PQ,4); ZQ=[0.13 40 3 400 1.653 400 1 0 30 10 40 10]; PQ=[0.05 10 0.3323 400 1.779 400 5 1 7 3 10 5]; filt.FH=filterdesign(freq,ZQ,PQ,4); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FBS=filterdesign(freq,ZQ,PQ,20e-5); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FPRC=filterdesign(freq,ZQ,PQ,20e-5); ZQ=[0.01 10 0.01 10 0.01 10 3 10 4 10]; PQ=[0.027 10 0.036 20 0.038 20 0.005 0 0.2 1 0.3 3 0.5 5]; filt.FSRC=filterdesign(freq,ZQ,PQ,20e-5); elseif strfind(modelName,'iLCGT')>0 %%%%%%%%% iLCGT (positive g-factor) %%%%%%%%%% ZQ=[0.1 0 0.2 1 0.5 1 1 3 30 3]; PQ=[0.02 1 0.2 3 0.3 3 4 1 8 5]; filt.FS=filterdesign(freq,ZQ,PQ,20); filt.FH=filterdesign(freq,ZQ,PQ,20); ZQ=[0.1 0 0.4 1 1.5 3 30 3]; PQ=[0.02 1 0.3 3 5 1 8 5]; filt.FBS=filterdesign(freq,ZQ,PQ,200); ZQ=[0.1 0 0.4 1 1.5 3 30 3]; PQ=[0.02 1 0.3 3 5 1 8 5]; filt.FPRC=filterdesign(freq,ZQ,PQ,20); ZQ=[0.1 0 0.4 1 1.5 3 30 3]; PQ=[0.02 1 0.3 3 5 1 8 5]; filt.FSRC=filterdesign(freq,ZQ,PQ,20); end