實驗一 離散時間序列卷積和MATLAB實現


第一題:

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的仿真,形象地得出了離散序列相卷積的結果,而對卷積函數convxy)的使用可以編寫函數,然後方便地調用函數得到一些特有的功能。

  3、在實驗之前應該做好預習準備,熟悉matlab的基本操作,熟悉matlab相應函數的用法,這樣,在實驗中才能比較快速的完成實驗的要求,就不會感到無從下手。 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章