matlab中的数字滤波器
来源:互联网 发布:美女写真软件 编辑:程序博客网 时间:2024/06/03 19:41
在进行数字信号处理的时候经常需要对时间序列进行滤波。工具箱中常用的函数是filter
常见形式: y = filter(b,a,x)
其中x是输入序列,向量b&a是滤波器的参数。y是输出序列。
下面举一个例子说明一下实际的计算过程。
比如要对一段语音信号做预加重处理,其实就是要让响应的数字序列通过一个高通滤波器。滤波器的传递函数模型为——H(z)=1-μ*z^(-1)。实际计算的时候可以这么处理:y(i) = x(i) - μ*x(i-1),当index小于1的时候按照 x(index) = 0 处理。
代码如下:
[y fs]=audioread('anger_03a01Wa.wav');yy = filter([1 -0.9],1,y);yyy = zeros(length(y),1);yyy(1) = y(1);for k = 2:length(y) yyy(k) = y(k) - 0.9*y(k-1);end%yy = 5*yy;figure(1)subplot(3,1,1);plot((1:length(y)),y);title('原始');xlabel('序号');ylabel('幅值'); grid;subplot(3,1,2);plot((1:length(yy)),yy);title('调用滤波器函数');xlabel('序号');ylabel('幅值'); grid;subplot(3,1,3);plot((1:length(yyy)),yyy);title('按照原理做序列运算');xlabel('序号');ylabel('幅值'); grid;di = yyy - yy;%两个结果的差别figure(2)plot((1:length(di)),di);title('两个结果的计算差别');xlabel('序号');ylabel('幅值'); grid;
结果如下图所示:
原始信号与两种计算方法所得到的铝箔之后的信号:
两种计算方法的差别(实际上是没有差别的):
0 0
- matlab中的数字滤波器
- matlab 6.5 设计数字滤波器
- MATLAB IIR数字滤波器设计
- 关于MATLAB辅助设计数字滤波器
- [matlab]归一化的数字滤波器
- Matlab编程序设计数字滤波器
- MATLAB FDATool IIR数字滤波器设计
- MATLAB FDATool IIR数字滤波器设计
- MATLAB FDATool IIR数字滤波器设计
- 数字滤波器
- 数字滤波器
- [参考]matlab数字滤波器设计函数一览
- Matlab fdatool设计实现一维数字滤波器
- matlab计算数字滤波器的幅频响应
- 利用matlab进行IIR数字滤波器设计
- [参考]matlab数字滤波器设计函数一览
- C#零相位数字滤波器,改写自Matlab函数filtfilt
- MATLAB信号处理仿真-基带脉冲成形的数字滤波器
- ajax实现短信验证码功能
- React Native开发之FlexBox代码+图解
- 2016最新经典爆笑职场笑话
- 评论框 添加表情 功能制作
- 如何快速制作漫画App?
- matlab中的数字滤波器
- Android动画-概述
- 入职实习第四天:ViewTreeObserver简介
- 【ASP.NET】初步了解
- UITableViewCell - accessoryType属性
- 你需要知道的Android拍照适配方案
- 十个值得一试的开源深度学习框架
- mongodb 2.4升级至3.2
- htmlunit模拟浏览器实现163邮箱自动登录