matlab 巴特沃斯滤波
来源:互联网 发布:开淘宝店怎么样 编辑:程序博客网 时间:2024/05/22 15:24
低通滤波
fs=30; %采样频率N=300; %N/fs 秒数据n=0:N-1; t=n/fs; %时间if 0fl = 0.4; %低频fh = 5; %高频s=cos(2*pi*fl*t)+cos(2*pi*fh*t); %s是0.4Hz和5Hz信号叠加,低通截止频率是1Hzsubplot(121);plot(t,s);title('输入信号');xlabel('t/s');ylabel('幅度');sfft=fft(s);subplot(122);plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));title('信号频谱');xlabel('频率/Hz');ylabel('幅度');%设计低通滤波器,截止频率为1if 0Wp=1/fs;Ws=2/fs; %截止频率为1Hz,阻带截止频率为2Hz%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wn[n,Wn]=buttord(Wp,Ws,1,50); %阻带衰减大于50db,通带纹波小于1dbelsen=4;Wn=1/(fs/2);end%设计Butterworth低通滤波器[a,b]=butter(n,Wn);[h,f]=freqz(a,b,'whole',fs); %求数字低通滤波器的频率响应f=(0:length(f)-1*fs/length(f)); %进行对应的频率转换figure;plot(f(1:length(f)/2),abs(h(1:length(f)/2))); %绘制幅频响应图title('巴特沃斯低通滤波器');xlabel('频率/Hz');ylabel('幅度');grid;sF=filter(a,b,s); %叠加函数s经过低通滤波器以后的新函数figure;subplot(121);plot(t,sF); %绘制叠加函数s经过低通后时域图形title('输出信号');xlabel('t/s');ylabel('幅度');SF=fft(sF);subplot(122);plot((1:length(SF)/2)*fs/length(SF),2*abs(SF(1:length(SF)/2))/length(SF));title('低通滤波后频谱');xlabel('频率/Hz');ylabel('幅度');end
带通滤波
fl = 2; %低频fh = 10; %高频s=cos(2*pi*fl*t)+cos(2*pi*fh*t); %s是2Hz和3Hz信号叠加,带通截止频率是1Hz~4Hzs=H;N=3636; %N/fs 秒数据n=0:N-1; t=n/fs; %时间subplot(121);plot(t,s);title('输入信号');xlabel('t/s');ylabel('幅度');sfft=fft(s);subplot(122);plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));title('信号频谱');xlabel('频率/Hz');ylabel('幅度');%设计带通滤波器,截止频率为0.4~5n=4;Wn=[0.4/(fs/2) 5/(fs/2)]%设计Butterworth低通滤波器[a,b]=butter(n,Wn);[h,f]=freqz(a,b,'whole',fs); %求数字低通滤波器的频率响应f=(0:length(f)-1*fs/length(f)); %进行对应的频率转换figure;plot(f(1:length(f)/2),abs(h(1:length(f)/2))); %绘制幅频响应图title('巴特沃斯带通滤波器');xlabel('频率/Hz');ylabel('幅度');grid;sF=filter(a,b,s); %叠加函数s经过低通滤波器以后的新函数figure;subplot(121);plot(t,sF); %绘制叠加函数s经过低通后时域图形title('输出信号');xlabel('t/s');ylabel('幅度');SF=fft(sF);subplot(122);plot((1:length(SF)/2)*fs/length(SF),2*abs(SF(1:length(SF)/2))/length(SF));title('带通滤波后频谱');xlabel('频率/Hz');ylabel('幅度');
阅读全文
0 0
- matlab 巴特沃斯滤波
- MATLAB滤波实验
- MATLAB滤波代码
- MATLAB滤波实验
- matlab图像滤波
- matlab中值滤波--medfilt2
- matlab 图形锐化 滤波
- matlab 频域滤波
- Kalman滤波 Matlab仿真
- matlab 双边滤波
- matlab双边滤波
- 双边滤波matlab代码
- 【matlab】空间滤波
- [matlab 图像处理] 滤波
- matlab中滤波函数
- matlab频域滤波
- 中值滤波讲解-Matlab
- Matlab滤波函数
- SSM 配置及使用@Transactional 详解
- 三角测量(triangulation)
- 安装swoole
- [LeetCode]102. Binary Tree Level Order Traversal
- Hibernate关系映射多对多
- matlab 巴特沃斯滤波
- [java web基础]实现自动登录功能demo
- (Codeforces Round #413) Field expansion (搜索+思维优化)
- 【必看】Vim Tutor
- AsycnTack与URLConnection的结合
- 第四章
- 将json数据添加到数据库
- 【DSP】CCS 5.5的安装教程
- 矩阵快速幂(new 模板