资源简介
用matlab m文件实现巴特沃斯滤波器,内附有详细的代码说明,和参数修改位置,根据个人需要可以随意设置参数
代码片段和文件信息
%% 入门 例子
y2=mvnrnd(011000 );%% 高斯白噪声
x=0.01:0.01:10;
y1=10*sin(pi*x);
y=y1‘+y2 %%含有噪声的信号
plot(xy)
[ba]=butter(60.06); %%[b a]=butter(nw0)b为滤波函数的分子系数,a为分母系数,n为滤波器阶次,w0为相对(归一化)截止频率(cutoff frequency)
%%实际截止频率fs除以f采样频率*2,单位为pi*rad/sample,类比角速度w
% y0=filter(bay); %%y0为滤波后的结果,一般滤波
y0=filtfilt(bay); %% 零相位滤波
figure(2)
plot(xy0‘r‘xy)
%% 巴特沃斯滤波器,给定截止频率和阶数
%% signal
x=0.01:0.01:100;
y1=10*sin(0.2*pi*x);
y2=sin(2*pi*x);
y=y1+y2;
plot(xy)
%% filter
[ba]=butter(50.006);% 0.3Hz为截止频率,w0为0.01(0.5Hz)作为截止频率时,效果更好,截止频率越靠近信号频率,
% 是以牺牲相位为代价的。
y0=filter(bay);
figure(1);
plot(xy0)
%% over
%% 巴特沃斯滤波器设计阶数和截止频率,不知道用几阶,只知道大致频率。待解决衰减速度
%% signal
x=0.01:0.01:100;
y1=10*sin(0.2*pi*x);
y2=sin(2*pi*x);
y=y1+y2;
plot(xy)
%% filter
wp=2*0.3/100;
ws=2*0.5/100;%计算方法同w0通带为0.3Hz,阻带为0.5Hz
rp=3;
rs=6;%最大通带衰减为3db最小阻带衰减为6db
[nw0]=buttord(wpwsrprs);%a计算滤波器的阶数和截止频率
[ba]=butter(nw0)
y0=filter(bay);
plot(xy0)
%% over
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1295 2017-03-09 22:02 巴特沃斯滤波器\filter_pra.m
文件 12626 2017-03-07 17:52 巴特沃斯滤波器\unti
目录 0 2018-01-08 01:59 巴特沃斯滤波器
----------- --------- ---------- ----- ----
13921 3
- 上一篇:matlab通信工具箱教程
- 下一篇:放大器模型的matlab仿真实现
相关资源
- 放大器模型的matlab仿真实现
- matlab通信工具箱教程
- matlab2011a种子
- idma 的程序,用matlab实现的idma的系统
- RFID系统MATLAB仿真
- 小游戏贪吃蛇的matlab编程
- CSMA/CA协议matlab代码模拟仿真
- 粒子群算法优化BP神经网络权值的程序
- 用粒子群算法优化支持向量机的matl
- 外点牛顿罚函数优化matlab代码
- S曲线 MATLAB仿真通过
- 用MATLAB编写的高斯脉冲
- matlab实现卷积码编码和解码
- 基四FFT matlab
-
MATLAB PID simuli
nk - 通过达曼光栅生成点阵的matlab程序
- LLL算法的MATLAB程序
- matlab高斯-塞德尔迭代法
- lws压缩感知matlab 代码
- 无网格法matlab程序
- 基于几何最短距离的椭圆拟合
- 基于MATLAB的阵列信号处理仿真
- 遗传优化的BP网络代码MATLAB
- Dubins path生成matlab程序
- 非负矩阵分解 matlab
- 换挡点程序
-
Buck变换器在Matlab_Simuli
nk下的仿真研 - matlab切比雪夫拟合多项式
- prony 工具箱in matlab
- PID算法Matlab仿真程序和C程序[doc.xueh
评论
共有 条评论