matlab零相移滤波,零相移数字滤波器边界效应讨论(附程序与参考文献)
%零相移带通滤波器
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零相移滤波,零相移数字滤波器边界效应讨论(附程序与参考文献)相关推荐
- matlab求解零输入响应,基于matlab的零输入和零状态响应
基于matlab的零输入和零状态响应 一. 课程设计题目: 信号系统的时域分析 二.课程设计目的: 1.学习MATLAB 软件的使用. 2.使学生掌握利用工具软件来实现信号系统基本概念.基本原 理的方 ...
- 基于MATLAB的语音滤波实验
基于MATLAB的语音滤波实验 实验目的: 在Matlab环境下对语音的频谱进行处理(数字滤波)并试听效果: 在Matlab环境下对语音的抽样率进行处理(语音压缩)并试听效果 实验步骤: 一.音频文件 ...
- 基于matlab下数字信号的课程设计,数字信号课程设计--基于MATLAB的语音滤波实验...
数字信号课程设计--基于MATLAB的语音滤波实验 数字信号课程设计 数字信号课程设计 题目基于基于 MATLAB 的语音滤波实验 姓名 班级 电信 1002 班 学号 数字信号课程设计 摘要摘要 数 ...
- matlab图像处理——平滑滤波
平滑滤波--matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量.假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰.从信号分析的观点来看,图像 ...
- 零信任-Akamai零信任介绍(6)
Akamai零信任介绍 Akamai是一家专注于分布式网络服务的公司,它提供了一系列的互联网内容和应用加速服务.关于Akamai的零信任,它指的是Akamai的安全架构中不存在任何一个环节是可以被单 ...
- C语言练习题:统计 N 个整数中,大于零或小于零的整数个数(数组)
实现函数,统计 N 个整数中,大于零或小于零的整数个数 函数定义 int count_plus_or_nega(int numbers[], int n, int plus_or_nega); 参数说 ...
- 零基础学习C语言如何入门(内附工具书推荐+视频教程)
C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...
- 【图像去噪】基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪【含Matlab源码 462期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪[含Matlab源码 462期] 获取代码方式2: 通过订阅紫极神光 ...
- 2019小程序赚钱全攻略:零基础搭建、引爆、变现你的小程序
最近在知乎有个问题爆红: 抖出无数人的心酸经历: 无论买什么东西,都会不由自主跟每天的饭钱作对比-- 父亲做手术,我却负担不起昂贵的止疼药-- 老公出轨,却因为没钱不敢离婚,怕抢不到孩子的抚养权-- ...
最新文章
- Objective-C市场占有率排名升至第4位
- 5分钟实现Android中更换头像功能
- 克莱门特公司在俄罗斯一个数据中心安装其新型冷却系统
- ecshop分类页调用分类名称
- CodeForces - 844B Rectangles
- Oracle中查看最近被修改过的表的方法
- sap 無法建立 activex 元件_安徽陶瓷膜芯元件
- 我如何看Spring5?
- 浏览器打开出现证书错误_PADI 电子潜水证书更新啦!
- Linux下获得线程ID syscall(224)
- OpenShift 4 之Knative(3) - 通过事件触发Serverless服务
- error: not found: value sc
- Qt学习笔记(十九):QTreeWidget 的常用方法
- LS1012ARDB - How to reflash u-boot / RCW via built in Kinetis CMSIS-DAP
- elixer学习笔记
- hash(哈希)是什么
- python浮点数加整数_Python中整数和浮点数运算
- 7-22 龟兔赛跑 (20分) Python
- Hive数据仓库中历史拉链表实践
- 三本 计算机专业,四川哪些三本大学的计算机专业最好?