dポイントプレゼントキャンペーン実施中!

デジタル信号処理でAM変調やFM変調を行ってDA変換してアナログ信号を出力するということをraspberry piで実現できないかと考えています。

たとえば、適当なWAVファイルをもとにAM変調し、数十MHzの信号を出力するということはできるでしょうか。

A 回答 (2件)

あとはCPUではなくGPUのVideoCoreIV側を使うという方法も可能性としては考えられます。


HDMIの出力信号はGHzオーダーですので、うまく制御できれば望む信号が出せるかもしれません。
GPUがHDMIとして正しくない信号を出せるかどうかは分かりませんが(というかたぶん不可能または情報が無いと思いますが)、一度調べてみるのも楽しいかと思います。
    • good
    • 2

方法はちょっと思いつきませんね…。


まずRaspberryPiに用意されている出力で役立ちそうなものはコンポジット出力くらいですがNTSCの色副搬送波周波数でも3.58MHzなので数十MHzにはちょっと足りません。ブランキング期間に余計な出力も出てしまいますし使うのは厳しそうです。
なので単純にGPIOを使って制御しようとすると、まずOS上で動くプログラムでは数十ms程度でしか操作できないと思いますので、たぶんOS無しで動かす必要があるでしょう。
もしかすると適切なドライバを用意すればOSの制御下から外れて動かすことができるかもしれませんが。まあたぶん最初からOSなしの方が楽でしょう。
RaspberryPiの動作周波数は1GHz程度ですので、数十クロックごとにGPIOを制御すれば理屈上は数十MHzの信号が出せることになります。
しかしRaspberryPiに載っているようなアプリケーション向けのプロセッサは処理にかかるクロック数が予測できないような作りになっています。特にデータの読み出しにかかる時間はキャッシュメモリの影響で予測不可能です。
とはいえ連続に読み出していく分にはすべてキャッシュにヒットすると考えてよいでしょうけれど。
とりあえず処理としてはタイマーを見て適切な値を読み出してGPIOに書きだすようなプログラムを書くわけですが、それが数十クロックで実行できるかというと…あー、できそうな気もしますね…。
何が起こるか分からないのでできる確証は全くありませんが、少なくともできない理由は思い付きませんでした。
ちょっと回答が混乱してしまいましたが、結論としては、覚悟があるならやってみるのも面白いかもしれません。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!