Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

チェビシェフ多項式のナイーブな実装

線スペクトル対 (LSP) を実装するにあたり、第1チェビシェフ多項式を利用するため実装してみました。

実装・検証したコードはPythonですが、VSTプラグイン化を見据えてC++を想定したナイーブ実装となっています。

概要

チェビシェフ多項式 - Wikipedia

Chebyshev polynomials - Wikipedia

チェビシェフ多項式の素晴らしい点は、漸化式によって n+1次の多項式を n, n-1 の多項式によって算出できるところです。

f:id:Kurene:20200726100737p:plain
https://en.wikipedia.org/wiki/Chebyshev_polynomials より,チェビシェフ多項式の漸化式

使い方としては、x=cos(ω)と置換(変数変換)することで、cos(nω)の多項式をxの多項式として解くことができます。

第1チェビシェフ多項式

f:id:Kurene:20200726100319p:plain
https://en.wikipedia.org/wiki/Chebyshev_polynomials より,第1チェビシェフ多項式の係数

f:id:Kurene:20200726100501p:plain

2チェビシェフ多項式

f:id:Kurene:20200726100533p:plain
https://en.wikipedia.org/wiki/Chebyshev_polynomials より,第2チェビシェフ多項式の係数

f:id:Kurene:20200726100631p:plain

実装