初級サンデープログラマーがPSK31プログラムに挑戦
●MMVARIエンジンがリリースされました。(2004年12月31日)
MMVARIの機能がVisual Basic上で利用できる大変便利なMMVARI.ocxが用意されています。 こちらからダウンロードできます。早速試してみました。

Pentium-100MHzのWindows95上でVB6を走らせ、ちょうどCQを出されていたJE3HHT森OMと7MHzのGMSKでお相手頂きました。
途中で、PCがフリーズしてしまう事がありました。(森さんへは大変ご迷惑をお掛けしました)
どうもサウンドカードクロックが11025KHzで、VBを立ち上げた状態ではCPUが忙しすぎるようです。
そこで、dblSampleFreqプロパティでクロックを6000Hzに設定し進めることにしました。
普段、MMVARI自体は11025KHzで走らせていますが、他のプログラムを立ち上げなくてもほとんど余裕は無いように感じます。この時、
WindowsのCPU使用率は、80%程度か時にはそれ以上に達しています。 VB6を立ち上げてこのエンジン使用プログラムの実行時は、
11025KHz設定だと100%が続くことがあり、その場合にフリーズが生じます。 6000Hzですと確かに軽くなり今のところフリーズは生じてません。
遅いPCのVB上で作業を進めながら自分のプログラムを走らせるには注意が必要です。(私だけかな?)
これから、JST-245シリアルコントロールやログ機能など自分なりにアレンジ出来れば面白そうです。
●プログラムに機能追加してみました。(2001年10月13日)
・ スケルチスレッシュレベル調整
・ 表示部モード切替 [ウオーターフォール、カーペット、スペクトラム、生データ(オシロ機能)]
・ 周波数スケールと送受信周波数カーソル表示
・ 送信機能 [キーボートからのマニュアル入力と、定型文による送出]
・ 相手コール、名前のメモ
上2つは、WinPSKのActiveX controlに付属の機能を動作させているだけです。
写真にあるような、”カーペット” と呼ばれるモードの表示は3D風で面白いです。
一応、交信できましたが、受信画面スクロールがぶれるなど課題も多いです。気長にやります...
つまり、Windowsを直接操作するややこしい記述をせずに、お手軽にPSK31ができるのです。
言って見れば、複雑な回路をトランジスタや抵抗、コンデンサのバラ品で組むのでなく、
完成したICを使ってあとは周辺回路で調整するようなものでしょうか...(ちょっと違う?)
WinPSKのActiveX controlはWA0TTNの作品でフリーです。
これはWinPSKの作者AE4JYのDLLを基につくられたようです。
●WinPSK ActiveX controlの使い方。(Visual Basic編)
(1)ダウンロードします。(Documentationも別途、あったほうが良いです。WinPSKX.chm)
(2)WinPSKX1a.zipを解凍します。
(3)DOS窓からregsvr32 winpskx.dll を実行します。成功のメッセージが出ればOK。
(4)VBを立ち上げ、プロジェクト/コンポーネントでWinPSKX ActiveX Control Moduleが
表示されているのを確認、チェックを入れてOKします。
コンポーネントが追加されているのを確認します。
(5)あとは通常通り、フォームに展開して設定していきます。
プロパティ設定など、ドキュメントや例を参考にして下さい。
最初から、上のようなウォーターフォール/スペクトラム表示が簡単にできます。
受信はこの表示上で目的の信号をマウスでクリックすればOK!
周波数表示も上の例のようにお手軽にできます。