作者x46824682x (亂舞秋楓)
看板MATLAB
標題[討論]聲音訊號之輸入與輸出(daqhwinfo,winsound
時間Sun Feb 19 19:11:40 2012
請問各位前輩
是否有人使用過winsound輸出一單頻訊號給喇叭,再由winsound讓麥克風接收呢?
我需要能夠輸出單頻訊號並在接收後以FFT做處理,取得接收訊號的頻率與強度
但我將接收的訊號以FFT處理後,發現並非原始的單頻訊號,會有倍頻產生,而且基頻也不同.
不知是否為我在程式撰寫錯誤所造成的,以下為我的程式碼..
function DaqSoundTest
obj = daqhwinfo('winsound');
AI=analoginput('winsound',0);
AO=analogoutput('winsound',0);
AI1=addchannel(AI,1);
set(AI);
set(AI,'SampleRate',5000);
set(AI,'SamplesPerTrigger',5000*1.2);
AO1=addchannel(AO,1);
set(AO,'SampleRate',8000);
t=[1:16000]/8000;
y=sin(2*pi*200*t)';
get(AO);
putdata(AO,y);
start(AO)
start(AI)
[Y,T]=getdata(AI);
pause(2)
stop(AI)
stop(AO)
s=1001:6000;
Y=Y(s);
T=T(s);
figure(1)
plot(T,Y)
figure(2)
plot(abs(fft(Y)))
s=find(abs(fft(Y))==max(abs(fft(Y))))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.101.30.222