「お気に入りSDRトランシーバーの製作Ver2 AFフィルターの組み込み」


製作中のSDRトランシーバーは、試験的な運用を通して細かなデバック作業を進めていましたが、新たに Ver2としてソフトの完成度を上げていこうとおもいます。

2020.8.27
はじめに
 SDRソフトは簡易的な物から高機能なものまで各種フリーソフトが出ているので、ソフト初心者の当局にとってはなかなか先行ソフトに追いつけませんが、 先行ソフトの多くは多機能ゆえに使いづらい面も多かったり、自作のリグとのマッチングが悪かったりなど、やはり自分なりにカスタマイズした方が「お気に入りのソフト」に仕上げられます。
 Ver1ソフトで追加機能として、ノイズリダクションやノイズブランカ等を課題としていましたが、ノイズリダクションを、実際にプログラムに実装する方法、アルゴリズム が判らないので、Ver2ではAFフィルターを組み込んでノイズ低減効果を狙ってみました。
 

ノイズリダクションとは
 ノイズリダクション(以下NR)とは、SSBモードなどのパックグランドノイズを低減するもので、他のSDRフリーソフト(Power SDR)などにも組み込まれているので、実際の 効果も確認することができます。
 NRをONにすると、パックノイズが数db低下しますが、CWモードなど500Hz程度のフィルターを使っている場合はその効果は実感できません。
 NRの技術解説などはKENWOODなどの技術解説に詳しく説明されていますが、内容としては、適応フィルターという考え方らしく、フィルター特性をノイズ状況に応じて可変するらしい。
 それならば、帯域固定でもなだらかなカットオフ特性を持つAF BPFでも同様な効果が得られるはずで、重要なのは低域、高域をスパッと切るフィルターでは無く、お椀を伏せたような 特性のフィルター特性で、音声帯域に含まれるノイズ成分を緩やかに低減し、かつ音声は出来るだけカットしないようにします。

フィルター目標仕様
 フィルターの仕様決定にはPowerSDRのイコライザ―特性を利用して、どの周波数をカットして、叉どの周波数をブーストすればいいのかカット&トライで決定しました。
 その結果、中心周波数500Hz、-3db点はそれぞれ250Hzと1000Hzとすれば、音声がこもらずかつノイズが-3db程度の減衰が得られましたので、目標仕様として設定。

AF BPFをプロクラムに組み込む
 AF BPFの組み込みは、Ver1までの処理で検波された信号をIFフィルターと同じようにもう一度デジタルフィルターに通せばOKです。IFフィルターにはFIRフィルターを組み込みましたが TAP数が大きくなるので、処理時間分ディレーが生じます。
 AFフィルターでは、急峻なカット特性はいらないので、特性がイメージし易いアナログOPアンプ2次フィルター相当のIIRフィルターを組み込むこととしました。
 IIRフィルターの係数計算は、こちらのHS SOFT HPを利用させていたたきました。計算式は以下の様になります。
aY[n] = -bY[n-1] - cY[n-2] + dX[n] + eXn[n-1] + fX[n-2]  HPでは-cY[n-1]になっていますが-cY[n-2]のミスプリントと思われます。
 ここでa〜fはフィルター係数、Y[n]は現在の出力信号、X[n]は現在の入力信号、[n-1]、[n-2]はそれぞれひとつ前のサンプリング信号と2つ前のサンプリング信号を意味します。たとえば SDRStudyでは信号処理を[1024]ヶに分割しているので[10]番目の出力信号はaY[10] = -bY[9] - cY[8] + dX[10] + eX[9] + fX[8]で求められます。ちなみに[0]の1つ前の信号は[1023]になります。 後はプログラムで[0]〜[1023]まで繰り返し計算しその都度Y[n]を新たなサウンドデーターとして配列に保存していけばOKです。
 ソースプログラム例(VC#)を以下に示します。Ver1のソースに新たにAFFilter classを追加しました。一部使用していない引数など入っていますが、後で帯域や中心周波数などを変更する際に 使用する予定です。

プログラムソースリスト参照

使用してみて
 左の写真は、スピーカ出力をWaveSpectra(W.S)で確認した周波数特性です。左はAFBPF OFF、右はAFBPF ON。BPF ONで250Hzと1000Hz付近でほぼ-3db減衰し、聴感上もはっきりと違いが 実感できます。動画ではBPF OFF/ONを繰り返し、パックノイズが低減するのが確認できます。
SDRStudyにAF BPF組み込みデモ動画 (YOUTUBEへ)
 AF Filterの組み込み方法が判ったので、後はいくつもフィルターを並べればグラフィックイコライザ―や送信音質のイコライジングなどソフトだけで実現できるので、SDR本体のハード部 を一台製作しておけば、後はソフトの追加でどんどん機能アップが楽しめます。

Top Menu