series_iir()
系列に無限インパルス応答フィルターを適用します。
この関数は、入力としての動的な数値配列を含む式を受け取り、無限インパルス応答フィルターを適用します。 フィルター係数を指定することで、 関数を使用して次のことができます。
関数は、フィルターの 分母 係数と 分子 係数の動的配列と 2 つの静的動的配列を含む列を入力として受け取り、列にフィルターを適用します。 フィルター処理された出力を含む、動的配列の新しい列が出力されます。
構文
series_iir(
シリーズ,
numerators,
分母)
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
シリーズ | dynamic |
✔️ | 数値の配列。通常は、 make-series 演算子または make_list 演算子の結果の出力です。 |
numerators | dynamic |
✔️ | フィルターの分子係数を含む数値の配列。 |
分母 | dynamic |
✔️ | フィルターの分母係数を含む数値の配列。 |
重要
0 による除算を避けるため、a
の最初の要素 (つまり、a[0]
) は 0 にしないでください。 次の 数式を参照してください。
フィルターの再帰式
- 入力配列 X、および長さがそれぞれ n_a と n_b である係数配列 a と b を考えます。 出力配列 Y を生成するフィルターの転送関数は、次のように定義されます。
Yi = a0-1(b0Xi + b1Xi-1 + ... + bnb-1Xi-nb-1 - a1Yi-1-a2Yi-2 - ... - ana-1Yi-na-1)
例
累積合計を計算します。 係数 分母=[1,-1] および分子=[1]: で iir フィルター を使用します。
let x = range(1.0, 10, 1);
print x=x, y = series_iir(x, dynamic([1]), dynamic([1,-1]))
| mv-expand x, y
出力
x | y |
---|---|
1.0 | 1.0 |
2.0 | 3.0 |
3.0 | 6.0 |
4.0 | 10.0 |
関数にラップする方法を次に示します。
let vector_sum=(x: dynamic) {
let y=array_length(x) - 1;
todouble(series_iir(x, dynamic([1]), dynamic([1, -1]))[y])
};
print d=dynamic([0, 1, 2, 3, 4])
| extend dd=vector_sum(d)
出力
d | dd |
---|---|
[0,1,2,3,4] |
10 |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示