|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我有一段机械振动声音信号,用matlab读取数据后,想通过
b=fir1(348,1000/fs,'high');%fs为我的语音采样频率
freqz(b,1,512)
xx=filter(b,1,x);%x为读出的语音信号数据是一个一维数组
上面的代码滤波,得到的 x的 1000hz 以上的信号xx,然后对xx做频谱分析,
理论上经过上面的滤波后是应该1000hz以下的信号会消失的,但是我频谱做出来后发现 低频信号(1000hz以下的信号)还是存在,而且和滤波前的幅值啊什么的 都差不多,也就是说上面的代码根本没有起到 高通滤波的效果,请高手指点啊这是为什么啊? 我错在哪里啊? 原先以为滤波器阶数太低效果差,可我上面的阶数已经很大了啊为什么还是 没有效果??
而且我发现如果我用低通滤波器滤掉1000hz以上的信号后,发现原来低通信号也都几乎被虑掉了 真是奇怪啊 请高手帮忙啊! 小弟在线等待!!!!! 非常急!!!!!!!!!!!!!!!!!!!! 求各位大虾帮忙啊!!!!!!!!
[ 本帖最后由 lxq 于 2006-9-28 21:17 编辑 ] |
|