私はこの伝達関数をmatlabに入力しようとしていますが、正の指数と負の指数の両方を持つため、どのように計算するのか分かりません。MATLABでtf()関数を使用
私はH = tf([1],[1 1 1 1],0.1,'variable','z^-1')
をすれば、私はほとんどそれを得るが、私は一番下に正z
を追加する方法を見つけ出すことはできません。私はこのH
を使用して、pzmap(H)
で極と零点をプロットしようとしています。
私はこの伝達関数をmatlabに入力しようとしていますが、正の指数と負の指数の両方を持つため、どのように計算するのか分かりません。MATLABでtf()関数を使用
私はH = tf([1],[1 1 1 1],0.1,'variable','z^-1')
をすれば、私はほとんどそれを得るが、私は一番下に正z
を追加する方法を見つけ出すことはできません。私はこのH
を使用して、pzmap(H)
で極と零点をプロットしようとしています。
負の指数を避けるために、我々はz^3
で分母と分子の両方を掛けることができます。
H = tf([1 0 0 0 0],[1 1 1 1 1],0.1,'variable','z')
それともz
H = tf([1],[1 1 1 1 1],0.1,'variable','z^-1')
私は負の指数を避けたいとは思わないが、正負の指数を組み合わせて一致させたい。投稿したH(z)は、私が得ようとしているものですが、投稿したtf()は、分母に+ z^1がないので、それを達成できません。 – Austin
私は、アナリティカルな再編成をせずにこれを行うことはできません。しかし、可能ならば、 'H = tf({[1]、0}、{[1 1 1 1]、[0,1]}、0.1、 'variable'、{'z -1 '、' z '}) 'となります。私は今、MATLABへのアクセスがありません。したがって、私はこれを確認することはできません。 –
ああ、私はこのエラーが表示されます:連続時間システムの場合は "変数"プロパティを文字列 's'または 'p'のいずれかに設定する必要があります。 文字列 'z'、 'q' z^-1 '、または' q^-1 'である。 – Austin
によってその割りあなたは
z = tf('z', 0.1)
を作成することができます次に、必要な伝達関数を作成します。
H = z/(1 + z + z^-1 + z^-2 + z^-3)
しかし、MATLABは自動的にH
のみz
なしz^-1
含ま伝達関数を作るために、z=0
で追加のポール・ゼロのペアを追加します。したがって、1つではなく、複数の極がz=0
に表示されます。残念ながら、私はMatlabがそれをやめるのを止める解決策を見いだせませんでした。
なぜか分かりませんが、これは次のようになります。H = z^7 / z^7 + z^6 + z^5 + z^4 + z^3 – Austin
実際には、伝達関数と呼ばれるのは、実装プロパティのためにDSP表現と呼ばれます。 zのすべてのパワーは単位遅延です。したがって、filt
を使用する必要があります。ではあなたは分母から1つのzを考慮し、あなたが
H = filt(1,[1,1,1,1,1])
を取得してキャンセルした場合、この表現zの用語は、したがって、非正力を持っている私は前に 'tf'を使ったことがないはずですが、あなたはあなたの伝達関数を簡略化することができず、代わりに 'H(z)= 1 /(z^-1 + 1 + z^-2 + z^-3 + z^-4)'を使用しますか? – Prakhar
ええ、おそらく私はZを乗算しました。なぜなら、私はz変換の初心者であり、分子をZ = 0に設定することで分子をゼロにする必要があると思ったからです。 – Austin