0

これは私ができる限り単純で曖昧さが少ないので、助けてください。

これにより、私がしたいことを意味します:

1) オーディオトラックを入力 (Anaglod)

2) マイクロコントローラ ADC を使用して、デジタル出力に変換します。

3) 次に、マイクロコントローラ/ボードのタイマーに、選択した間隔でデータをサンプリングさせます。

4) 「サンプリングされたオーディオ トラック」を取得するようにボードに指示し、2B のレートでサンプリングします (B は最高周波数を意味します。

F=周波数

F(Hz=1/s) Ex 100Hz = 1000 (サイクル/秒) F(s)= 1/(2f)

問題例: 1000 Hz = 最高周波数 1/2(1000hz) = 1/2000 = 5x10(-3) 秒/サイクルまたは 5 ミリ秒のサンプリング レート

5) ボードの ADC にそれを吐き戻し、アナログに変換します。したがって、出力は最初のオーディオ トラックを完全に再構成したものになります。

フーリエ解析を使用して、トラックをサンプリングする最高周波数を決定します。

ただし、理論的には簡単で簡単に聞こえますが、必要なのはこれを C でプログラムし、msp430 チップ/Experimenters ボードを使用してトラックをサンプリングすることです。

プログラミングとデバッグには Texas Instruments CCS と Octave を使用する予定です。これは私が使用する私のボードです。

質問:

Cはこれに適した言語ですか?C を使用してナイキスト周波数でタックをサンプリングする方法の例を得ることができますか? ADC コンポーネントを使用するようにボードに指示する C のコードはどれですか? また、このプロジェクトに役立つ、または同様の推奨情報があれば教えてください。

4

3 に答える 3

0

あなたが何をしたいのか完全には理解していませんが、あなたの具体的な質問に答えます。

はい、Cはこれに適した言語です。

おそらく、テキサスインスツルメンツのWebサイトにあるアプリケーションコードを見て、ADCとの対話方法を確認する必要があります。リンクしたページの下部にリストされているサンプルコードから始めることができます。ADCの使用方法を示すCコードがあります。

ちなみに、ADCはアナログをデジタルに変換するだけです。デジタルからアナログに移行するには、このボードにはないように見えるDACが必要です。

于 2010-12-29T19:43:11.750 に答える
0

5) ADC はデジタルからアナログへの変換を行いません。これは DAC ではなく ADC であるためです。ただし、PWM とローパス フィルターを使用してアナログ信号を出力することもできます。

ナイキスト周波数で信号をサンプリングすることは、多くの場合、悪い考えです。これにより、高周波数で多くのエイリアシングが発生します。たとえば、周波数が F-deltaF の信号では、deltaF が小さい場合、F 振幅が 2deltaF で変調されたように見えます。

そのため、CD サンプリング レートは 30 kSPS ではなく 44.1 kSPS です (15 kHz の 2 倍 -- 上限周波数)。

于 2010-12-30T12:17:44.147 に答える
0

信号の最高周波数の 2 倍の周波数で信号をサンプリングする必要があります。そうしないと、エイリアシング効果 (元の信号の歪み) が発生します。fft を実行するには、アナログ信号をデジタル値に変換する必要があるため、フーリエ解析で信号の最高周波数を決定することはできません。変換周波数 (fft で決定したい) を使用します。

入力信号の最高周波数は、アナログからデジタルへの変換前に信号が通過する必要があるアナログ入力フィルターによって定義されます。

于 2011-03-24T08:25:08.007 に答える