nik*_*kos 17 matlab signal-processing convolution
我有一个MATLAB问题:我正在尝试计算LTI系统的输出,并且我遇到了两个不同的MATLAB函数,这些函数应该适用于该作业,filter并且conv.他们两个有什么区别?
mtr*_*trw 13
filter可以处理FIR和IIR系统,同时conv接收两个输入并返回它们的卷积.所以conv(h,x),filter(h,1,x)并给出相同的结果.过滤器中的1表示过滤器的递归系数正好[1].但如果您有IIR过滤器,则无法使用conv.filter也可以返回过滤器状态,以便它可以在后续调用中使用而不会产生过滤器瞬变.
小智 11
conv(x,b)执行完整的卷积.结果的长度是length(x)+ length(b)-1.
filter(b,[1],x)给出一个长度相同的输出x.它不会刷新过滤器的延迟线.
假设x是行向量.制作x0 = [x zeros(1,length(b)-1)]; 现在filter(b,[1],x0)是一样的conv(x,b).这是因为额外的0用于刷新延迟线.
哪一个更合理?这取决于你需要什么!