Ciobowu曾有帖子https://www.ilovematlab.cn/thread-202931-1-9.html提到如何对低频信号进行滤波,今又提出低频信号滤波出现的问题https://www.ilovematlab.cn/thread-205846-1-1.html,以下给出怎么给出较好的滤波效果。

低频信号实际上是一个相对的概念,这里所讲的低频信号是指今昔对比滤波的信号频率与采样频率之比小于0.05。在https://www.ilovematlab.cn/thread-205846-1-1.html帖子中采样频率是400Hz,而要滤波出1Hz和2Hz的信号,所以1/400或1/200都小于0.05。

不论用FIR滤波器还是用IIR滤波器,当fc/fs(即信号频率与采样频率之比)很小时,在设计滤波器时或滤波器的阶数很大,或滤波器的响应曲线变得很坏,无法得到较好的滤波器输出。在这种情况下可以把信号先降采样,降采样后再进行滤波器设计和滤波,最后把滤波器的输出再上采样,恢复到原始信号的采样频率。以下用帖子https://www.ilovematlab.cn/thread-202931-1-9.html中的数据为例说明。程序有(程序中都有注释,用了该帖子上的数据)

load data_imp

x=data_imp;

fs=400;

time=(0:length(x)-1)/fs;

fc=1;

[p,q]=rat(10*fc/fs)

fs1=fs*p/q;                            % 求出降采样频率

x1=resample(x, p, q);                  % 信号降采样

N=length(x1);

N2=N/2+1;

n2=1:N2;

time1=(0:N-1)/fs1;

subplot 211; plot(time1,x1);            % 下采样后的波形

title('下采样后的信号波形');

xlabel('时间')

As=40;Fs=fs1; Fs2=Fs/2;                % 阻带最小衰减和采样频率

fp1=1; fp2=2;                          % 通带频率

fs1=0.8; fs2=2.2;                      % 通阻带频率

df=min(fp1-fs1,fs2-fp2);               % 求取过渡带

M=round((As-7.95)/(14.36*df/Fs))+2;    % 按公式求凯泽窗长

wp1=fp1/Fs2*pi; wp2=fp2/Fs2*pi;        % 转为圆频率

ws1=fs1/Fs2*pi; ws2=fs2/Fs2*pi;

wc1=(wp1+ws1)/2; wc2=(wp2+ws2)/2;      % 求取截止频率

beta=0.1102*(As-8.7);                  % 按公式求出beta值

fprintf('beta=%5.6f\n',beta);          % 显示beta的数值

w_kai=(kaiser(M,beta))';               % 求凯泽窗

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);    % 求理想滤波器的脉冲响应

h=hd.*w_kai;                           % 理想脉冲响应与窗函数相乘

[db,mag,pha,gfd,w]=freqz_m(h,[1]);     % 求幅值响应

% 作图

figure(2)

plot(w/pi*Fs2,db); grid;

title('滤波器的幅值响应(dB)');axis([0 Fs2 -100 10]);xlabel('频率(Hz) '); ylabel('分贝数');

yn=conv(h,x1);

y=yn((M+1)/2 : (M+1)/2+N-1);           % 消除FIR滤波产生的延迟

figure(1)

subplot 212; plot(time1,y);            % 下采样的滤波器输出

title('下采样后的滤波器输出波形');

xlabel('时间')

ylim([-0.1 0.1]);

y1=resample(y, q, p);                  % 上采样恢复信号采样率

y1=y1(1:length(x));

figure(3)

subplot 211; plot(time,x);

title('原始信号波形');

xlabel('时间')

axis([0 max(time) -0.4 0.4]);

subplot 212; plot(time,y1)

title('滤波器输出恢复到原采样频率的波形');

xlabel('时间')

axis([0 max(time) -0.1 0.1]);

以下给出了本程序显示的图形,笫1图是下采样后信号波形和滤波器输出的滤形,笫2图是滤波器的幅值响应,笫3图是原始信号波形和滤波器输出恢复到原采样频率后的波形。这里只设计了一个从1-2Hz的带通滤波器,对于要分离出1Hz的信号可以用1Hz的低通滤波器,方法同上程序相仿。

