デジタルPSN送信機の製作by JA7EIF
デジタル PSN

 
概要
  CPU1はCPU2からの指示で、8KHz毎に入力アナログ信号をデジタルへ変換し、3KHzのデジタルローパスフィルターを経て、90度位相変換し、CPU2へ伝送します。
  CPU2は8KHZサンプリングの信号Iと90度位相変換された信号QをCPU1から取得し、内部で発生させるキャリアI、90度変換されたキャリアQとの演算を行いLSBを生成します(またはUSB)。
  生成されたLSBをデジタルフィルターを通してDAコンバータへ伝送します。
詳細
  CPU2はfilter1.cというプログラム名になっています。
  160KHz毎にサイン波とコサイン波の10分割(36度)の値と、8KHz毎にCPU1から取得したオーディオ信号のIQとの演算を行います。
  演算によって16KHzのLSB、USBが生成できますが、音声の特性を考えてLSBに固定しています。(USBは周波数変換時にLSBから反転させます)
  CW、FMはオーディオ信号を1000Hzに固定してキャリアを生成します。
  生成された信号はサンプリング160KHzの8次連立チェビシェフフィルターを通します。
  設計時の通過帯域は13KHzから15.9KHz、リップル0.5、阻止域の減衰量は45dBです。
  
  CPU1はSSB_generator.cがプログラムです。元来このCPU1個ですべてを処理していたのですが、フィルターの特性を良くするに従い処理能力が足りなくなって分割しました。
  オーディオ信号は8KHz毎にサンプリングされ、250次のFIRフィルターを通ります。
  250次のFIRフィルターは100Hzから2890Hz、20Hz以下・3KHz以上は-84dBで設計しています。
  周波数特性は-6dB幅 80Hz〜2930Hzになります。
  90度位相変換は250次のヒルベルト変換です。
  周波数特性は50Hz〜3950Hzで偏差0.02です。
  PTTをONにした時TXスイッチをONにしますが、音声は5mS遅らせて出力します。頭切れ防止です。
  PTTをOFFにした時は5mS後にTXスイッチをOFFにします。
  455KHzに周波数変換した後、XTALフィルターを通していますが、この時高域の特性が若干悪くなっていましたので、プリエンファシスで補正するようにしています。
プログラムソース
  下記にリンクを張りました。
  これだけではコンパイルできません。
  近いうちに足りないソースを整理してリンクを張るようにします。
SSB_generator.c へのリンク
filter1.c へのリンク