標準的なPCMデータ(正弦波、方形波、三角波)通訳

歴史は、正弦波、方形波、三角波など、いくつかの標準的な波形を生成するため、デモを書き込みます。これを書き込む前に、わずか数機能:波形/チャンネル/期間/周波数制御オプション、これらの日には、いくつかの時間をポンピングし、利得制御機能を追加しました。失われた回避または誤って何かを削除し、特ににアップロードするにはGitHubに、必要性を検証ダウンロードすることができますがあります。

測定信号に乗るときに、我々は(WAV封入)所望のように波形を生成し、再生ボードの記憶装置に、得られたファイル。デバッグ時には、一時的であることを同僚(jiawei呼ばHaoshua純粋でシンプルで正直な弟、)を探しているが、私は信号の異なるサンプルレート/チャンネル/ゲイン/周波数の組み合わせを必要とするかもしれないので、数が限られていることを忘れないでください。

gitリポジトリCStandardWaveGeneratorとAdobe Auditionの次の組み合わせは、音のいくつかの概念を提示します。チャンネル、サンプルレート、ゲイン、周波数、継続時間などの概念のように。開始別の補助ボーエンフーリエ変換の時間の後に、所望のデモを生成する信号源を使用して変換。

 

例ショー

信号生成:正弦波 + 長い100msの + サイクルは10ms(周波数は100Hz) + モノ + 8Kサンプル・レート + モノ + 6デシベル

ラン:./StandardWaveGenerator.exe 1 8000 0 10 100 -6。

附带信息:sample_rate = 8000、channle = 1とsin.wavを取得し、持続時間= 100ミリ秒、周期= 10ミリ秒、ゲイン= -6dBで、pcmLen:1600

オーディションでファイルsin.wav、解釈を取得します。

 

 

信号の解釈

1.単一および二重チャンネル(チャンネル)

人気の話、あなたはいくつかのマイク信号取得で行きます。図の2チャンネルは、上部2つの波形もし。2チャンネルのそれぞれのサンプリングデータ量:2chn * 16ビット(s16le)= 4バイト

 

2.サンプリング周波数(sample_rate)

これは、次の違いを行うための信号の周波数(周期信号の周波数)であるべきです。これが意味:1秒あたりのサンプル数を。

上記の例に示すように、サンプリング周波数が8Kで、サンプルを表す1Sは、100ミリ秒の信号のみを残して、8,000であった、データサイズのゆえ量:8000 * 2バイト*(100/1000)= 1600Bytes、コマンドからの出力情報も見ることができます。

 

3.期間(DURATION)

このファイルの時間の長さは、一例では100ミリ秒です

 

4.信号周波数/信号周期(度数/期間)

この値は、次に= 1 / T = 100HzのF、点が示され、下半分から分かるよう制御する「期間= 10ミリ秒」、すなわち、T = 10msで、信号は、次に上記の例を使用して、繰り返しどのくらい表します周波数信号100(透明な黄色のバンド)。

 

ゲイン(GAIN)

これは、特定の値に比べて信号の特定の意味であり、音の大きさを示すことができる:(V 20lg 1 / V 2)、オーディオ及びVレーン最大値2 = 2 15 = 32768の比較は、信号であってもよい-6dBその値が計算される:2 14 = 16384

たとえば、私たちは、ファイルの最大値は、それが真実であるかどうかを確認するために、その次の操作を実行することでどれだけ見つけるためにしている場合

。ステップ1半波PCM最大値のサンプル番号:10ミリ秒*(1/4)/ 1000ミリ秒* 8000 = 20

44 wav_header、20個の* 22 =サンプルが0x54ファイル:. 44 + 20 * 2 = 84でオフセットSTEP2、2バイトの各代表

step3. 用winhex进行查找(alt+g):得到 25 40

 

 step4. 25 40代表值多少呢?由于存储格式为S16LE,S(signed)代表有符号,LE(little endian)为小端存储(先存低字节,再存高字节),那么这个采样值为0x4025 = 16421,大体上接近理论值16384。

 

おすすめ

転載: www.cnblogs.com/Dreaming-in-Gottingen/p/11441842.html