matlab滤波器滤除低频直流信号,对低频信号的滤波的方法相关推荐

  1. matlab滤波器滤除低频直流信号,极低频滤波器MATLAB

    我正在尝试创建0.1 Hz至50 Hz范围内的带通滤波器.我正在使用MATLAB中的filterbuilder工具,因此它输出的代码如下所示: function y = filter050(x) pe ...

  2. matlab滤波器滤不掉,带通滤波器无法在matlab中过滤不需要的频率

    我正在制作一个带通滤波器,我根据正弦曲线创建了一些带有不需要的频率的信号: Fs = 8e3; % Sampling Rate fn = Fs/2; % Nyquist frequency L = 1 ...

  3. 直流侧电力有源滤波器滤除谐波干扰的原理及方案

    直流 滤波器 谐波干扰 1 引言 随着电力电子装置的迅速发展,产生了两方面的问题:一是电力电子变流电路产生的谐波干扰已成为电力系统之中谐波的主要来源,谐波造成的危害日益严重.二是电力电子系统中的无源元 ...

  4. MATLAB中FIR滤波器的时延溢出问题详解:线性相位对信号造成的时延溢出及其消除方法,以及fir1等函数的使用

    1.问题由来: 前段时间在对用MATLAB处理试验数据时,需要对多路信号进行滤波后做同步,在这个过程中使用MATLAB中自带的 fir1 函数以及Filter Designer工具箱(FDATool) ...

  5. matlab滤波器设计双陷滤波,基于MATLAB 双线性变换法IIR 滤波器的设计

    摘要:滤波是信号处理的基础,因此滤波器的设计也就成为数字信号处理的基本问题之一.数字滤波是对数字信号处理不可或缺的环节,其好处远远大于模拟滤波器.本文应用MATLAB,实现了用双线性变换法设计IIR滤 ...

  6. matlab 滤波器设计 coe_FIR滤波器

    FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...

  7. Matlab滤波器的设计

    在IIR滤波器设计过程中,通常利用模拟滤波器来设计数字滤波器,首先要根据滤波器的性能指标设计出相应的模拟滤波器的系统传递函数G(s),然后由传递函数G(s)经Z变换得到所需要的数字滤波器的离散型传递函 ...

  8. 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]...

    <北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLA ...

  9. 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)...

    <北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)(9 ...

最新文章

  1. 调用个别f5 负载端口为80的vs时,返回值为空的问题
  2. mysql最大述_mysql最大字段数量及 varchar类型总结
  3. Linux中自动删除n天前日志
  4. Python——使用matplotlib绘制柱状图
  5. iOS开发那些悲剧的事儿
  6. Python 模板语言
  7. android api接口封装,android-apidesigner是一个网络接口封装工具
  8. flash中物体运动基础之七---------碰撞处理
  9. Java线程间通信方式
  10. 五笔字根表识别码图_五笔字根表键盘图下载|8698版五笔字根表键盘图高清大图_ - 极光下载站...
  11. tomcat的工作原理
  12. oracle如何判断节假日,oracle function 用于判断是否为节假日
  13. Matlab-16QAM调制与解调 16-QAM星座点图 16-QAM在AWGN信道下的误码率和误比特率性能,仿真值与理论值曲线对比图
  14. 软件工程毕业设计课题(2)基于python的毕业设计python旅游网站系统毕设作品
  15. 关于C语言中的绝对值函数
  16. 智能窗帘传感器c语言程序,基于单片机的智能窗帘控制系统设计(附程序代码)
  17. 苏嵌//张福辉//2018.7.27
  18. 【Spring Web教程】SpringBoot 实现一应用多端口
  19. 最透彻的分析!NTC热敏电阻与浪涌电流,热启动不会失效?
  20. 来,看一个真实的用户分析案例!

热门文章

  1. Android7.1 控制背光流程
  2. 模块化:ES Module与commonJS
  3. Web服务器站点设置和IIS安装设置图解
  4. 也谈“为什么中国的程序员总被称为码农?”
  5. Linux系统-gzip命令 – 压缩和解压文件
  6. 全新型号,戴尔(Dell) EMC PowerEdge R760机架式服务器产品特性及详细技术参数
  7. 堡垒机,ssh协议,telnet协议,b/s架构
  8. Map 和ConcurrentMap 线程不安全和线程安全证明
  9. 人力资源数据分析师前景_人力资源数据分析师——大数据下的精英岗位
  10. slice,splice,split区别和作用