DA出力とサンプリング周波数
STMマイコンのDAコンバーター(DAC)から455kHzを出力するには、サンプリングはどの程度にすればいいのか? 経験上、出力周波数の10倍程度にすれば
それなりの波形になりますが、サンプリングが低いと"カクカク"した波形になってしまいます。逆にサンプリングが高いほど、アップサンプリング
のフィルター処理が重くなってきます。
DACのMAXサンプリングはSTMマイコンのデータから10Msps(DAC OUT Buffer disable時)となっているので、今回8.4Mに設定しました。6Msps程度でもきれいな
波形が得られますが、ファイナルAMP後のLPFで取り切れないスプリアスになることを懸念して8.4Mspsとしました。
8.4MのタイミングはTIM6クロック84MHzを1/10にして作成します。
出力波形を見てみる
実験的に、8.4Mspsのサンプリングで455kHzキャリアのAM信号とSSB信号の波形を作成して、DAC出力してみました。
![]() |
![]() |
|
波形データ―の作成
波形データは、本来なら動的に変化する(例 音声信号)ですが、今回は予備実験なので固定の波形データを配列に入れ、DACへTIM6のトリガイベント
でDMA転送してみます。
AM変調波形
AM変調の式は、以下で表わせるので
S(t) = Amp * cos(ωct) + 1/2 * (m * Amp)* [cos{(ωc + ωs)t} + cos{(ωc - ωs)t}] ....@
ωc: キャリア周波数 ωs: 変調信号周波数 Amp: キャリア振幅 m: 変調度 0< m <1
叉は
S(t) = Amp * [1 + m * cos(ωst)] * cos(ωct)....A
Excelで波形を確認してみる
![]() |
左図は、Amp=1024 455kHzを25kHz 変調度0.8としてA式で計算したAM変調波形で、計算式を元に波形の配列データを作成し
DACへ転送すればAM変調が得られるはずです。
|
SSB変調波形
2TONEでSSB変調した式は、以下で表わせるので
S(t) = Amp * [cos{(ωc + ωs1)t} + Amp * cos{(ωc + ωs2)t}] ....@
ωc: キャリア周波数 ωs1,2: 変調信号周波数1,2 Amp: 振幅
AM波形と同様にExcelで波形をみると
![]() |
左図は、Amp=1024 455kHzを30kHz 20kHzで計算した変調波形で、計算式を元に波形の配列データを作成し
DACへ転送すればSSB 2Tone変調が得られるはずです。
|
出力波形のノイズ見てみる
![]() |
左写真は、dataは100に固定して出力ノイズを見た波形(2mV/div,)。約2mVppのノイズの他に、写真では見えませんが5mVpp程度のスパイク状のノイズが乗っています。
|
今後の進め方
DACから455kHz TXIF出力可否の確認は出来たので、引き続きSSB発生〜455kHzまで周波数変換について予備実験を進めていきます。