正弦波の周波数につい​て、2CH周波数の出​力方法を教えてくださ​い。

3 ビュー (過去 30 日間)
yuuto kurisaki
yuuto kurisaki 2020 年 6 月 9 日
回答済み: Naoya 2020 年 6 月 12 日
fs=96000;
Ts=1/fs;
freq1=440;
mag1=0.5;
freq2=660;
mag2=0.5;
sec=1;
t=[0:Ts:sec];
wavedata1=mag1*sin(2*pi*freq1*t);
wavedata2=mag2*sin(2*pi*freq2*t);
wavedata=?
plot(t,wavedata);
title('');
xlabel('');
ylabel('');
wavedata=wavedata/max(abs(wavedata));
sound(wavedata,fs,24)
audiowrite('SP.wav',wavedata,fs,'BitsPerSample',24);
ここまでできてるのですが、?マークの場所にどう書けば、左右のスピーカーから違った周波数を出力できるのか教えてください。
例えば右のスピーカから440Hz左のスピーカから660Hzという感じでお願いします。

回答 (1 件)

Naoya
Naoya 2020 年 6 月 12 日
こちら は、sound関数の引数 y に対する説明になります。
2ch 出力する場合は、 y を M行2列の行列で定義します。
現状の wavedata1, wavedata2 は行ベクトルのようですので、
>> wavedata = [wavedata1', wavedata2'];
のように各行ベクトルを転置して、横方向に列ベクトルを結合することで 96001x2 の行列を作成することができます。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!