文章目录

  • 一、线性卷积
    • 1. 应用背景
    • 2. 定义式
    • 3. 计算方法
      • 3.1 定义式
      • 3.2 作图法
      • 3.3 列表法
  • 二、循环卷积
    • 1. 序列的循环移位
    • 2. 循环卷积的定义
    • 3. 用矩阵计算循环卷积的公式
  • 三、线性卷积和循环卷积之间的关系
  • 四、用DFT计算循环卷积
  • 五、用DFT计算线性卷积
  • 六、MATLAB实现
    • 1. 利用MATLAB的conv()函数计算线性卷积
    • 2. 利用矩阵相乘原理计算循环卷积
    • 3. 调用fft()函数计算循环卷积与线性卷积

一、线性卷积

线性卷积(linear convolution)是在时域描述线性系统输入和输出之间关系的一种运算。

1. 应用背景

  对于线性时不变离散时间系统来说,若序列x(n)x(n)x(n)是系统的输入,h(n)h(n)h(n)是系统在单位脉冲作用下的单位脉冲响应,由于输入离散时间序列x(n)x(n)x(n)可表示为一系列脉冲的线性组合,根据线性系统的齐次性和可加性,x(n)x(n)x(n)作用于系统所引起的零状态响应y(n)y(n)y(n)就是序列x(n)x(n)x(n)与h(n)h(n)h(n)的卷积和。

2. 定义式

y(n)=x(n)∗h(n)=∑k=−∞∞x(k)h(n−k)y(n)=x(n)*h(n)=\sum_{k=-∞}^{∞}x(k)h(n-k)y(n)=x(n)∗h(n)=k=−∞∑∞​x(k)h(n−k)

上式在运算过程中存在序列的翻转、移位、相乘和相加,所以称为卷积和

3. 计算方法

3.1 定义式

3.2 作图法

  • 步骤:

(1)将序列x(n)x(n)x(n)、h(n)h(n)h(n)的自变量用kkk代换,然后将序列h(k)h(k)h(k)以纵坐标为轴线反转,成为h(−k)h(-k)h(−k);
(2)序列h(−k)h(-k)h(−k)沿kkk轴正方向平移nnn个单位,成为h(n−k)h(n-k)h(n−k);
(3)求乘积x(k)h(n−k)x(k)h(n-k)x(k)h(n−k);
(4)按定义式求各乘积之和。

3.3 列表法

