声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 929|回复: 5

[滤波] 请教一个滤波的问题,希望大家帮帮我~~~

[复制链接]
发表于 2008-4-3 09:39 | 显示全部楼层 |阅读模式

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

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

x
现在有两个频率的信号,设计一个低通把低的频率滤掉,程序如下,但一直不对,希望高人帮忙~
clear all;
clc;
fs=2000;%采样率
n=1:16;
x=sin(2*pi*500/fs*n)+sin(2*pi*750/fs*n);%现在设计一个低通把500Hz的滤掉
%figure
%plot(x);
y=fft(x,8);%做前8点FFT,先看下频谱,500Hz,750Hz分别对应第3,4根谱线.实际求频率是2,3根
figure;
stem(abs(y));
b=fir1(8,2/8);%低通,9点,截止频率=fs*2/8,归一化后,截止频率=2/8;
y1=filter(b,1,x);%滤波,(感觉不太对,但不知道怎么改)......
figure
stem(abs(fft(y1,8)));%滤完波,频谱不太对
回复
分享到:

使用道具 举报

发表于 2008-4-3 10:57 | 显示全部楼层
8点FFT能看出什么呢?
 楼主| 发表于 2008-4-3 14:17 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-9 13:46 编辑
原帖由 eguang8116 于 2008-4-3 10:57 发表
8点FFT能看出什么呢?

因为是想试下滤波器,应该跟点数没关系把,
发表于 2008-4-3 15:29 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-9 13:46 编辑
原帖由 simonxn 于 2008-4-3 09:39 发表
现在有两个频率的信号,设计一个低通把低的频率滤掉,程序如下,但一直不对,希望高人帮忙~
clear all;
clc;
fs=2000;%采样率
n=1:16;
x=sin(2*pi*500/fs*n)+sin(2*pi*750/fs*n);%现在设计一个低通把500Hz的滤掉
%figure
%plot(x);
y=fft(x,8);%做前8点FFT,先看下频谱,500Hz,750Hz分别对应第3,4根谱线.实际求频率是2,3根
figure;
stem(abs(y));
b=fir1(8,2/8);%低通,9点,截止频率=fs*2/8,归一化后,截止频率=2/8;
y1=filter(b,1,x);%滤波,(感觉不太对,但不知道怎么改)......
figure
stem(abs(fft(y1,8)));%滤完波,频谱不太对

1,信号长只有16点似乎太短,信号滤波过程中会有延迟,有可能在笫8个样点处还没有稳定;
2,FFT用8点进行变换不易看出500Hz和750Hz的情况;
3,截止频率=fs*2/8设置错误,在fir1(n,Wn)中Wn是用fs/2归一,不是用fs归一的;
4,滤波器的阶数n也可能太低,可以用freqz函数看一下频响。
 楼主| 发表于 2008-4-3 15:49 | 显示全部楼层

回复 4楼 的帖子

恩,问题现在基本解决的了,谢谢啦~

但如果我要做高阶的低通,应该调用什么函数呢?
发表于 2008-4-3 17:29 | 显示全部楼层
一样可用fir1
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-19 23:38 , Processed in 0.055966 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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