matlab中的数字滤波器

在进行数字信号处理的时候经常需要对时间序列进行滤波。工具箱中常用的函数是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) - 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值