MATLAB切比雪夫带通滤波器

MATLAB切比雪夫带通滤波器原始信号由5Hz,50Hz,110Hz三种频率的正弦信号构成,并含有直流分量。原始信号为:y=sin(5*2*pi*x)+sin(50*2*pi*x)+sin(110*2*pi*x)+0.5;​图1 原始信号 ​使用通带为[10,100]Hz的切比雪夫滤波器,滤波后的信号时域曲线为:图2 滤波信号​对原始信号和滤波信号作傅里叶变换,观察频谱的变化(左图为原始信号…

大家好,又见面了,我是你们的朋友全栈君。

原始信号由5Hz,50Hz,110Hz三种频率的正弦信号构成,并含有直流分量。

原始信号为:y=sin(5*2*pi*x)+sin(50*2*pi*x)+sin(110*2*pi*x)+0.5;​

MATLAB切比雪夫带通滤波器图 1   原始信号 

​使用通带为[10,100]Hz的切比雪夫滤波器,滤波后的信号时域曲线为:

MATLAB切比雪夫带通滤波器图 2   滤波信号

​对原始信号和滤波信号作傅里叶变换,观察频谱的变化(左图为原始信号频谱,有图为滤波信号频谱)。

MATLAB切比雪夫带通滤波器图 3   频谱对比 

​对比图 3 可见,原始信号5Hz,110Hz的交流成分和直流成分都被滤掉了,只保留了50Hz交流成分,并且幅值吻合。

附切比雪夫II型带通滤波器程序

​function [X,Y]=Chebyshev2bp(x,y,fp,fs,Rp,Rs)

% fp 通带边界频率,单位Hz

% fs 阻带边界频率,单位Hz

% Rp 通带波纹,单位分贝(通常取值为1,该值越小通带幅值越平稳,但过渡带宽也越大)

% Rs 阻带衰减,单位分贝(从30附近试取,该值越大阻带幅值越小,但过渡带宽也越大)

wp=fp*2*pi;

ws=fs*2*pi;

[N,Wn]=cheb2ord(wp,ws,Rp,Rs,’s’);  % 根据滤波器要求,求得滤波器最小阶数(计算也越慢)和截止频率(万永革 例5-17)

N

%%% 关于滤波器阶数N的说明

% 理论上,滤波器阶数越高越接近理想滤波器,但滤波器阶数达到一定值后再增加阶数,其逼近程度并不再显著提高,但计算量依然增加,所以理论上不需要无穷大的阶数

% 实际编程中,随着阶数无限升高,更根本的问题是计算机积累误差凸显,将使其与理想滤波器相去甚远,最终时域幅值严重失真,所以实际应用中滤波器阶数也不是越高越好

[z,p,k]=cheb2ap(N,Rs);  %设计Chebyshev II型原型低通滤波器(万永革 例5-8)

[b,a]=zp2tf(z,p,k);  % 将零点极点增益形式转换为传递函数形式

Wo=sqrt(Wn(1)*Wn(2));  % 计算中心点频率(万永革 例5-14)

Bw=Wn(2)-Wn(1);  % 计算频带宽度

[bt,at]=lp2bp(b,a,Wo,Bw);  % 频率转换。将模拟原先低通滤波器转换为带通滤波器

H=[tf(bt,at)];  % 在MATLAB中表示此滤波器(万永革 例5-13)

[Y,X]=lsim(H,y,x);

 

https://www.cnblogs.com/alimy/p/9140695.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136146.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LintCode – Ladder4 Breadth First Search

    LintCode – Ladder4 Breadth First Search

    2022年3月8日
  • netty bytebuffer_netty源码剖析与实战

    netty bytebuffer_netty源码剖析与实战一、背景简介ByteBuf,顾名思义,就是字节缓冲区,是Netty中非常重要的一个组件。熟悉jdkNIO的同学应该知道ByteBuffer,正是因为jdk原生ByteBuffer使用比较复杂,某些场景下性能不是太好,netty开发团队重新设计了ByteBuf用以替代原生ByteBuffer。二、ByteBuf和ByteBuffer对比下面用图示来展示ByteBuf和ByteBuffer工作原理:①、ByteBufferByteBuffer依靠flip()来切换模式,在读模式下..

    2022年9月19日
  • apache 负载均衡_windows apache 实现负载均衡

    apache 负载均衡_windows apache 实现负载均衡最近做的一个项目可能需要用Aapche实现访问请求分流提高访问性能。因此自己研究了一下。现在把我自己配置成功的过程分享一下。首先要下载Apache.建议从官网下载http://httpd.apache.org/download.cgi我安装的是最新的版本2.4.25。安装方法参照http://jingyan.baidu.com/article/296

    2022年9月3日
  • java钩子函数(javasocket钩子)

    也不知道我理解的对不对,欢迎大家讨论!自己写了个钩子函数,我理解的钩子函数:publicinterfaceTransactioner{Stringwedontknow();}publicabstractclassGouZi{publicabstractvoidgouzi(Transactione…

    2022年4月13日
  • 较新颖的智能优化算法[通俗易懂]

    较新颖的智能优化算法[通俗易懂]32个较新颖的智能优化算法序号方法参考文献年份1人群搜索算法Dai,C.,Y.Zhu,andW.Chen.Seekeroptimizationalgorithm.inInternationalConferenceonComputationalandInformationScience.2006.Springer.20062人工蜂群算法Karaboga,D.andB.J.J.o.g.o.Basturk,Apowerfu

    2022年5月10日
  • XILINX_linux基本命令的使用

    XILINX_linux基本命令的使用petalinux-v2018.2rootfs配置开发用到的常用工具,使能如下选项,FilesystemPackages→base→util-linuxutil-linux-mkfsFilesystemPackages→base→e2fsprogs [*]e2fsprogs []e2fsprogs-dev…

    2022年9月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号