食堂里撑着

MATLAB fitler和conv命令

0
阅读(1518)

在做dsp的matlab实验.对于filter命令的总结.还没学到数字滤波一节,暂时写下自己浅显的理解.

一.

filter以例子说明问题.

n = 0:40;

x1 = cos(2*pi*0.1*n);

num = [2.2403 2.4908 2.2403];

den = [1 -0.4 0.75];

ic = [0 0]; % Set zero initial conditions

y1 = filter(num,den,x1,ic);

ic用于指定初始条件

对应的序列为y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]

ic指定x的初始状态

此处y1的长度为输入序列x1的长度.

引用一个网页,他的讲解不错http://www.docin.com/p-318611828.html


二.

卷积公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm.

h = [3 2 1 -2 1 0 -4 0 3];% impulse response

x = [1 -2 3 -4 3 2 1];% input sequence

y = conv(h,x);

n = 0:14;


y的长度为 h+x-1

三.

y=impz(p,d,n)命令用来实现冲击响应的,p,d的定义与filter相同,n为响应输出的序列个数.




Baidu
map