Two Dimensional Filter Design From One Dimensional Prototype Filter Rotation

1 次查看(过去 30 天)
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