ProMemo

p25・p29

最終更新:

yosilove

- view
だれでも歓迎! 編集

講義メモ/情報通信論/G711.1/p25・p29


このページはメモ書きです、どこまで正しいかは不明です。



7.4 MDCT

(16を高いとこと低いと子にわけてるから8K)
8kHzサンプリングの高帯域信号s_{HB}(n)をMDCT係数S_{HB}(k)に変換します。

変換作業はフレーム長5msかつ分析窓長10msで実行されます。

MDCT変換の高帯域スペクトラムS_{HB}(k)は以下のように定義されます。

式 (7-36)

ここでw_{TDAC}は分析窓です。

式 (7-37)

MDCT係数を計算するとき、ダイナミックレンジを可変にするために固定少数Q-fomatを保存する変数です。


パラメータの標準化は以下のようにします。

式 (7-38)
(14bitまで何ビットあまっているか?)



1) Pre-scaling(事前スケーリング)

まず、スケーリングした信号を計算します。

式 (7-39)

2) Windowing and folding. (窓掛けと折り畳)


実数値と虚数値からなる複素数 z(n) は式 (7-40)で計算される

3) Complex pre-multiplication. (事前複素乗算)

z(n)を以下の計算をしてz'(n)にします。

式(7-41)

ここで、N番目のWが
W_{N} = e^{j \frac{2 \pi}{N}}
なので
W_{80} = cos(\frac{2 \pi n}{80}) + jsin(\frac{2 \pi n}{80})

この計算は以下のように拡張される

式(7-42)

ここで
z'(k) = z'_{R}(k) + jz'_{I}(k)

4) Inverse complex FFT. (逆複素FFT)

前述の、z'(n)スケーリングした逆複素フーリエ変換は係数Z'(k)を求めるのに使われる。

式 (7-43)

ここで、変換サイズ20はGood-Thomas FFT algorithmで実現されます。


5) Complex post-multiplication.(複素後乗算)

係数Z'(k)を用いて以下の計算をする

式 (7-44)

ここで
W^{-1}_{80} = \frac{1-j}{\sqrt{2}}
W^{4k+1}_{320} = cos(\frac{2 \pi (4k+1)}{320}) + jsin(\frac{2 \pi (4k+1)}{320}

これは式 (7-45)のように拡張できる。

ここで
Z(k) = Z_{R}(k) + jZ_{I}(k)

 \theta = \frac{2 \pi (4k+1)}{320}




7.5.3.2 Pre-selection(予備選択)

To reduce the complexity in the codebook search, complexity-reduced pre-selection
is performed before costly main code selection.

コードブック検索の演算量を軽減するために、時間のかかるメインのコード検索の前に複雑性を軽減する予備選択を行う。

In the pre-selection,for each v-th sub-vector S'HB(v), eight candidates (l=0,...7) 
are selected among each codebook, both of which contain 32 codevectors.

この予備選択はS'HB(v)のそれぞれのvについて、それぞれのコードブックから8つの候補(l=0,...7)を選ぶ。
こいつらはそれぞれ32のコードベクタを持っている。

ここで、コードベクタは以下のように表す
 I_{Hs0pre}(v,l)
 I_{Hs1pre}(v,l)

これらの極により、以下が選択される
 S_{H0pre}(v,l)
 S_{H1pre}(v,l)

予備選択ステージに置いて、目的のサブベクターS'HBとコードブック0のコードベクターCH0wの距離であるd0preなんたらと
サブベクターS'HBとコードブック1のコードベクターCH1wの距離であるd1preなんたらは32個のコードベクタを用いて以下のように計算される。

式 (7-56)

ここで、
 p(v,i_{0}) = sign[  \sum^{5}_{j=0} S'_{HB}(v,j) \dot C_{H0w}(i_{0},j) ]
(つまり1か-1)

この時点で、コードブックは8つのセグメントに分割され(l=7 ,..., 0)、1つのセグメントに 4つ(q=0,....,3)のコードベクタが存在し、l番目の予備選択候補ともっとも近いS'HB(v)が選択される。

これはコードブック番号iと候補番号lに式 (7-57) のような関係があることを意味する。

計算を短くするために、予備選択では以下のようにして計算されるd'0preとd'1preであらわされるような、候補の最大値を発見しておく必要がある。

式 (7-58)
式 (7-59)
式 (7-60)


+ タグ編集
  • タグ:
  • 講義メモ
  • これはひどいw

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー