解かれかた
リサンプル設計は1度記述すれば、処理段ごと・サンプリングレートごとに自動算出されます。設計を解く際のルールと、検証で拒否される条件を解説します。
何から何が決まるか
stop_hz(省略時) = 入力レート − 通過帯域上限
第1イメージ成分が立ち上がる周波数
遷移帯域幅 = stop_hz − カットオフ
タップ数(自動) = 遷移帯域幅と stopband_db から算出
(kaiser と gaussian。固定窓ではタップ数の指定が必須)
折り返しを避ける条件: stop_hz ≤ 入力レート − 通過帯域上限- 阻止域の下端周波数を下げる方向への変更は、イメージ抑圧性能が向上するため許可されます。計算上の導出値より高く設定した場合のみ拒否されます。
- 入力レートが高いほど制約条件は緩和されるため、対象レートのうち最も低いレートで合格すれば、より高いレートでも合格します。保存可否の判定基準となるレート行には画面上でマークが付きます。
- カットオフ周波数は-6dB減衰点です。通過帯域と阻止帯域の中間に配置する場合、上限はサンプリングレートの半分(ナイキスト)になります。
入口段と出口段
絶対周波数とタップ数の指定が効くのは入口段のみです。
出口段は自身の遷移帯域幅から個別に再計算されます。必要な帯域幅のオーダー(桁)が大きく異なるため、入口段のタップ数をそのまま出口段に引き継いでしまうと、二重に帯域制限がかかり、CPUリソースを無駄に消費することになります。
フィルタ整形が入口段のみに制限されるのも同じ理由です。
ハイパスやバンドストップは絶対周波数(Hz)で指定するため、その周波数が指定どおりの意味を持つ入口段にのみ配置されます。
帯域制限は常に存在します。
それが通過帯域の上端であり、完全に取り除くことはできません。調整できるのは、遮断周波数の移動、その下側の周波数特性の整形、および遮断特性の急峻さの選択です。
断られる理由
- 遷移帯域幅が確保できない場合。そのサンプリングレートに対して通過帯域の上端が広すぎる場合に発生します。
- イメージ抑圧が不足している場合。stopband_db は要求仕様であって実際の計算結果ではないため、固定窓などで減衰が不足する場合は測定の上で拒否されます。阻止域から漏れたイメージ成分は音楽信号とは無関係な高周波に現れるため、意図しない異音として知覚されます。
- 阻止域の下端周波数を理論導出値よりも高く設定した場合。
- 直線位相を選択しているにもかかわらずタップ数が偶数になっている場合。
- 周波数特性の整形フィルタが帯域制限の外側に設定されている場合。
CPU負荷は設計を拒否する理由にはなりません。
同じ設計であっても動作環境のPC性能や温度環境によって負荷率が変動するためです。CPU負荷の予測値は画面上に表示しますが、保存の可否を足切りする条件にはしていません。
レイテンシも設計を拒否する理由にはなりません。
直線位相フィルタの群遅延は全周波数帯域で均一な純粋遅延であり、音質そのものを変化させることはありません。拒否する代わりに、生じる遅延時間を常に画面上に明示する設計としています。
全レート対応と宣言した設計は、保存時に両系列について計算されます。
一覧に表示されているにもかかわらず、選択すると適用時にエラーとなるような設計を排除するためです。