作者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