第一題:
clear;
x=[1,2,3,4,5];
h=[6,2,3,6,4,2];
n=0:length(x)-1;
m=0:length(h)-1;
s=0:(length(x)+length(h)-2);
y=conv(x,h);
subplot(131);stem(n,x);xlabel('n');ylabel('x');
subplot(132);stem(m,h);xlabel('m');ylabel('h');
subplot(133);stem(s,y);xlabel('s');ylabel('y');
結果:
第二題:
clear;
f1=[1 1 1];
f2=[0 1 2 3];
x=0:(length(f1)+length(f2)-2);
y=conv(f1,f2);
stem(x,y,'r');
結果:
第三題:
function [f,k]=dconv(f1,f2,k1,k2)
k=(min(k1)+min(k2)):(length(k1)+length(k2)-2);
f=conv(f1,f2);
subplot(131),stem(k1,f1);
subplot(132);stem(k2,f2);
subplot(133);stem(k,f);
f(f>=0)
第四題:
clear;
x=[1 2 1];
m=0:length(x)-1;
[f1,k1]=sigshift(x,m,-1);
y=[1 1 1 1 1];
n=0:length(y)-1;
[f2,k2]=sigshift(y,n,-2);
dconv(f1,f2,k1,k2);
定義:
function [x,n]=sigshift(f,k,k0);
n=k+k0;
x=f;
第五題:
clear;
f1=[1 1 1 1];
f2=[1 1 1];
k1=0:3;
k2=0:2;
[f,k]=dconv(f1,f2,k1,k2);
六、實驗心得
1、求卷積時,必須深刻理解其定義的涵義及其向量對應關係
2、通過Matlab的仿真,形象地得出了離散序列相卷積的結果,而對卷積函數conv(x,y)的使用可以編寫函數,然後方便地調用函數得到一些特有的功能。
3、在實驗之前應該做好預習準備,熟悉matlab的基本操作,熟悉matlab相應函數的用法,這樣,在實驗中才能比較快速的完成實驗的要求,就不會感到無從下手。