《卷积和相关的matlab实现》由会员分享,可在线阅读,更多相关《卷积和相关的matlab实现(3页珍藏版)》请在金锄头文库上搜索。
1、两个序列的卷积:c(n)=a(n)*b(n)即c(n)=a(k)b(n-k)k女口果a和b的脚标范围为:aVa2与吟b2,则c的脚标范围为ai+ba2+b2,但是由于matlab的索引是从1开始的,这里假设a和b都是从n=1开始。知道最后的范围即可:functionc=convolution(a,b)M=length(a);%a序歹U的长度N=length(b);%b序歹U的长度c=zeros(1,N+M-1);%用来存放卷积的结果forn=2:(M+N)%卷积之后的索引本应该的范围tmp_max=min(n-1,M);%根据求和表达式,由1=k=M且1=n-kx=1:9;y=2:8;conv
2、(x,y)ans=271630507711214718219720019016612772convolution(x,y)ans=271630507711214718219720019016612772两个序列的相关:c(n)cor(a(n),b(n)即c(n),a(n+k)*b(k)k同样,如果a和b的脚标范围为:仟a2与吟b2,则c的脚标范围为ai-b2a2+bi,但是由于matlab的索引是从1开始的,这里假设a和b都是从n=1开始。知道最后的范围即可:functionc=correlation(a,b)M=length(a);N=length(b);c=zeros(1,M+N-1);%
3、用来存放卷积的结果forn=(-N+1):M-1%相关运算本应该的范围tmp_min=max(1,1-n);%根据求和表达式,由1=k+n=M且1=kxcorr(x,y)ans=Columns1through12-0.0000-0.00008.000023.000044.000070.0000100.0000133.0000168.0000203.0000238.0000193.0000Columns13through17150.0000110.000074.000043.000018.0000correlation(x,y)ans=7482344701001331682032381931501104318