- ベストアンサー
ソフトウェアで信号増幅って不可能なのですか?
- ソフトウェア上で信号を増幅することはできるのか?また、周波数の制御も可能なのかについて考えてみました。
- ソフトウェアで信号を増幅する方法や、周波数制御の可能性について探ってみました。
- ソフトウェアが信号増幅や周波数制御において制約があるのかについて考えてみました。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
ソフトウエア上で増幅するのは、信号に適当な係数を掛けてやれば実現できますよ。 そうは言っても、ソフトウエア上で増幅したとしてもそのままではイヤホンやスピーカから音として出す事は出来ません。 音として出すにはDAコンバータでアナログ信号に変換してからパワーアンプで電力増幅をする必要があります。 あるいは、デジタル信号を直接入力できるデジタルアンプが必要です。 >フィルタを通して高周波を取り除くということもハードウェアでやっているようです。 オーディオ信号程度であれば数百円のCPU上のソフトで出来てしまいます。 もっと高速になればDSP上のソフトで出来ます。 FPGAはハードと言えますが、その動作を記述する方法はほとんどソフトウエアです。 今ではC言語で記述すれば、その通り動くハードウエアを作ってくれます。 フィルタを作るのはif文では無理ですね。せいぜいリミッタを掛ける程度です。 こういう処理は「デジタル信号処理」と言いますが、デジタルで処理する為には入力のアナログ信号をデジタル信号に直すADコンバータが必要です。 そして、多くの場合、アナログ信号で出力する為のDAコンバータが必要です。 つまり、下記のような校正になります。 アナログ信号→ADコンバータ→デジタル信号→信号処理→デジタル信号→DAコンバータ→アナログ信号
その他の回答 (10)
- 中村 拓男(@tknakamuri)
- ベストアンサー率35% (674/1896)
補足。 増幅と情報処理は紙一重です。 一般にトランジスタや真空管などの 増幅は、元の信号が雪だるま式に増えてゆくわけではなくて、 入力信号で出力信号を「制御」しているだけです。 なので、一種の情報のコピー(伝達)と言えないわけではないです。 もちろん、信号の入力と出力はソフトでは出来ないので、 ソフトウェアだけの「増幅」は不可能です。
- 中村 拓男(@tknakamuri)
- ベストアンサー率35% (674/1896)
>かなり初歩的な質問だと自覚しているのですが、この信号を増幅するという機能は >ソフトウェア上で実現できないのでしょうか。 ソフトだけでは無理ですが、ハードと組み合わせれば増幅器の機能の一部を ソフトで実現できます。 >また、周波数に関しては、フィルタを通して高周波を取り除くということも >ハードウェアでやっているようです。 >こちらもソフトウェアで実現できないのでしょうか。 既に実用化しているというか、そこいら中にあります。 あなたの音楽プレーヤにも入っているでしょう。
- FT56F001
- ベストアンサー率59% (355/599)
アナログかディジタルか,というより, 「物理的実態とエネルギーを伴う,光,音,電気等の信号」と 「情報としての信号」の違いでしょう。 例えば,太陽の絵を拡大して壁に貼っておけば冬も暖かいか, あるいは,絵に描いた餅を100枚コピーして壁に貼っておけば腹が膨れるか, というと違いますね。「太陽の絵」は情報であって,エネルギーは伴わない。 絵に描いた餅も同様です。 「増幅する」という操作は,外からエネルギーを注入して, 信号のエネルギーそのものを大きくする,ことを言います。 ディジタル信号の世界で定数倍すれば,情報としての信号は大きくなります。 しかし,エネルギーを伴う信号に戻す時に大きなアンプが必要になる,のであって, エネルギーを与えるのはアンプです。 > フィルタを通して高周波を取り除くということもハードウェアでやっているようです。 > こちらもソフトウェアで実現できないのでしょうか。 これはソフトウェアでも可能です。ディジタルフィルターという計算式で, ある周波数を取り除く等の操作はできます。ただし, ディジタル信号の世界にはサンプリング周波数の問題があります。 サンプリングよりも早い信号が混じると面倒なことが起きるので, 高い周波数成分はディジタル化する前に取り除いておきます。
- ibm_111
- ベストアンサー率59% (74/124)
状況によっては確率共鳴等によって増幅できると思いますが、 この概念を実装してみたことは無いので、確信は無いです。 http://hydrogen.rciqe.hokudai.ac.jp/~kasai/stochasticresonance.html
- mimazoku_2
- ベストアンサー率20% (1905/9108)
出来ない事は無いが、異質なものになってしまう。 信号は、「アナログ」であるのに対し、あなたが言っているのは「デジタル」のお話。 なので、現実にはアナログはアナログで扱わないといけない。 異質な信号に化けても良いならば、デジタルで増幅すればいいが、多くの場合、とんでも無い「異質」に化けるので、実用的では無いのです。 仮に音声信号を増幅した場合、当然ながら、「音」と「音」の間には『音』で連続した信号です。 デジタルで増幅した場合、「音」~「音」になってしまい、『音』が消えてしまいます。 この消えた信号を、どう補完されますか? なので、「音」~『音』~「音」は、増幅して、「音」~『音』~「音」にしないといけません。 それらのコントロールにデジタルは有効ですよ。(音の加工は、アナログが担当する。) あと、デジタルにする場合の「音の分解能」という問題もある。
- fxq11011
- ベストアンサー率11% (379/3170)
ソフトウエアーで可能なのは、情報処理です。 情報として増幅した情報を出力は確かに可能です、ただしあくまでも情報です、そのままでは実用に供することができません。 例 水 「0.1L」と「100L」 情報としては文字4文字で同じですね。 実際に容器にそれだけの水を満たすと、ものすごい差ですね。 上の情報(ソフトウエアーの情報)に基づいて、水を容器に注ぐ装置が必要です。 参考 情報だけで腹は膨れません、いくら情報が発達しても最後の決済に物流が必要です。
- k_kota
- ベストアンサー率19% (434/2186)
ソフトウェアはデジタル信号しか扱えない。 まあ、厳密にはデジタル制御でアナログを操作もできますけど、 それはソフトウェアでの処理ではないので除外します。 んで、アナログ信号をデジタル信号に変換すると言うのが絶対に必要になります。 元々がデジタル信号なら別に要らないですけどね。 んで、アナログからデジタルもデジタルからアナログも変換はハードウェアじゃないとできません。 そして、その処理をやる場合は予め増幅もフィルタもやった方がトータルで楽です。 小信号をデジタル化するのは問題無いですが、結局SN比の問題があるのと、汎用的なコンバータを使いたいので増幅が必要です。 高周波をカットするのであれば、それ以上のサンプリングレートが必要になりますので、現実的ではありません。 逆に言うと、それ以下ではフィルタリングは自由にできます。
お礼
なるほど! SN比なども関係してくるのですね! 電気系の知識を一から勉強しなおしてみたいと思います! 回答ありがとうございました!
- simsim21
- ベストアンサー率0% (0/11)
ソフトウェアで増幅するには信号にある程度の大きさが必要です。増幅できなくはないですが、微小信号に使うのは、あまり、おすすめしません 高周波カットに関してはできなくはないですが、簡単にできるとは思えませんので、やめておいた方が良いです
- koujikuu
- ベストアンサー率43% (429/993)
マイコン等のA/Dコンバータは数V程度の電圧がないと有効行数を確保できません 最大5Vとすると有効行数12ビットで 5/4096 = 0.00122V が最小単位です
お礼
なるほど。A/D変換の際に最小単位が決まっているのですね! わかってきました! 回答ありがとうございます!
- Cupper-2
- ベストアンサー率29% (1342/4565)
ソフトウェア…デジタル処理を行うにはA/D、D/A変換が必要になります。 結局のところ生の信号を何らかの形で処理する必要があるのですよ。 シグナルアナライザのような物ではこれらの処理を行ってから各種演算を行い 結果を表示できるような作りになっていますが、 普段使用するものでそこまで手を掛けることはしません。 フィルタ回路を使用する場合と、高精度なA/D変換を行う回路を使用する場合では 作成にかかる費用は桁違いで、且つそこまで精度を必要としないので、 安いフィルタ回路を採用することになります。
お礼
なるほど!コストの面でフィルタ回路を使っているのですね!回答ありがとうございます!
お礼
わかりやすい例えを含めて回答して頂きありがとうございました! ハードウェアとソフトウェアってここまで違うのですね・・・・