1

Matlab で周波数応答をプロットしたい整合フィルターがあります。

フィルター応答は次のとおりです。 H(f) =ウィーナー フィルターの周波数応答

私はそれをプロットしようとしました:

%Freqency_Response_of_wiener_filter
f = linspace(-1e3,1e3,1e5);
H = ((2*pi*f)^2+10^6)/(11*(2*pi*f)^2+10^6+10^4);
plot(f,H);
xlabel('f')
ylabel('H(f)')

これは機能せず、「マトリックスの次元が一致する必要があります」というエラーが表示されます。次に、「要素ごとのパワー」について読みました。これは、必要なものにぴったり合っているようで、次のように変更されHました。

H = ((2*pi*f).^2+10^6)/(11*(2*pi*f).^2+10^6+10^4);

これは確かに何かをプロットしますが、私が望むものではありません:)私も試しました

H = ((2*pi)^2*f.^2+10^6)/(11*(2*pi)^2*f.^2+10^6+10^4);

運がない。私がそれを機能させた唯一の方法は次のとおりです。

%Freqency_Response_of_wiener_filter
f = linspace(-1e3,1e3,1e5);
for i=1:length(f)
  H(i) = ((2*pi*f(i))^2+10^6)/(11*(2*pi*f(i))^2+10^6+10^4);
end
plot(f,H);

「要素ごとのパワー」が機能しないのはなぜですか?

それ以上-通常の操作と「要素ごとの操作」の違いは何ですか? たとえば、ここ: An Introduction to Matlabには、次のプロットがあります。

a = 0:.01:5;
b = cos(2*pi*a);
plot(a,b)

そして、これ:

x = 2:.1:4;
y = 1./x;
plot(x,y)
xlabel('x');
ylabel('y');

そして、私はそれらの違いを見分けることはできません. 最初のものでは「要素ごとの操作」が必要なかったのに、2番目のものでは必要だったのはなぜですか?

ありがとう。

4

1 に答える 1