声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1337|回复: 4

[滤波] 滤波问题

[复制链接]
发表于 2008-8-25 12:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我设计了一个FIR滤波器,我想滤除掉300Hz到6KHz以外的信号,我的采样率是Fs=16K,程序如下,
Wn=[0.0375 0.75];
B = fir1(50,Wn,'bandpass');
freqz(B,1,512,16000);         %想看一下滤波器是否正确
y =fftfilt(B,x);                           %x为24000*1的原始信号.y为滤波后的信号
可滤出来的信号比我的原始信号还复杂,邪门了!肯定是我哪里错了,希望老师们帮兄弟找下问题,不慎感激!
回复
分享到:

使用道具 举报

发表于 2008-8-25 15:58 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 14:14 编辑
原帖由 Minghanzhang 于 2008-8-25 12:16 发表
滤波问题
我设计了一个FIR滤波器,我想滤除掉300Hz到6KHz以外的信号,我的采样率是Fs=16K,程序如下,
Wn=[0.0375 0.75];
B = fir1(50,Wn,'bandpass');
freqz(B,1,512,16000);         %想看一下滤波器是否正确
y =fftfilt(B,x);                           %x为24000*1的原始信号.y为滤波后的信号
可滤出来的信号比我的原始信号还复杂,邪门了!肯定是我哪里错了,希望老师们帮兄弟找下问题,不慎感激!

楼主的程序并没有错。我用了随机数作为输入x,滤波前后的谱图如下,可以明显看到对信号进行了滤波。
x=randn(24000,1);
mh2b.jpg
 楼主| 发表于 2008-8-25 20:35 | 显示全部楼层

回复 沙发 songzy41 的帖子

非常感谢宋老师帮我解答!学生不慎感激!!!
另外问一个问题,我用以下语句:
[Pxy,f]=CSD(X,Y,NFFT,Fs,Window,Noverlap)     %求出了信号X和Y的互功率谱密度,
Rxy=real(ifft(Pxy));      %求出X和Y的相关函数

问题是我画出了Rxy的波形,它好像是对称双边波形,我如何画出单边波形,能根据其最大值判断其时差啊?
学生这里先谢谢宋老师的解答哈!!!

[ 本帖最后由 Minghanzhang 于 2008-8-25 22:21 编辑 ]
发表于 2008-8-26 09:02 | 显示全部楼层
上次在你提的帖子:
http://forum.vibunion.com/forum/ ... mp;page=1#pid366591
我已说了,你用这种方法:
[Pxy,f]=CSD(X,Y,NFFT,Fs,Window,Noverlap)     %求出了信号X和Y的互功率谱密度,
Rxy=real(ifft(Pxy));      %求出X和Y的相关函数
Pxy是互功率谱,但它只有正频率部分。如果用它计算:Rxy=real(ifft(Pxy)),我不清楚和相关函数有什么样的关系,但总之不是真正的相关函数。
如果把Pxy补足成共轭对称(按共轭对称的要求把负频率部分补上),再Rxy=real(ifft(Pxy)),此时得到的Rxy是循环相关函数。
 楼主| 发表于 2008-8-26 09:36 | 显示全部楼层

回复 地板 songzy41 的帖子

谢谢宋老师哈,嘿嘿,本来想直接用CSD来求互相关函数,但它只有正频率部分,没有办法补零,现在看来只有按你以前给我教的法子一步一步来自己编程解决哈,嘿嘿!!!!谢谢了哈!!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-30 02:09 , Processed in 0.074198 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表