Effacer les filtres
Effacer les filtres

Two Dimensional Filter Design From One Dimensional Prototype Filter Rotation

1 vue (au cours des 30 derniers jours)
MFK
MFK le 17 Nov 2021
Modifié(e) : MFK le 17 Nov 2021
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.

Réponses (0)

Catégories

En savoir plus sur Filter Banks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by