したがって、伝達関数があります:
$$ H [z] = 1 + \ sqrt {2} z ^ {-1} + z ^ {-2} $$
そして、$ H(e ^ {j \ omega})$ for $ \ omega = 0、\ pi / 4、\ pi / 4 \ ldots $
オイラーの公式を使用して手動で計算を行いましたが、割り当ては次のようになります。これらのプロットをMATLABのfreqz
を使用したプロットと比較するように求められました。このタイプの伝達関数を使用して、これらのプロットを実行する方法についての説明が見つからないようです。
コメント
回答
a = 1
を指定するだけです(分母が$ 1 $に等しいため)。したがって、次のようになります。
b = [1,sqrt(2),1]; a = 1; N = 512; [H,w] = freqz(b,a,N);
これを分析ソリューションと比較できます:
H2 = 1 + sqrt(2)*exp(-1i*w) + exp(-1i*2*w); max(abs(H2-H)) % 8.0825e-16
コメント
- 申し訳ありませんが'これは本当に新しいですが、ここでNは何を表していますか?
- @Freddie:'は、周波数応答が評価される(等距離の)周波数ポイントの数です。
freqz
のMatlabドキュメントを確認してください。
回答
特定の周波数でのみ評価するには、少なくとも2つの周波数を含む周波数ベクトルを指定する必要があります( MATLAB “s freqz )。以下は、周波数 $ \ omega = 0、\ pi / 4、\ pi / 2、で評価するためのMATLABコードです。 3 \ pi / 4、\ text {and} \ \ pi $ 。
>> [h, w] = freqz([1, sqrt(2), 1], 1, [0 , pi/4, pi/2, 3*pi/4 pi]) h = 3.4142 + 0.0000i 2.0000 - 2.0000i 0.0000 - 1.4142i -0.0000 - 0.0000i 0.5858 + 0.0000i w = 0 0.7854 1.5708 2.3562 3.1416 >>
上記の結果の視覚化については、マグニチュードを参照してください。応答、つまり $ 20 \ log_ {10} \ left(\ lvert H \ left(\ omega \ right)\ rvert \ right)$ 、5つの周波数で以下にプロット赤でマークされています。
$ \ pm 3 \ pi / 4 $ の場合(上記のコード結果を参照) $$ H \ left (\ p m \ frac {3 \ pi} {4} \ right)= 0 \は、20 \ log_ {10} \ left(\ bigg \ lvert H \ left(\ pm \ frac {3 \ pi} {4} \ right)を意味します\ bigg \ rvert \ right)=-\ infty $$ ゼロが
b
)あなたのフィルターの。したがって、単にfreqz
に接続して出来上がりです。