用于光束偏转技术的FBP matlab滤波器设计



我需要你的帮助来回答有关 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,即使它是代码上写的。

最新更新