App_Audio(オーディオアプリ)

TWE-LITE のアナログ入力とPWM出力を用いてオーディオまたは信号波形をボタンを押した間に相手側に送信するアプリケーションです。専用のオーディオインタフェースICは不要ですが、ローパスフィルタ、アンプなどの外部回路の構成が必要になります。

※電波新聞社「電子工作マガジン SUMMER 2014」号に製作記事が掲載されています。参考にしてください。

仕様

ソフトウェア

※ソースコードはTWE-SDKのWks_ToCoNet/App_Audio に含まれます。

※ ファームウェアの書き込み方法は TWE-LITE-R の利用を推奨します。

ハードウェア

回路図

※クリックすると拡大します

解説

音声入力部

 

音声出力部

使用するピン

使用するピン名は TWE標準アプリケーションを参照ください。

ピン名 解説 備考
AI1 アナログ入力 (必須) 0-2V の間で振幅するようにアナログ信号を調整してください。AC信号は入力できません。
また、入力のローパスフィルタはサンプリング定理の考え方から必要です。肉声などあまり高周波が含まれない信号を入力する場合は省略しても出力に大きな影響がない場合もあります。
PWM1 無線経由の信号データの出力 32KHz のPWM 出力となります。これをローパスフィルタと AC カット用のキャパシタを介すると、元のアナログ信号を再現します。
PWM2 A1 のパススルー 無線通信せず、単体で LPF などの評価を行う場合使用します。
PWM3 サンプリング周期を示す矩形波  
DI1 LO にすると無線出力します (必須)  
DI2 LO にするとサンプルトーンを出力します 本来テスト用ですが、モールス信号送信機といった応用が考えられます。
DO1 LO になると無線信号を出力中を意味します  
DO2 DI2 が LO になると、LO 出力します  

使い方

(1) TWE-LITEには全て同じファームウェア(App_Audio*.bin)を書き込みます。
(2) 事前にインタラクティブモードで設定を済ませておきます。
※ 特に信号伝送を行いたい場合は RAW8,RAW10, サンプリング周期設定が必須です。
(3) AI1, PWM1, DI1 を接続(参考回路図参照)したトランシーバーを2ヶ(以上でも可)作成します。
(4) 2ヶのトランシーバーの電源を投入します。
(5) 片方でボタンを押せば、他方から音が出ます。
※ 両方同時に押すと音が出ません。

インタラクティブモードの設定

インタラクティブモードを表示するには、TWE-LITE の UART0 を接続し (TWE-LITER など)、ターミナルソフトを 115200bps 8N1 条件で開きます。+ + + と + を3回一呼吸置きながら入力すると、以下の画面が表示されます。

--- CONFIG/TWE AUDIO APP V0-03-2/SID=0x81000038/LID=0x78 ---
 a: set Application ID (0x67720108)
 i: set Device ID (--)
 c: set Channels (18)
 x: set Tx Power (3)
 p: set PWM HZ (32000)
 f: set Sample Freq (8000)
 d: set Codec Type (0)
 o: set Option Bits (0x00001130)
 b: set UART baud (38400)
---
 S: save Configuration
 R: reset to Defaults

[PWM HZ]

PWM の周波数を決定します。

例えば 32000Hz の場合、16MHz/32000=500 カウントによる DUTY 比の変更が可能です。 ディジタルオーディオで一般的な16bit(=65536)に対して、約9bit(=512段階)と粗くな ります。 周波数を下げると音質(ダイナミックレンジやS/N)が向上するかもしれませんが、 PWM の制御タイミングなどの揺らぎなどの影響、PWM 周波数自体が音質に影響しやすく なりますので、バランスの良いポイントを選ぶ必要があります。

[Sample Freq]

ADC のサンプリング周波数 (fs) です。

fs/2 Hz 以上の信号が含まれると折り返し ノイズが発生します。8000Hz なら 4000Hz 以上の音声は含まないようにするか、 LPF (ローパスフィルタ) により抑え込みます。

周波数を上げると音質は向上しますが、無線の通信が追いつかなくなります。 8000Hz では 20ms 毎に無線通信を行います。

[Codec Type]

ADCから得られたデータ、無線パケットでも送信できるように変換します。

[オプションビット]

制限事項

IMA ADPCM について

広く使われている(簡易)ADPCMで、音質面では高域の再現性が低下するものの、計算量の少なさと状態ベクトルが小さいため取り扱いが良好です。

/***********************************************************
 Copyright 1992 by Stichting Mathematisch Centrum, Amsterdam, The
 Netherlands.

 All Rights Reserved

 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in
 supporting documentation, and that the names of Stichting Mathematisch
 Centrum or CWI not be used in advertising or publicity pertaining to
 distribution of the software without specific, written prior permission.
 ******************************************************************/

/*
 ** Intel/DVI ADPCM coder/decoder.
 **
 ** The algorithm for this coder was taken from the IMA Compatability Project
 ** proceedings, Vol 2, Number 2; May 1992.
 **
 ** Version 1.2, 18-Dec-92.
 **
 */