レベルチャート

受信機の感度やS/Nなどの基本性能は使用するデバイスの性能とその組み合わせから計算できます。
設計初期に各ブロックに必要な性能を見積もり、最適なデバイスを選定します。 この作業に使われるものがレベルチャートです。

以下で紹介するのはEXCELで作成したPiラジオのレベルチャートです。
各ブロックに使用するデバイスのデータシートから得た数値を入力し、 ノイズや信号、歪のレベルを各段ごとに計算し、最終的な感度やS/Nを求めることができます。

受信機の性能を決定するのはS(信号)とN(ノイズ)の比率です。歪もノイズの一種と見なせます。 レベルチャートは以下の点に着目して作成しました。

1. 帯域が1/nになれば信号電力はそのままでノイズ電力は1/nになる。つまりS/Nがn倍になる
2. アクティブ素子は入力ノイズ電力をゲイン倍しNF等による増加分をさらに加算する
3. 信号は普通の加算、ノイズはRMS加算される
4. アクティブ素子で発生した歪は前段までの歪と比較し大きい方を後段に渡す歪とする
5. AD変換後は新たなノイズや歪の発生はないとする

EXCELシート「LevelChart」のダウンロードはこちら


熱雑音編

アンテナ端で発生するノイズは環境温度に応じて物理的に決まっています。
受信機の感度はそのノイズをどれだけ悪化させず、歪ませずに信号を増幅するかでほぼ決まります。
最も重要なのは信号が最も小さな初段のアンプのノイズ発生量です。 これはNF(dB)というパラメータで表され、以下の式①で計算されます。
初段以降は増幅されるため入力電力Niが大きくなり式①の(A)の項が(B)の項よりも十分に大きくなりNFは無視できるようになります。



Noはあるデバイスが出力するノイズ電力(dBm)を表しています。
Niはデバイスに入力される雑音電力で初段の場合は環境温度で決定される熱雑音です。 300Kの場合は式②の-174dBm/Hzという値になります。Gはデバイスのゲイン(dB)です。
熱雑音の周波数分布は一様なため帯域が広いほど大きな値となり、 例えば1MHzでは1Hzの100万倍(60dB)なので-174+60=-114dBmとなります。

この式①が熱雑音のレベルチャートで最も重要な式です。

この式①を使ってEXCELで作成したレベルチャートが以下になります。



LNAとIQ Demodについては上記のNFの計算でノイズのフロアレベル(FL)を求めています。
しかしRFデバイスではないBB AMP(差動OPアンプ)とADCは自身のノイズ発生量をNFでは表現されていません。 OPアンプは入力電圧ノイズ、ADCは実効ビット数またはS/Nからノイズ発生量を割り出しています。

<OPアンプのノイズ計算>

OPアンプのノイズ出力は以下のように計算しました。

   Nout(W) = √( (G・Ni)^2 + ( G・(3.9nV)^2/50)^2 )   ・・・式④

Niは前段までのノイズ電力(W)、GはOPアンプのゲイン(真数)です。 50という数値があるのはOPアンプの入力インピーダンスが50Ω相当と仮定しているためです。

<ADCのノイズ計算>

ADCは実効S/Nが57dB程度である事から、最大入力の4dBmからノイズフロアを4dBm-57=-53dBm/15MHzとしました。 15MHzはPiRadioのベースバンド帯域ですが、データシートではS/N=57dB(65Msps)なので厳しい方に振った見積もりとなります。

<Emphasisのノイズ計算>

FM復調の際に行うディエンファシスは1次のLPF特性なので1/fでレベルが変化します。 fc=300Hzの1/fを積分してノイズ減衰量を求めると以下のようになります。
ただしノイズ帯域の上限は前段のFIRで10kHzに制限されているとします。

   Nout = 300・( 1 + ln(10k) - ln(300) ) / 10k = 0.135 = -8.7dB   ・・・式⑤

しかしfc=300Hzなので信号の1kHzも減衰します。

   Sout = 300/f = 300/1000 = 0.3 = -5.2dB   ・・・式⑥

式⑤-式⑥より-3.5dBとなり、
Emphasisの働きによりS/Nは3.5dB改善する事がわかります。

以上の計算結果を見やすくグラフにしたものが以下になります。



-112dBm入力時にS/N=20dBが得られています。
この値は実測したNQS感度の平均とほぼ一致しています。

ADCの入力範囲を図中の赤い矢印で示していますが、信号レベルがADCの入力範囲に届いていません。 それでも信号を受ける事が出来ているのは、ノイズレベルがADCの最小入力レベルを越えている事と、 ADCそれ自身のノイズフロアによって信号加算されているためです。
この性質はディザリングなどと呼ばれ、微弱なノイズがADCのダイナミックレンジを補う働きをしてくれます。 ノイズは後でフィルタで除去できるためノイズの存在自体はあまり問題にはなりません。

ひずみ編

S/Nを悪化させる要因はノイズの他に歪があります。 歪には隅数次(主に2次)と奇数次(主に3次)がありますが、RF回路で問題になるのは殆どの場合3次で、 ベースバンドでは両方が問題になります。
そこで歪特性に着目したレベルチャートを作成しました。 歪特性なのでノイズの時とは逆に最大入力電力での検討になります。

レベルチャートは以下の点に着目して作成しました。

1. 入力電力1dB増加に対して2次歪の電力は2dB増加するとする
2. 入力電力1dB増加に対して3次歪の電力は3dB増加するとする
3. RFデバイスはデータシートのIIPまたはOIPから歪値(HD)を求める
4. ベースバンドのデバイスはデータシートのHD2/HD3から歪値(HD)を求める
5. AD変換後は新たなノイズや歪の発生はないとする



歪の特性にそってEXCELで作成したレベルチャートが以下になります。



この計算結果を見やすくグラフにしたものが以下になります。



このレベルチャートはADCが飽和する寸前の3.5dBmで作成してあるため、 最終的な出力でのS/Nは70dBとなっていますが、実際にはCICフィルタで上位ビットを切り捨てているため 10bit(60dB)以上のダイナミックレンジを持つ事ができません。
CICフィルタのビット切り捨てをなくして20bitで復調処理できるようにして、ノイズと歪ともに最適な入力レベルにすると、 このNFM帯域で80dB以上のS/Nが可能になります。

CICのゲインについて

上記レベルチャートではCICゲインがそれぞれ15.1dBとなっています。 これはCICフィルタで増加したビットを切り捨てる際、10bitのデータ幅を維持しつつ、 フロアノイズのレベルが常にLSB付近になるように調整した結果です。



タップ数4、デシメーション率1/32のCICフィルタをかけると20bitのビット増殖となり、 合計で30bitにもなります。
そのままでは後段の処理が大変になるため、30bitの中から10bitだけを取り出す処理を行います。

帯域を1/32とする事でノイズフロアは以下のように低下します。

  10・log(1/32) = -15.05 dB

1/32は-5bitであるため、下位5bit分シフトし、上位5bit分は切り捨てます。
こうする事でノイズフロアはLSB付近のまま信号は15dBゲインが得られた事になり、 つまりS/Nが15dB改善した事になります。

もしここで上位5bitを捨てずに保持し合計15bitとすればダイナミックレンジは15dB拡大します。

PiRadioではこのCIC処理を2段階行う事でS/Nを30dB上げています。