[問題] 低通濾波&fopen fwrite

看板MATLAB作者 (三杯鼠)時間13年前 (2012/08/27 02:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請問各位大大 關於在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)
文章代碼(AID): #1GEcJ5Su (MATLAB)
文章代碼(AID): #1GEcJ5Su (MATLAB)