6wavファイルを読んで,ファイル先頭の512個のデータのパワースペクトルを求めるプログラムcalculatePowerspectrum.cを作りなさい。実行時には課題5で作成したwavファイルを用いなさい。提出はファイル名calculatePowerspectrum.txtとし,書式はこれまでと同様にしなさい。略で、プッシュホン電話機が電話局に電話番号を送る時に使う、ピポパ音のことです。2つの周波数の正弦波音の和になっています。キャラクタ「1」の時は周波数697Hzと1209Hzの2つの正弦波音の和になっています。(697Hzと1209Hzの2つの正弦波音を同時に発生する)DTMFの信号と表現するキャラクタは次のように対応しています。7(1)1キャラクタのみのDTMF信号wavファイル(継続時間1秒,モノラル8kHzサンプリング,8ビット)を生成するプログラムmakeDTMF1.cを作りなさい。ファイル名および,キャラクタはコマンドラインの引数から与えるものとします。,*,#は代わりに,p,qを与えることとします。キャラクタ'3'に対応する697Hzと1477Hzの正弦波音を発生するwavファイルdtmf.wavを作る時は次のように使えるようにします。3うまくwavファイルが出来たかどうかは,チェック用プログラムdetectDTMFで確認しなさい。チェック用プログラムpowerspectrumで出力ファイルをチェックし,予想した周波数のパワー値が大きいことを確認しなさい。windows版powerspectrum.exe)(2)複数キャラクタの信号wavファイル(設定値およびキャラクタ列はテキストファイルで与えられる)を生成するプログラムmakeDTMF2.cを作りなさい。設定用テキストファイルの内容例は次のとおりである。dtmf.wavのように入力されるようにする。うまくwavファイルが出来たかどうかは,チェック用プログラムdetectDTMFで確認しなさい。windows版detectDTMFpro.exe)提出ファイル名はmakeDTMF.txtとし,課題(1)(2)の両方を提出しなさい。書式はこれまでと同様にしなさい。,(1)の出力ファイルはdtmf1.wav,(2)の出力ファイルはdtmf2.wavとして公開しなさい。こまで演習が進んでくると,waveファイルの形式に関する手続きの部分を毎回作るのはわずらわしい。形にしておくのがよい。小坂のwaveファイル利用ライブラリと使用例を与えるので,読み下して,気に入った学生は利用しても良い。説明はwave.hに書いてある。createWave.cとcreateSweepWave.cを公開する。(createWave.cは実は課題5のヒントになっている。8「6」で用いたチェック用detectDTMFは,パワースペクトルの構成を見ながら,どのキャラクタに対するDTMF信号であるかをチェックしている。FFTサイズをどのくらいに設定したらよいか考えながら,自分でdetectDTMFを作りなさい。解析対象のwaveファイルは次のものを行ない,実行結果にどこのレベルまで対応できたか書きなさい。hardest.wav提出ファイル名はdetectDTMF.txtとしなさい。書式はこれまでと同様にしなさい。FIRディジタルフィルタ(第15週)あるwavファイル(例えばinput.wav)のデータから新しいwavファイル(例えばoutput.wav)のデータを次のように生成することを考えよう。次の作業をwavファイルinput.wav内のサンプルデータの個数回繰り返す{input.wavから1サンプルデータ読み出し,xとする。現在を含む4回の連続した入力値の平均値である」となる。入される)され,2回目以降の関数呼び出し時は,前回の呼び出し時の終了時の値を保っている。入力された変数を格納する変数をx0,x1,x2,x3としたが,配列にすることが出来る。各変数にかける値がこの例ではすべて0.25であったが一般的にはこれも配列とすることが出来る。この関数をかきなおすと,次のようになる。y;}この関数はディジタルフィルタと呼ばれるれ,出力値は,現在以前のN個の入力値の一次結合となっている。w[n]は重み係数(タップ係数)と呼ばれ,すべての要素が同じ値とは限らない。wavファイルを読み込み,エコーをつけたwavファイルに変換するプログラムaddEcho.cを作りなさい。ここで使用するディジタルフィルタの係数は全長2400とし,800番目の係数w[799]=0.6,1600番目の係数w[1599]=0.3,2400番目の係数w[2399]=0.1とし,その他の係数はすべて0.0として作りなさい。データのシフト量が多くなったので,xbにリングバッファ(配列だが,先頭とお尻が連続している)の利用を検討しなさい。実行時のデータはreadytoprint.wavを用いなさい。提出ファイル名はdigitalFilter.txtおよびエコーのついたwaveファイルはechoed.wavとしなさい。書式はこれまでと同様にしなさい。wave.hwaveファイルのコピープログラムwave.c,wave.hとともに使う。waveファイルの生成プログラムwave.c,wave.hとともに使う。createWave.c音程が次第に高くなる正弦波音のwaveファイルの生成プログラムwave.c,wave.hとともに使う。waveToyBox.lzh。