SDRトランシーバー4号機(SDR#4)の製作「送信部インターポーレーションとIIRフィルタの予備確認」


写真はNECLEO STM32F446RE評価ボードで、プログラム作成にTRY。開発過程や疑問点などをまとめた開発ノートを残しておかないと 、ソース内容をすぐに忘れてしまいます。。

2025.04.03

はじめに
 今回は送信処理ブロック図に示す2.1Mから8.4Mへのアップサンプリング部とIIRフィルタ部について予備実験 します。
   455kHz付近のIF信号をアップサンプリングで作成する自作の経験が無いので、予備実験をしながら進めていきます

アップサンプリングとインターポーレーション
 マイク入力のADサンプリング(数10k)から455k DA出力サンプリング8.4Mまでアップサンプリングが必要ですが、SDR4号機では数10kから2.1Mへのアップと 2.1Mから8.4Mへの2回に分けてアップサンプリングします。
 2.1Mを8.4Mへのアップサンプリングする場合、2.1Mのサンプリング間隔に"0"を3ヶ挿入(インターポーレーション)することで、サンプリングを4倍 にしたことに相当します。但しそのままでは不連続な波形データになるので、後にLPFを挿入します。

Excelで確認してみる

 左図は、455kHzのSIN波を2.1MでサンプリングしたポイントをExcelで結んだ波形です(青ライン)。サンプリングポイントが少ないので、ややいびつな 波形になっていますが、実際のDA出力ではもっと"カクカク"(赤ライン)した波形になるはずです。

 

アップサンプリングしてみる
  

   左図は、2.1Mサンプリングの間に"0"を3ヶ挿入して、8.4Mにアップサンプリングした波形データで、実際のDA出力もこれに近い形になります。
 右図は、2.1Mサンプリングの間に"0"の代わりに、前のデーターを3ヶ挿入した場合の波形。(前データーホールドタイプ)

 

2次IIRフィルターを通してExcelで確認してみる
  

 アップサンプリングした波形データ―を2次IIRフィルターを通した結果をExcelでグラフ化してみました。フィルターは同じ。
 左図は、2.1Mサンプリングの間に"0"を3ヶ挿入して、8.4Mにアップサンプリングしフィルターを通した波形
 右図は、2.1Mサンプリングの間に"0"の代わりに、前のデーターを3ヶ挿入しフィルターを通した波形
 右図の方が、波形は滑らかになっていますが、通常インターポーレーションの方式としては右図の場合が多く、どちらの方式にするか実動作で 確認していきます。

 

IIRフィルターの設計

 設計ツールは、「ARMマイコンでつくるダイレクトサンプリングSDR」の記事で紹介されているCQ出版D/L 等からD/L出来ます。

 D/Lしたツールを使ってIIRフィルターを設計(フィルター係数を求める)してみます。図はクリックで拡大(
フィルター次数 2、サンプリング 8400kHz リプル 0.5db チェビシェフLPF カットオフ 550kHzを条件として、
係数は、a11 1.370026 a21 -0.5636743 b01 1.0 b11 2.0 b21 1.0 と得られ差分式に係数を代入すればフィルター出力が計算できます。

 

Excelで確認してみる

 左図は、IIRフィルターのExcel表の一部切り取りした図(図はクリックで拡大)
 IIRフィルター特性は左図のようなExcelで簡単に確認でき、プログラム組み込みの際やデバッグ時の計算結果確認にも有効です。
IIRフィルターの出力(差分式)は次式で表わされます
yn= b01 * xn + b11 * x(n-1) + b21 * x(n-2) + a11 * y(n-1) + a21 * y(n-2)
xn;入力信号 x(n-1);1ヶ前の入力信号 x(n-2);2ヶ前の入力信号 y(n-1);1ヶ前の出力信号 y(n-2);2ヶ前の出力信号  表では、B列に2.1Mのサンプリング間隔、C列に8.4Mのサンプリング間隔、D列に455kHzのSIN信号を2.1Mでサンプリングした値、E列に"0"を挿入 したデータを記入。F列に出力計算結果を記入。
 

  ソースの作成
     

 左図はソースの一部切り取りです。156行目で波形データを作成の関数を呼び出し、配列に入れておきます。今回は予備実験なので波形データ―は 固定データ―にしています。
 波形データ―は、2.1Mのサンプリングで256個作成して、配列アドレスへ4番地毎に格納していけば"0"が3ヶ挿入したことになります。
 160行目で出力ynを計算し、165行目で整数データに戻して、DACへDMA転送します。

 

出力波形を見てみる

 左図は、DA出力波形(0.2V/div 1us/div)で波形の歪み具合もExcelのグラフに近似しているので、インターポーレーションとIIRフィルターは うまくいっているようです。
 実機動作ではDA出力後に455kHzの簡単なセラミックフィルターを挿入すれば、もう少しきれいな波形になるはずです。。

 

今後の進め方
 DACから455kHz TXIF出力可否の確認は出来たので、引き続きMIC入力から直交MIXによるSSB発生について予備実験を進めていきます。  

  Top Menu