作者Sanbeishuu (三杯鼠)
看板MATLAB
標題[問題] 低通濾波&fopen fwrite
時間Mon Aug 27 02:02:42 2012
請問各位大大 關於在Matlab中實作 Butterworth低通濾波器
Google到的做法是 利用 butter() 跟 filter()
[b,a]=butter(n, 500/(44100/2), 'low');
%這是一個n階的butterworth low pass在500 Hz的截止頻率
要濾波的訊號原本是44100 Hz的取樣頻率
y=filter(b,a,x);
% x是要濾波的訊號 y則是低通濾波後的訊號
請問以上的做法有什麼地方有錯誤嗎? 很怕弄錯@@
另外請問關於 fopen跟fwrite 如果我用fopen來fread一個wav檔
就一定得用fwrite將他寫回.wav 如果是用wavread讀一個wav檔也無法fwrite
爬文看到應該是因為wavread或者wavwrite都會有做正規化的動作
那請問什麼情況下用fread會比wavread好呢?
因為現在拿到一份code他是用fread fwrite在處理 可是他原本只處理單聲道
但我的wav檔是雙聲道的 fwrite似乎只能寫(:,1)的vector?
當然我是可以都改用wavread跟wavwrite來做 只是不知道兩者有差異嗎?
是wavread wavwrite會造成什麼訊號的失真或者是?
檔案格式是PCM的 如果用fopen fwrite會造成什麼檔頭資訊的問題嗎?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.53.228
※ 編輯: Sanbeishuu 來自: 114.33.53.228 (08/27 02:03)
※ 編輯: Sanbeishuu 來自: 114.33.53.228 (08/27 02:04)