2012-03-20 2 views
0

wavwriteを使用してplot(yi)で表示されるデータをエクスポートしようとしています。私が補間を行うと、(yi)信号はゼロで開始しません。補間された信号をゼロから始めるにはどうしたらいいですか? wavwriteがこのように動作しないため、プロット(xxorig、yi)だけではできません。誰もが回避策を知っていますか?信号のプロットや音のwavファイルを -信号/配列の補間/新しい長さ/時間スケールの作成

私は

clear all, clf 
xxorig=[0, 0.418879, 0.837758, 1.25664, 1.67552, 2.0944, 2.51327, 2.93215, 3.35103, 3.76991, 4.18879, 4.60767, 5.02655, 5.44543, 5.86431, 6.28319]; 
xx=[0, 0.296192, 0.592384, 0.888577, 1.18477, 1.48096, 1.77715, 2.07335, 2.36954, 2.66573, 2.96192, 3.25811, 3.55431, 3.8505, 4.14669, 4.44288]; 
yy=[0, 0.406737, 0.743145, 0.951057, 0.994522, 0.866025, 0.587785, 0.207912, -0.207912, -0.587785, -0.866025, -0.994522, -0.951057, -0.743145, -0.406737, -2.44929e-16]; 

yi=interp1(xx,yy,xxorig); 
subplot(4,1,1),plot(xxorig,yy),title("plot(xxorig,yy)") 
subplot(4,1,2),plot(xx,yy),title("plot(xx,yy)") 
subplot(4,1,3),plot(yy),title("plot(yy)") 
subplot(4,1,4),plot(yi),title("plot(yi)") 
wavwrite([yy'] ,16,32,'/tmp/test.wav') 

enter image description here

答えて

0

オクターブ3.2.4/MathWorks社のMATLABを使用していますそれはあなたがエクスポートしようとしているか不明ですか?

WAVWRITEを使用して、WAVE形式でサウンドを保存します。この場合、信号強度はyiで、オプションでサンプルレート(デフォルトレートは8000 Hz)を渡します。あなたは、私はあなたがX軸上の時間を指定する信号をPLOTしたい場合は、

Fs = numel(xxorig)/(xxorig(end)-xxorig(1)); 

としてyiのためのあなたのサンプル・レートを計算することができると信じて、あなたの信号が0

で起動しないように注意しsouldn't 。 plot関数にxを渡さないと、1から始まる注文番号だけが使用されます。これは、plot(yi)またはplot(yy)カーブが0から始まらない理由です。

関連する問題