我尝试绘制延迟线消除器(用于MTI的 FIR 滤波器)的频率响应。
延迟线消除器具有以下结构:
+-----+
| |
x [k] >---+---| T |
| | |
| +-----+
| |
| +-----+
| | |
| |x -1 |
| | |
| +-----+
| |
| +-----+
| | ___ |
\---| \ |---> y [k]
| /__ |
+-----+
它的频率响应是众所周知的 ( Pg 20 ) 并且相等:
我还尝试使用此问题中描述的算法获得消除器的频率响应:
现在我尝试绘制(使用GNU Octave)响应(1)和(4)。
w = linspace (0, 2 * pi, 100);
z = exp (-j .* w);
H_z = 1 - z .^ -1;
H_w = 2.0 * abs (sin (w / 2) );
hold ("on");
plot (w, H_z, "1", "linewidth", 2);
plot (w, H_w, "2", "linewidth", 2);
title ("Frequency response of the delay line canceler.");
set (gca, 'XTick', 0: pi / 2: 2 * pi)
set (gca, 'XTickLabel',{'0', 'pi / 2', 'pi', '3 pi / 2','2 pi'})
xlabel ("Angular frequency.");
ylabel ("Magnitude.");
legend ("H (z)", 'H (\omega)');
我希望它们是相同的,但它们是不同的。

我的错误在哪里?
PS如果我为(4)添加模数(如:),H_z = abs (1 - z .^ -1);它们将变得相同。