由y(n)=x(n)∗h(n)=∑k=−∞∞x(k)h(n−k)y(n)=x(n)*h(n)=\sum_{k=-∞}^{∞}x(k)h(n-k)y(n)=x(n)∗h(n)=k=−∞∑∞​x(k)h(n−k)可见,求和符号内x(k)x(k)x(k)的序号kkk与h(n−k)h(n-k)h(n−k)的序号n−kn-kn−k之和`恰好等于kkk。


沿斜线上各数值之和就是卷积和。


二、循环卷积

1. 序列的循环移位

设x(n)x(n)x(n)为有限长序列,长度为M,M≤N,则x(n)x(n)x(n)的循环移位定义为:
y(n)=x((n+m))NRN(n)y(n)=x\big((n+m)\big)_N R_N(n)y(n)=x((n+m))N​RN​(n)
该式表明,将x(n)x(n)x(n)以N为周期进行周期延拓得到x~(n)=x((n))N\tilde{x}(n)=x\big((n)\big)_Nx~(n)=x((n))N​,再将x~(n)\tilde{x}(n)x~(n)左移m得到x~(n+m)=x((n+m))N\tilde{x}(n+m)=x\big((n+m)\big)_Nx~(n+m)=x((n+m))N​,最后取x~(n+m)\tilde{x}(n+m)x~(n+m)的主值序列则得到有限长序列x(n)x(n)x(n)的循环移位序列y(n)y(n)y(n)。y(n)y(n)y(n)是长度为N的有限长序列。

clear all;
close all;
clc;
%%%%%%%%%%%%%%% x(n)及其循环移位过程 %%%%%%%%%%%%%
M=24;
xn=triang(6);
n=-M/3:2*M/3-1;
x=zeros(1,M);
for l=1:6x(8+l)=xn(l);
end
subplot(4,2,1);
stem(n,x,'.'); axis([-8,16,0,1]); title('(a) x(n)');
b=[xn' 0 0];
y8=[b,b,b];
subplot(4,2,3);
stem(n,y8,'.'); axis([-8,16,0,1]); title('(b) x((n))_8')
y8=[y8 b];
for l=1:M'ym(l)=y8(l+2);
end
subplot(4,2,5);
stem(n,ym,'.'); axis([-8,16,0,1]); title('(c) x((n+2))_8');
for l=9:16x(l)=ym(l);
end
subplot(4,2,7);
stem(n,x,'.'); axis([-8,16,0,1]); xlabel('n'); title('(d) x((n+2))_8R_8(n)');

2. 循环卷积的定义

设序列h(n)h(n)h(n)和x(n)x(n)x(n)的长度分别为N和M,h(n)h(n)h(n)与x(n)x(n)x(n)的L点循环卷积定义为:
yc(n)=[∑m=0L−1h(m)x((n−m))L]RL(n)y_c(n)=\Big[\sum_{m=0}^{L-1}h(m)x\big((n-m)\big)_L\Big]R_L(n)yc​(n)=[m=0∑L−1​h(m)x((n−m))L​]RL​(n)
式中,L称为循环卷积区间长度,L≥max[N,M]L≥max[N,M]L≥max[N,M],x((n−m))Lx\big((n-m)\big)_Lx((n−m))L​是以L为周期的周期信号,n和m的变化区间均是[0,L−1][0,L-1][0,L−1]。
因此直接计算该式比较麻烦,计算机中采用矩阵相乘或FFT的方法计算循环卷积。

3. 用矩阵计算循环卷积的公式

  当n=0,1,2,⋯,L−1n=0,1,2,\cdots,L-1n=0,1,2,⋯,L−1时,由x(n)x(n)x(n)形成的序列为{x(0),x(1),x(2),⋯,x(L−1)}\{x(0),x(1),x(2),\cdots,x(L-1)\}{x(0),x(1),x(2),⋯,x(L−1)}。

  令n=0,m=0,1,2,⋯,L−1n=0,m=0,1,2,\cdots,L-1n=0,m=0,1,2,⋯,L−1,x((n−m))Lx\big((n-m)\big)_Lx((n−m))L​形成的序列为:
{x((0))L,x((−1))L,x((−2))L,⋯,x((−L+1))L}={x(0),x(L−1),x(L−2),⋯,x(1)}\begin{aligned} &\{x((0))_L,x((-1))_L,x((-2))_L,\cdots,x((-L+1))_L\}\\ &=\{x(0),x(L-1),x(L-2),\cdots,x(1)\} \end{aligned}​{x((0))L​,x((−1))L​,x((−2))L​,⋯,x((−L+1))L​}={x(0),x(L−1),x(L−2),⋯,x(1)}​
与序列x(n)x(n)x(n)进行对比,相当于将第一个序列值x(0)x(0)x(0)保持不变,将后面的序列{x(1),x(2),⋯,x(L−1)}\{x(1),x(2),\cdots,x(L-1)\}{x(1),x(2),⋯,x(L−1)}反转180°再放到x(0)x(0)x(0)的后面。这样形成的序列称为x(n)x(n)x(n)的循环倒相序列。

  令n=1,m=0,1,2,⋯,L−1n=1,m=0,1,2,\cdots,L-1n=1,m=0,1,2,⋯,L−1,x((n−m))Lx\big((n-m)\big)_Lx((n−m))L​形成的序列为:
{x((1))L,x((0))L,x((−1))L,⋯,x((−L+2))L}={x(1),x(0),x(L−1),⋯,x(2)}\begin{aligned} &\{x((1))_L,x((0))_L,x((-1))_L,\cdots,x((-L+2))_L\}\\ &=\{x(1),x(0),x(L-1),\cdots,x(2)\} \end{aligned}​{x((1))L​,x((0))L​,x((−1))L​,⋯,x((−L+2))L​}={x(1),x(0),x(L−1),⋯,x(2)}​
观察上式等号右端序列,它相当于x(n)x(n)x(n)的循环倒相序列向右循环移一位,即向右移1位,移出区间[0,L−1][0,L-1][0,L−1]的序列值再从左边移进。

依次类推,当 n 和 m 均从 0 变化到 L-1 时,得到一个关于x((n−m))Lx((n-m))_Lx((n−m))L​的矩阵:
[x(0)x(L−1)x(L−2)⋯x(1)x(1)x(0)x(L−1)⋯x(2)x(2)x(1)x(0)⋯x(3)⋮⋮⋮⋮⋮x(L−1)x(L−2)x(L−3)⋯x(0)]\begin{bmatrix} x(0) & x(L-1) & x(L-2)& \cdots& x(1)\\ x(1)& x(0) & x(L-1) & \cdots & x(2)\\ x(2)&x(1)& x(0) & \cdots & x(3)\\ \vdots& \vdots &\vdots &\vdots& \vdots \\ x(L-1)&x(L-2)& x(L-3)& \cdots & x(0)\\ \end{bmatrix}⎣⎢⎢⎢⎢⎢⎡​x(0)x(1)x(2)⋮x(L−1)​x(L−1)x(0)x(1)⋮x(L−2)​x(L−2)x(L−1)x(0)⋮x(L−3)​⋯⋯⋯⋮⋯​x(1)x(2)x(3)⋮x(0)​⎦⎥⎥⎥⎥⎥⎤​
上面矩阵称为x(n)的L点“循环卷积矩阵”,其特点是:

  1. 第一行是序列{x(0),x(1),x(2),⋯,x(L−1)}\{x(0),x(1),x(2),\cdots,x(L-1)\}{x(0),x(1),x(2),⋯,x(L−1)}的循环倒相序列。注意,如果x(n)x(n)x(n)的长度M<L,则需要在x(n)x(n)x(n)末尾补 L-M 个零后,再形成第一行的循环倒相序列;
  2. 第一行以后的各行均是前一行向右循环移1位形成的;
  3. 矩阵的各主对角线上的序列值均相等。

有了循环卷积矩阵,就可以写出计算循环卷积的矩阵形式:

[yc(0)yc(1)yc(2)⋮yc(L−1)]=[x(0)x(L−1)x(L−2)⋯x(1)x(1)x(0)x(L−1)⋯x(2)x(2)x(1)x(0)⋯x(3)⋮⋮⋮⋮⋮x(L−1)x(L−2)x(L−3)⋯x(0)][h(0)h(1)h(2)⋮h(L−1)]\begin{bmatrix} y_c(0)\\ y_c(1)\\ y_c(2)\\ \vdots\\ y_c(L-1)\\ \end{bmatrix} =\begin{bmatrix} x(0) & x(L-1) & x(L-2)& \cdots& x(1)\\ x(1)& x(0) & x(L-1) & \cdots & x(2)\\ x(2)&x(1)& x(0) & \cdots & x(3)\\ \vdots& \vdots &\vdots &\vdots& \vdots \\ x(L-1)&x(L-2)& x(L-3)& \cdots & x(0)\\ \end{bmatrix} \begin{bmatrix} h(0)\\ h(1)\\ h(2)\\ \vdots\\ h(L-1)\\ \end{bmatrix}⎣⎢⎢⎢⎢⎢⎡​yc​(0)yc​(1)yc​(2)⋮yc​(L−1)​⎦⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎡​x(0)x(1)x(2)⋮x(L−1)​x(L−1)x(0)x(1)⋮x(L−2)​x(L−2)x(L−1)x(0)⋮x(L−3)​⋯⋯⋯⋮⋯​x(1)x(2)x(3)⋮x(0)​⎦⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎡​h(0)h(1)h(2)⋮h(L−1)​⎦⎥⎥⎥⎥⎥⎤​

上式中如果h(n)h(n)h(n)的长度N<L,则需要在h(n)h(n)h(n)末尾补上 L-N 个零。

三、线性卷积和循环卷积之间的关系

  • 假设h(n)h(n)h(n)和x(n)x(n)x(n)都是有限长序列,长度分别为N和M。它们的线性卷积和循环卷积分别表示为:
    yl(n)=h(n)∗x(n)=∑m=0N−1h(m)x(n−m)y_l(n)=h(n)*x(n)=\sum_{m=0}^{N-1}h(m)x(n-m)yl​(n)=h(n)∗x(n)=m=0∑N−1​h(m)x(n−m)
    yc(n)=[∑m=0L−1h(m)x((n−m))L]RL(n)y_c(n)=\Big[\sum_{m=0}^{L-1}h(m)x\big((n-m)\big)_L\Big]R_L(n)yc​(n)=[m=0∑L−1​h(m)x((n−m))L​]RL​(n)
    其中,L≥max[N,M]L≥max[N,M]L≥max[N,M],x((n))L=∑i=−∞∞x(n+iL)x((n))_L=\sum_{i=-∞}^{∞}x(n+iL)x((n))L​=∑i=−∞∞​x(n+iL)
    所以yc(n)=[∑m=0N−1h(m)∑i=−∞∞x(n−m+iL)]RL(n)=[∑i=−∞∞∑m=0N−1h(m)x(n+iL−m)]RL(n)\begin{aligned} y_c(n)&=\Big[\sum_{m=0}^{N-1}h(m)\sum_{i=-∞}^{∞}x(n-m+iL)\Big]R_L(n)\\ &=\Big[\sum_{i=-∞}^{∞}\sum_{m=0}^{N-1}h(m)x(n+iL-m)\Big]R_L(n) \end{aligned}yc​(n)​=[m=0∑N−1​h(m)i=−∞∑∞​x(n−m+iL)]RL​(n)=[i=−∞∑∞​m=0∑N−1​h(m)x(n+iL−m)]RL​(n)​
    与yl(n)y_l(n)yl​(n)式对照可以看出
    ∑m=0N−1h(m)x(n+iL−m)=yl(n+iL)\sum_{m=0}^{N-1}h(m)x(n+iL-m)=y_l(n+iL)m=0∑N−1​h(m)x(n+iL−m)=yl​(n+iL)
    即yc(n)=[∑i=−∞∞yl(n+iL)]RL(n)y_c(n)=\Big[\sum_{i=-∞}^{∞}y_l(n+iL)\Big]R_L(n)yc​(n)=[i=−∞∑∞​yl​(n+iL)]RL​(n)
    也就是说,yc(n)y_c(n)yc​(n)等于yl(n)y_l(n)yl​(n)以L为周期的周期延拓序列的主值序列。

  • 线性卷积与循环卷积相等的条件

  • yl(n)y_l(n)yl​(n)的长度为N+M-1,因此只有当循环卷积长度L≥N+M-1时,yl(n)y_l(n)yl​(n)以L为周期进行周期延拓时才无时域混叠现象,此时取其主值序列显然满足 yc(n)=yl(n)y_c(n)=y_l(n)yc​(n)=yl​(n)。

  • 由此说明了循环卷积等于线性卷积的条件是L≥N+M-1

clear all;
close all;
clc;
%%%%%%%%%%%%%%% 验证线性卷积与循环卷积直接的关系 %%%%%%%%%%%%%
xn=ones(1,5);                 % 设置x(n)=R5(n)
hn=ones(1,4);                 % 设置h(n)=R4(n)
Lx=length(xn);
Lh=length(hn);nh=0:Lh-1;
subplot(3,2,1);
stem(nh,hn,'.'); axis([0,10,0,1.5]);ylabel('h(n)');xlabel('n');title('(a) h(n)波形');nx=0:Lx-1;
subplot(3,2,3);
stem(nx,xn,'.');axis([0,10,0,1.5]);ylabel('x(n)');xlabel('n');title('(b) x(n)波形');
% 调用conv计算线性卷积
yn=conv(hn,xn);
L=length(yn);
ny=0:L-1;
subplot(3,2,5);
stem(ny,yn,'.');axis([0,10,0,5]);ylabel('y_l(n)');xlabel('n');title('(c) y_l(n)=h(n)*x(n)');
% 循环卷积等于线性卷积的条件:循环卷积区间长度L>=M+N-1
% L=6,用DFT计算序列循环卷积
L1=6;
Xk=fft(xn,L1);                    % L1点FFT[x(n)]
Hk=fft(hn,L1);                    % L1点FFT[h(n)]
Yck=Xk.*Hk;                       % 频域相乘得Yc(k)
ycln=ifft(Yck,L1);                % L1点IFFT得到6点循环卷积结果yc(n)
nycl=0:L1-1;
subplot(3,2,2);
stem(nycl,ycln,'.');axis([0,10,0,5]);ylabel('y_c(n)');xlabel('n');title('(d) 6点循环卷积');
%L=8,用DFT计算序列循环卷积=线性卷积
L2=8;
Xk=fft(xn,L2);                      % L2点FFT[x(n)]
Hk=fft(hn,L2);                      % L2点FFT[h(n)]
Yck=Xk.*Hk;                         % 频域相乘得Yc(k)
yc2n=ifft(Yck,L2);                  % L2点IFFT得到8点循环卷积结果yc(n)
nyc2=0:L2-1;
subplot(3,2,4);
stem(nyc2,yc2n,'.');axis([0,10,0,5]);ylabel('y_c(n)');xlabel('n');title('(e) 8点循环卷积');
%L=10,用DFT计算序列线性卷积
L3=10;
Xk=fft(xn,L3);                      % L3点FFT[x(n)]
Hk=fft(hn,L3);                      % L3点FFT[h(n)]
Yck=Xk.*Hk;                         % 频域相乘得Yc(k)
yc3n=ifft(Yck,L3);                  % L2点IFFT得到10点循环卷积结果yc(n)
nyc3=0:L3-1;
subplot(3,2,6);
stem(nyc3,yc3n,'.');axis([0,10,0,5]);ylabel('y_c(n)');xlabel('n');title('(f) 10点循环卷积');

四、用DFT计算循环卷积

设h(n)h(n)h(n)和x(n)x(n)x(n)的长度分别为N和M,其L点循环卷积为
yc(n)=[∑m=0L−1h(m)x((n−m))L]RL(n)y_c(n)=\Big[\sum_{m=0}^{L-1}h(m)x\big((n-m)\big)_L\Big]R_L(n)yc​(n)=[m=0∑L−1​h(m)x((n−m))L​]RL​(n)

{H(k)=DFT[h(n)]LX(k)=DFT[x(n)]L0≤k≤L−1,L≥max[N,M]\begin{cases} H(k)=DFT[h(n)]_L\\ X(k)=DFT[x(n)]_L \end{cases}\qquad 0\leq k \leq L-1,L≥max[N,M]{H(k)=DFT[h(n)]L​X(k)=DFT[x(n)]L​​0≤k≤L−1,L≥max[N,M]
则由DFT的时域循环卷积定理有
Yc(k)=DFT[yc(n)]L=H(k)X(k)0≤k≤L−1Y_c(k)=DFT[y_c(n)]_L=H(k)X(k) \qquad 0\leq k \leq L-1Yc​(k)=DFT[yc​(n)]L​=H(k)X(k)0≤k≤L−1
由此可见,循环卷积既可以在时域直接计算,也可以按照下面的计算框图在频域计算。
由于DFT有快速算法,当L很大时,在频域计算循环卷积的速度快得多,因而常用DFT(FFT)计算循环卷积。

DFT只能直接用来计算循环卷积,然而在实际应用中,为了分析时域离散线性时不变系统或者对序列进行滤波处理等,需要计算两个序列的线性卷积。与计算循环卷积一样,为了提高运算速度,也希望用DFT(FFT)计算线性卷积。

五、用DFT计算线性卷积

取L≥N+M-1,则可按照上述框图用DFT(FFT)计算线性卷积。

六、MATLAB实现

1. 利用MATLAB的conv()函数计算线性卷积

% x1的长度N=5,x2的长度M=3,那么x1与x2线性卷积的输出序列长度L=N+M-1=7
% 可以验证,输出结果与我们使用列表法得到的结果一致
x1=[1,1,3,4,2];
x2=[1,3,2];
y=conv(x1,x2);

2. 利用矩阵相乘原理计算循环卷积

function [y] = circle_convolution(x1,x2,L)
% circle_convolution 函数用于计算两个有限长序列的L点循环卷积
% x1: 长度为N的有限长序列
% x2: 长度为M的有限长序列
% L:  循环卷积的长度
% y:  x1与x2的L点循环卷积结果,L≥max(N,M);%********** 构造L点循环卷积矩阵 **********%
N=length(x1);
M=length(x2);x_1=[x1 ,zeros(1,L-N)] ;
x_2=[x2 ,zeros(1,L-M)] ;
x=zeros(L,L);
h=circshift ( fliplr (x_1) ,1);  % 得到x1(n)的循环倒相序列
for i=0:L-1x(i+1,:)= circshift(h,i);    % x即为L点循环卷积矩阵
end
%********** 矩阵相乘计算循环卷积 **********%
x_2=x_2';     % 将补零后的x2转置为列向量
y=x*x_2;      % 矩阵相乘
end
% 调用circle_convolution函数计算循环卷积
x1=[1,1,3,4,2];
x2=[1,3,2];
L=7;
y=circle_convolution(x1,x2,L);


当L=9时,结果为:

当L=5时,结果为:

这里也进一步验证了线性卷积和循环卷积的关系:
(1) 当L<N+M-1时,循环卷积是线性卷积长度为L的混叠;
(2) 当L=N+M-1时,循环卷积=线性卷积;
(3) 当L>N+M-1时,循环卷积是线性卷积末尾补L-(N+M-1)个零;

3. 调用fft()函数计算循环卷积与线性卷积

% 5点DFT
x1=[1,1,3,4,2];
x2=[1,3,2];X1=fft(x1,5);
X2=fft(x2,5);
Y=X1.*X2;
y=ifft(Y);

% 7点DFT
x1=[1,1,3,4,2];
x2=[1,3,2];X1=fft(x1,7);
X2=fft(x2,7);
Y=X1.*X2;
y=ifft(Y);

% 9点DFT
x1=[1,1,3,4,2];
x2=[1,3,2];X1=fft(x1,9);
X2=fft(x2,9);
Y=X1.*X2;
y=ifft(Y);

信号处理--线性卷积与循环卷积相关推荐

  1. 数字信号处理实验(一) —— 线性卷积与循环卷积

    前言 其实卷积可以说是DSP 数字信号处理的入门操作, 基本思路:我们想测试一个系统的性能,得到这个系统的传递函数,得到你信号的响应(response),说白了就是往系统里面扔信号,出来的东西是啥?我 ...

  2. 基于matlab实现信号的线性卷积与循环卷积

    系列文章目录 数字信号处理(DSP:Digital Signal Process)是电子通信领域非常重要的研究方向,博主汇总了数字信号处理(DSP)中常用的经典案例分析,主要基于算法分析.MATLAB ...

  3. 线性卷积、循环卷积与FFT之间的关系

    线性卷积与循环卷积 在音频信号处理中,卷积是很常见的信号处理方式,例如fir滤波器,卷积的计算公式也非常简单,对于系统h和输入信号x,卷积的计算公式如下: y(t)=∑m=0N−1x(t−m)h(m) ...

  4. 线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系

    文章目录 前言 一.卷积的物理意义及性质 1. 物理意义 2. 卷积性质 二.线性卷积定义及计算方法 1. 定义公式 2. 适用范围 3. 计算方法 三.循环卷积定义及计算方法 1. 定义公式 2. ...

  5. matlab实现线性卷积和循环卷积,仿真实验四 循环卷积和线性卷积的实现

    实验四 循环卷积和线性卷积的实现 一.实验目的 1.进一步了解并掌握循环卷积与线性卷积的概念 2.掌握线性卷积与循环卷积软件实现的方法,理解掌握二者的关系 二.实例分析与计算 实验原理: 两个序列的N ...

  6. MATLAB GUI设计(线性卷积和循环卷积的比较--笔记)

    原创循环卷积代码,转载需注明出处 线性卷积与循环卷积的比较 实验目的和要求 掌握循环卷积和线性卷积的原理,与理论分析结果比较,加深理解循环卷积与线性卷积之间的关系. 实验内容和步骤 1) 已知两序列X ...

  7. 谱估计及栅栏效应、频域采样、线性卷积与循环卷积

    目录 谱估计及栅栏效应 高密度谱如上 高分辨率谱如上 频域采样 线性卷积与循环卷积 谱估计及栅栏效应 该处DFT的点数N点采样并不是其有效长度 当有限长序列为[1 2 3 4 3 2]时 当N=8,1 ...

  8. 数字信号处理实验线性卷积与循环卷积计算

    clc clear xn=[1 2 3 4 5] %生成x(n) hn=[1 2 1 2]; %生成h(n) N1=length(xn); N2=length(hn); yln=conv(xn,hn) ...

  9. 标题DSP 数字信号处理:线性卷积、循环卷积、圆周卷积计算

    这学期学的 DSP 爆肝后顺利通过了,记录一下前期没搞懂的卷积的内容,主要是线性卷积计算方法和使用线性卷积计算圆周卷积的方法.为此学习了一下之前从来没有接触过的 LaTeX 语法,

最新文章

  1. empress和queen区别_queen与empress
  2. 分布式锁的使用与注意事项
  3. 一条诡异的insert语句
  4. AttributeError: module ‘tensorflow‘ has no attribute ‘app‘
  5. Redis性能监控指标汇总
  6. ALV输出设置默认布局
  7. GCC/G++选项 -Wl,-Bstatic和-Wl,-Bdynamic
  8. grep和egrep的一些简单用法
  9. extjs ajax 遮罩层,[Ext JS 4] 实战之Load Mask(加载遮罩)的显示与隐藏
  10. 一步步编写操作系统 23 重写主引导记录mbr
  11. 大学计算机二级培训蹭课,本人在复旦大学蹭课总结的一点小小的经验
  12. html图片自动替换图片,十种图片替换文本CSS方法
  13. Map接口与学习系列(二)---LinkedHashMap
  14. python不调包实现sobel_python利用百度云接口实现车牌识别的示例
  15. 「leetcode」142.环形链表II,如何求环?如何找入口?各个细节讲的明明白白!你疑惑的地方,这里都有!
  16. Win7原版|MSDN Windows7 SP1官方原版ISO镜像下载(全版本)
  17. Android应用签名
  18. 苹果ocr文字识别工具:Text Scanner
  19. 国考省考行测:关联词分析法,转折,总结,条件,递进,并列,各种关联词的典型词语和重点在哪
  20. POJ 3264 Balanced Lineup

热门文章

  1. Newtonsoft.Json版本不一致问题解决
  2. p12解析流程_解析p12格式的程序(提取公钥和私钥)
  3. flv视频怎么转换成mp4格式?
  4. 下载增强-使用迅雷下载快车专用资源
  5. web开发之实现网页在线录音并进行相关搜索
  6. (附源码)基于SpringBoot小而学在线考试系统 毕业设计141507
  7. SQL Server 2008完全卸载(亲测有效)
  8. JZYZOJ1535 [haoi2014]穿越封锁线
  9. 60级怀旧服最新服务器人口排名,魔兽世界怀旧服人口普查2019 wow怀旧服人口比例查询最新...
  10. 【2019.07-2020.06】这一年的心路历程