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

8 views (last 30 days)
yuuto kurisaki
yuuto kurisaki on 9 Jun 2020
Answered: Naoya on 12 Jun 2020
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という感じでお願いします。

Answers (1)

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

Categories

Find more on 入力引数と出力引数 in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!