用matlab设计一个简单的滤波器 150
我有一串离散的数据,图像比较混乱,其表达式可能为y=a1*sin(x+n1)+...an*sin(100x+n100)但是x前面的系数超过20了我就不考虑了,所以我想把这...
我有一串离散的数据,图像比较混乱,其表达式可能为y=a1*sin(x+n1)+...an*sin(100x+n100)
但是x前面的系数超过20了我就不考虑了,所以我想把这个离散的数据点变的平滑一些,把x前面的系数超过20的全部滤掉。隔行如隔山,这方面知识确实不懂,望大神给写个matlab程序!
我的数据是以2*pi为周期的数据,我在一个周期内采样了N个点(如N=1024),绘制曲线发现毛刺很多,但是那些高频的部分我不需要,我想给滤掉,只保留20阶以下的部分,也就是在2*pi范围内超过20个周期的正弦分量我不要了,信号处理那些术语我都不懂,希望大神能简单明了地讲解一下,悬赏分可以给200 展开
但是x前面的系数超过20了我就不考虑了,所以我想把这个离散的数据点变的平滑一些,把x前面的系数超过20的全部滤掉。隔行如隔山,这方面知识确实不懂,望大神给写个matlab程序!
我的数据是以2*pi为周期的数据,我在一个周期内采样了N个点(如N=1024),绘制曲线发现毛刺很多,但是那些高频的部分我不需要,我想给滤掉,只保留20阶以下的部分,也就是在2*pi范围内超过20个周期的正弦分量我不要了,信号处理那些术语我都不懂,希望大神能简单明了地讲解一下,悬赏分可以给200 展开
3个回答
展开全部
Fs = ??;
%滤波器设计
fc = 4500;
%fc为截止频率,高通滤波器比截止频率高的部分保留;低通滤波器比截止频率低的部分保留
Wn = (2/Fs)*fc;
Fs是采样频率,需要你自己预先赋值
%Wn是归一化截止频率,fir滤波器设计要使用归一化频率
b = fir1(20,Wn,kaiser(21,3)); %kaiser是用凯塞窗 20是阶数
g = filter(b,1,x);
%滤波器设计
fc = 4500;
%fc为截止频率,高通滤波器比截止频率高的部分保留;低通滤波器比截止频率低的部分保留
Wn = (2/Fs)*fc;
Fs是采样频率,需要你自己预先赋值
%Wn是归一化截止频率,fir滤波器设计要使用归一化频率
b = fir1(20,Wn,kaiser(21,3)); %kaiser是用凯塞窗 20是阶数
g = filter(b,1,x);
追问
大神我没看懂……本人菜鸟,这方面就是个文盲……
你这些专业术语我也没懂。
我的信号是从1阶到n阶的,超过20阶我就不要了
Fs不知道是什么
fc为什么取4500也没太懂……
原谅我这个菜鸟吧
展开全部
不是系数超过二十你要滤掉,是你要滤掉20项以后的高频成分
对应于a20*sin(20x+n20)或以后频率更高的项
你关键是没有给出你的数据的采样频率
也就是说你的
y=a1*sin(x+n1)+...an*sin(100x+n100)
而你原来的x是什么
x=[1,2,3,4,5...]
和
x=[0.1,0.2,0.3,0.4,0.5,.....]
两种情况下采样频率差10陪,滤波器就不一样
对应于a20*sin(20x+n20)或以后频率更高的项
你关键是没有给出你的数据的采样频率
也就是说你的
y=a1*sin(x+n1)+...an*sin(100x+n100)
而你原来的x是什么
x=[1,2,3,4,5...]
和
x=[0.1,0.2,0.3,0.4,0.5,.....]
两种情况下采样频率差10陪,滤波器就不一样
追问
x是0到2pi上的N个点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
matlab设计一个简单的滤波器 肯定
你什么时候
你什么时候
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询