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