2017-04-04 6 views
-2

私は現在Arduinoのオーディオベースのプロジェクトに取り組んでいます。入力は(ADC経由で)double型であり、データに対していくつかの演算を実行する必要があります。私はその後、オーディオを出力する必要があります。しかし、問題は、PWM出力レジスタ(AVRに基づく)がintを受け入れることです。情報を失うことなくfloatをintに変換するには?

したがって、このフロートをデータを失うことなくintに変換する方法はありますか?

+1

ATmega ADCは10ビットの整数を出力します。どのデータを失うのですか?変換の例を挙げてください。 – umka

答えて

0

入力が量子化されない限り、入力の最大ダイナミックレンジとそれ以降の算術演算の結果は、nのサイズの2 nに制限されない限り、ほとんどの場合、情報は失われます。あなたの整数。

量子化ノイズのノイズシェーピング(フィルタリングされたディザリング)は、信号入力に応じて情報損失の一部を軽減するのに役立つことに注意してください。

関連する問題