필터 지우기
필터 지우기

Two Dimensional Filter Design From One Dimensional Prototype Filter Rotation

조회 수: 1 (최근 30일)
MFK
MFK 2021년 11월 17일
편집: MFK 2021년 11월 17일
I designed an one dimensional filter and it's coefficients (c_estimated) are below.
c_estimated=[-0.0122879538101070,-0.00936229970020011,-0.00533047175279384,-0.000879240291169325,0.00442937840660125,0.0100103547115524,0.0154584938349991,0.0167766116340094,0.0191819943698554,0.0176610078539290,0.0134142321969706,0.00738896103686041,4.78621117449734e-06,-0.00772157595624712,-0.0154347847351846,-0.0197808870552875,-0.0263928918670513,-0.0273375787436225,-0.0233470415500297,-0.0170161782790395,-0.00754797342458864,0.00285659633541593,0.0147348228320903,0.0242369753090141,0.0368617303382725,0.0434986249766230,0.0434671612024621,0.0382913985317041,0.0288908273136430,0.0150280740481253,-0.00283379591508635,-0.0227413540011186,-0.0483224283910802,-0.0701072149732580,-0.0884040352627693,-0.103554572311423,-0.113759407155347,-0.118674284825946,-0.117305705133992,-0.112030561859145,-0.0985998030610725,-0.0848482759616751,-0.0690582961602349,-0.0516352181816368,-0.0351498851798397,-0.0204613014255703,-0.0100583312660474,-0.000275550678307800,0.00339070217939305];
[h,w]=freqz(c_estimated,1,1024);
w=w/pi;
h=abs(h);
figure,plot(w,h);
title('Frequency Response of Prototype Filter');
figure,plot(w,mag2db(h));
title('Frequency Response in dB of Prototype Filter');
After that I modulated this filter coeffients with below code and create a 4 channel filter bank;
wp=0.1250; %pass band normalized frequency
M=4; %filter bank channel number
N=49; %coefficient size
x_coeff(1,:)=c_estimated.*exp(j*2*(wp/2)*pi*(1:N));
x1_coeff(1,:)=x_coeff;
[hxx(:,1),wxx(:,1)]=freqz(x_coeff,1,1024);
for i=1:M-1
x1_coeff(i+1,:)=x_coeff.*exp(j*2*wp*i*pi*(1:N));
[hxx(:,i+1),wxx(:,i+1)]=freqz(x1_coeff(i+1,:),1,1024);
end
wxx=wxx/pi;
hxx=abs(hxx);
figure,plot(wxx,hxx);
title('Frequency Response')
figure,plot(wxx,mag2db(hxx));
title('Frequency Response in dB')
Now I want to rotate this filter channels seperately around vertical axis and get a 2 dimensional circularly symmetric filter frequency responses. As a result I want to get circularly symmetric low pass from channel 1, circularly symmetric band pass filters from channel 2 and 3, circularly symmetric high pass filter from channel 4. But I'm stuck and do not know what to do. What am I supposed to do? Thanks for all your help.
Regards.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Filter Banks에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by