%% 入门 例子
y2=mvnrnd(0,1,1000 );%% 高斯白噪声
x=0.01:0.01:10;
y1=10*sin(pi*x);
y=y1'+y2 %%含有噪声的信号
plot(x,y)
[b,a]=butter(6,0.06); %%[b a]=butter(n,w0)b为滤波函数的分子系数,a为分母系数,n为滤波器阶次,w0为相对(归一化)截止频率(cutoff frequency)
%%实际截止频率fs除以f采样频率*2,单位为pi*rad/sample,类比角速度w
% y0=filter(b,a,y); %%y0为滤波后的结果,一般滤波
y0=filtfilt(b,a,y); %% 零相位滤波
figure(2)
plot(x,y0,'r',x,y)
%% 巴特沃斯滤波器,给定截止频率和阶数
%% signal
x=0.01:0.01:100;
y1=10*sin(0.2*pi*x);
y2=sin(2*pi*x);
y=y1+y2;
plot(x,y)
%% filter
[b,a]=butter(5,0.006);% 0.3Hz为截止频率,w0为0.01(0.5Hz)作为截止频率时,效果更好,截止频率越靠近信号频率,
% 是以牺牲相位为代价的。
y0=filter(b,a,y);
figure(1);
plot(x,y0)
%% over
%% 巴特沃斯滤波器设计阶数和截止频率,不知道用几阶,只知道大致频率。待解决衰减速度
%% signal
x=0.01:0.01:100;
y1=10*sin(0.2*pi*x);
y2=sin(2*pi*x);
y=y1+y2;
plot(x,y)
%% filter
wp=2*0.3/100;
ws=2*0.5/100;%计算方法同w0,通带为0.3Hz,阻带为0.5Hz
rp=3;
rs=6;%最大通带衰减为3db,最小阻带衰减为6db
[n,w0]=buttord(wp,ws,rp,rs);%a计算滤波器的阶数和截止频率
[b,a]=butter(n,w0)
y0=filter(b,a,y);
plot(x,y0)
%% over
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
巴特沃斯滤波器.rar (2个子文件)
巴特沃斯滤波器
untitled.slx.autosave 12KB
filter_pra.m 1KB
共 2 条
- 1
资源评论
折水西流
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功