Creation of an Ideal Lowpass filter.

9 次查看(过去 30 天)
So for an exercise where you have to create an ideal filter an example was given to start you up, the problem with this exercise is that the creation of this filter almost seems impossible. First I will display the code
PQ=2*size(MRI);
[U,V]=dftuv(PQ(1),PQ(2));
D=sqrt(U.^2+V.^2);
D0=0.05*PQ(2);
F=fft2(MRI,PQ(1),PQ(2));
HidealH=piecewise(D<=D0,1,D>D0,0)
Here is the function dftuv given by.
function [U, V]=dftuv(M,N);
u=0:(M-1); v=0:(N-1);
idx=find(u>M/2); u(idx)=u(idx)-M;
idy=find(v>N/2); v(idy)=v(idy)-N;
[U, V]=meshgrid(v,u);
end
The problem lies in the HidealH part as that does not seem to work,nor I have no clue how to fix it. You are comparing D0 which is just a single value to D which is a matrix of MxN size, the piecewise function does not work here and I have no clue how to fix it so that for values of D<=D0 it becomes 1 and else it become 0.
If somebody could point me in the right direction I would be eternally gratefull.

回答(1 个)

Tim van Schaik
Tim van Schaik 2021-5-4
Here the live workspace is attached

类别

Help CenterFile Exchange 中查找有关 Digital Filter Analysis 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by