[討論] 關於高頻播放的問題已回收

看板MATLAB作者 (嗯嗯)時間14年前 (2011/03/08 13:39), 編輯推噓6(606)
留言12則, 5人參與, 最新討論串1/1
一般而言, 人耳可以聽到的頻率為20-20000Hz 以下是我一段程式碼 f1 = 20000 ; % 目標播出的頻率 fs = f1 .* 10 ; % 取樣頻率超過2倍 t = 0 : 1/fs : 3 ; % 3秒資料 data = sin(2.*pi.*f1.*t) ; plot(t(1:700),data(1:700)) xlabel('time in second') ylabel('Magnitude') wavplay(data,fs,'async') 理論上f1超過20000以上, 就是聽不到了 但是以上述程式碼執行時, f1約在21000以上, 又可聽的到 請問各位先進 是哪裡出了問題, 需要修改 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.40.89

03/08 14:38, , 1F
我覺得是硬體問題 doc sound的note的地方
03/08 14:38, 1F

03/08 19:47, , 2F
fs = 48000;
03/08 19:47, 2F

03/08 20:16, , 3F
resampling?
03/08 20:16, 3F

03/09 13:38, , 4F
fs 設定為 f1的十倍, 只要高於2倍即可, 二樓建議的48000
03/09 13:38, 4F

03/09 13:41, , 5F
會不會alaising, 還有三樓提出的resampling,為何會重複取樣?
03/09 13:41, 5F

03/09 17:01, , 6F
我測試的結果 超過20KHz就聽不到 但低於20KHz OK
03/09 17:01, 6F

03/09 17:04, , 7F
撥放器的頻響應該也會有影響 一般撥放器的線性放大器區間
03/09 17:04, 7F

03/09 17:24, , 8F
應當不太可能超過20KHz
03/09 17:24, 8F

03/09 21:38, , 9F
如果你的音效是由主機板上的音效晶片處理,那很有可能
03/09 21:38, 9F

03/09 21:38, , 10F
會被強制resampling成48000
03/09 21:38, 10F

03/09 21:39, , 11F
請google 關鍵字 resampling 48000 ac97
03/09 21:39, 11F

03/15 10:53, , 12F
謝謝上面各位給的建議~
03/15 10:53, 12F
文章代碼(AID): #1DTS44Yd (MATLAB)