我需要你的帮助来回答有关 iradon 过滤器设计的问题。实际上,在视线投影(光束偏转(中,与其他技术(如吸收(相反,ram lak滤波器被另一个离散响应为:
离散响应
在频域中,它表示为:
频域
受到 iradon 的启发,我按如下方式实现了我的过滤器:
n = 0:(order/2);
filtImpResp = zeros(1,(order/2)+1);
filtImpResp(1) = 0; % Set the DC term
filtImpResp(2:2:end) = 1./(pi^2.*n(2:2:end));
filtImpResp = [filtImpResp -filtImpResp(end-1:-1:2)];
filt =imag(fft(filtImpResp))
% but it doesn't give a good results.
你能看看吗?我的实施准确吗?特别是我对原始 iradon 函数中的这一行有疑问:
filt = 2*real(fft(filtImpResp));
为什么乘以 2?在我的情况下我应该怎么做?
提前非常感谢
此致敬意
首先,我设置order = 100;
.
你提到的频域,我猜是滤波器的相位角响应。您可以通过以下方式在 MATLAB 上检索它:
plot(angle(fftshift(fft(filtImpResp))));
以同样的方式,幅度响应:
plot(abs(fftshift(fft(filtImpResp))));
标量 2 可能是规范化滤波器的大小,例如从 0 到 1,即使它是在代码上写的。