%零相移带通滤波器

clc

close all

clear all

% 滤波器设计

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

N = 100;%100秒

t = 0:0.001:N;%时间

Fs = 1000;%采样率

% 滤波器通止参数设定;

fp=[0.1 15];

fs = [0.05 50];

rp = 1.5;

rs = 12;

wp = fp*2*pi/Fs;

ws = fs*2*pi/Fs;

% 阶次;

[n,wn] = buttord(wp/pi,ws/pi,rp,rs);

% 滤波器系数与辐频响应;

[b,a] = butter(n,wp/pi);

[h,w] = freqz(b,a,256,Fs);

h = 20*log10(abs(h));

figure(1)

plot(w,h);grid;ylabel('Bandpass DF');xlabel('Hz');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%信号的产生

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

f1 = 0.001;%准直流

f2 = 5;%有用信号,取1Hz到10Hz之间

f3 = 50;%工频干扰

x1 = 100+10*sin(2*pi*f1*t);

x2 = 10*sin(2*pi*f2*t);

x3 = 10*sin(2*pi*f3*t);

figure(2)

subplot(3,1,1)

plot(t,x1);grid;

subplot(3,1,2)

plot(t,x2);grid;

subplot(3,1,3)

plot(t,x3);grid;

figure(3)

x = x1+x2+x3;

plot(t,x);grid;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

w_d = 200;

M = 1;%数据起始点%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%问题所在%%%%%%%%%%%%%%%%%%%%%%%%%%%

xn = x(M:80*w_d+M);%取x中一段数据xn

figure(4)

plot(xn);

n0 = length(xn);

L = 600;

for i = 1:L  %前后延拓的数据

xa(i) = 2*xn(1)-xn(L+2-i);

xz(i) = 2*xn(n0)-xn(n0-i);

end

xnaz = [xa xn xz];%前后延拓

yaz = filtfilt(b,a,xnaz);%做零相位带通滤波

y = yaz((L+1):(L+n0));  %去延拓

figure(5)

plot(y);

%问题:数据起始点M的取值关系到边界效应。只有当M取1,401,801,1201……时边界失真才小,

%取其他值时边界失真都很大。请问各位其中原因,有何方法使无论起始点取何值都能边界失真维持

%在较小的范围内。

%程序本身能够独立运行,各位可调整M值看各图结果。

%谢谢大家了!:handshake :handshake

%延拓是根据武汉大学陈淑珍的一篇参考文献编写的,不知如何上传,但论坛中已有,感兴趣的朋友可查看

%论坛中貌似关于零相移滤波器的讨论不多,所以好找

%希望能够得到大家的指点:handshake

matlab零相移滤波,零相移数字滤波器边界效应讨论(附程序与参考文献)相关推荐

  1. matlab求解零输入响应,基于matlab的零输入和零状态响应

    基于matlab的零输入和零状态响应 一. 课程设计题目: 信号系统的时域分析 二.课程设计目的: 1.学习MATLAB 软件的使用. 2.使学生掌握利用工具软件来实现信号系统基本概念.基本原 理的方 ...

  2. 基于MATLAB的语音滤波实验

    基于MATLAB的语音滤波实验 实验目的: 在Matlab环境下对语音的频谱进行处理(数字滤波)并试听效果: 在Matlab环境下对语音的抽样率进行处理(语音压缩)并试听效果 实验步骤: 一.音频文件 ...

  3. 基于matlab下数字信号的课程设计,数字信号课程设计--基于MATLAB的语音滤波实验...

    数字信号课程设计--基于MATLAB的语音滤波实验 数字信号课程设计 数字信号课程设计 题目基于基于 MATLAB 的语音滤波实验 姓名 班级 电信 1002 班 学号 数字信号课程设计 摘要摘要 数 ...

  4. matlab图像处理——平滑滤波

    平滑滤波--matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量.假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰.从信号分析的观点来看,图像 ...

  5. 零信任-Akamai零信任介绍(6)

    ​Akamai零信任介绍 Akamai是一家专注于分布式网络服务的公司,它提供了一系列的互联网内容和应用加速服务.关于Akamai的零信任,它指的是Akamai的安全架构中不存在任何一个环节是可以被单 ...

  6. C语言练习题:统计 N 个整数中,大于零或小于零的整数个数(数组)

    实现函数,统计 N 个整数中,大于零或小于零的整数个数 函数定义 int count_plus_or_nega(int numbers[], int n, int plus_or_nega); 参数说 ...

  7. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

  8. 【图像去噪】基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪【含Matlab源码 462期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪[含Matlab源码 462期] 获取代码方式2: 通过订阅紫极神光 ...

  9. 2019小程序赚钱全攻略:零基础搭建、引爆、变现你的小程序

    最近在知乎有个问题爆红: 抖出无数人的心酸经历: 无论买什么东西,都会不由自主跟每天的饭钱作对比-- 父亲做手术,我却负担不起昂贵的止疼药-- 老公出轨,却因为没钱不敢离婚,怕抢不到孩子的抚养权-- ...

最新文章

  1. Objective-C市场占有率排名升至第4位
  2. 5分钟实现Android中更换头像功能
  3. 克莱门特公司在俄罗斯一个数据中心安装其新型冷却系统
  4. ecshop分类页调用分类名称
  5. CodeForces - 844B Rectangles
  6. Oracle中查看最近被修改过的表的方法
  7. sap 無法建立 activex 元件_安徽陶瓷膜芯元件
  8. 我如何看Spring5?
  9. 浏览器打开出现证书错误_PADI 电子潜水证书更新啦!
  10. Linux下获得线程ID syscall(224)
  11. OpenShift 4 之Knative(3) - 通过事件触发Serverless服务
  12. error: not found: value sc
  13. Qt学习笔记(十九):QTreeWidget 的常用方法
  14. LS1012ARDB - How to reflash u-boot / RCW via built in Kinetis CMSIS-DAP
  15. elixer学习笔记
  16. hash(哈希)是什么
  17. python浮点数加整数_Python中整数和浮点数运算
  18. 7-22 龟兔赛跑 (20分) Python
  19. Hive数据仓库中历史拉链表实践
  20. 三本 计算机专业,四川哪些三本大学的计算机专业最好?

热门文章

  1. [js] 你是如何比较js函数的执行速度的?
  2. 工作224:当前函数造成
  3. 前端学习(2471):vue-echarts和echarts的区别:
  4. 前端学习(2377):项目初始化过程
  5. “约见”面试官系列之常见面试题第十三篇之css动画效果(建议收藏)
  6. 前端学习(1765):前端调试值之性能分析的方法三
  7. 前端学习(1401):多人管理21新增用户
  8. java学习(61):适配器
  9. spark简介(大数据技术)
  10. linux c 获取时间戳 打印时间戳