Aurora

風を追うの学習パス

连载3:利用matlab计算卷积

发布于 # communication principles
摘自·通信人家园·陈爱军

$$\qquad$$表面上看,卷积的计算公式很复杂,计算过程也很麻烦(反褶,平移,相乘,求和),实际上使 用 Matlab 很容易计算。 $$\qquad$$以上面的 a(n) = [1 1],b(n) = [1 2 5]的卷积计算为例:

a = [1 1];
b = [1 2 5];
c = conv(a,b);
c

$$\qquad$$后面很多地方的讲解都会用到 matlab,没用过 matlab 的同学,请到网上下载个 matlab 7.0,安装 后,将上面前 4 行内容拷贝到命令窗口中执行,即可得到上面的执行结果。 $$\qquad$$为了更好地理解卷积(多项式相乘,相当于系数卷积),我们用 matlab 画一下高中学过的杨辉 三角。 $$\qquad$$杨辉三角是一个由数字排列成的三角形数表,一般形式如下:

                     1
                 1       1
              1      2       1
          1      3       3       1
       1      4      6       4      1
   1      5      10      10     5      1
1       6      15     20      15    6      1

$$\qquad$$其中每一横行都表示(a+b)^n(此处n=1,2,3,4,5,6,)展开式中的系数。 $$\qquad$$杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。

>> x=[1 1];y=[1 1];
>> y
y =
1  1
>> y=conv(x,y)
y =
1  2  1
>> y=conv(x,y)
y =
1  3  3  1
>> y=conv(x,y)
y =
1  4  6  4  1
>> y=conv(x,y)
y =
1  5  10  10  5  1
>> y=conv(x,y)
y =
1  6  15  20  15  6  1