Hiradoの0.9.2をリリースしました。
このリリースでは細かいバグを一掃し、コイル鳴きへの対策を行っています。
ただ、コイル鳴きに関してはチケットを修正済みにしていません。まだ音が少し残っています。この問題は、周期的に割り込みが発生することでDSPの処理負荷が増減し、それが電源を揺らすことで起きていると考えられます。
DSPの受信処理周期はframework.h の RXIF_BUFSIZEで決定します。現在はこのバッファサイズは32(long word = 32bit)となっており、データ構造からAM/SSB/CW/ナローFMではIF信号8サンプル毎に割り込みが掛かります。これはTRX-305の場合はおおよそ4kHzとなります。
試しにスマホのFFTアナライザで音を解析したところ、下の図のように4kHzの整数倍のハーモニックが出ています。
framework.hのコメントにあるように、このバッファサイズを小さくすることでハーモニック分を上に追いやることはできます。しかしながら、その場合はワイドFMへの影響をよく考えることが必要ですので、現状ではリリースを優先することにしました。
なお、今リリースではコイル鳴きへの暫定対策としてidel信号による割り込み待ちを修正して、nopループによる待ちに変更しました。DSP負荷の計測に関わる部分ですが、計測結果が狂わないように配慮しています。