看板 MATLAB 關於我們 聯絡資訊
請問各位前輩 是否有人使用過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