通信算法之十六:循环卷积与线性卷积在通信系统中物理层基带中的应用


1. 循环卷积与线性卷积

(1)循环卷积:

a1 = [1 2 3i 4]; b1 = [5 6i 7i 8];

a1 * b1循环卷积:

ans    =    0 +24.0000i    10.0000 +58.0000i     32.0000 +34.0000i    10.0000 +14.0000i ;

r(1) = 1 * 5 + 2 *8 + 3i * 7i + 4 * 6i  = 24i;

r(2) = 1 * 6i + 2 *5 + 3i * 8 + 4 * 7i  =  10.0000 +58.0000i ;

r(3) = 1 * 5 + 2 *8 + 3i * 7i + 4 * 6i  =  32.0000 +34.0000i 

r(4) = 1 * 8 + 2 * 7i + 3i * 6i + 4 * 5 = 10 + 14i


(2)频域相乘运算

a1 = [1 2 3i 4]; b1 = [5 6i 7i 8];
X = fft([a1]);
Y = fft([b1]);
%then conv(x,y)
xx= ifft(X.*Y)

ans    =    0 +24.0000i    10.0000 +58.0000i     32.0000 +34.0000i    10.0000 +14.0000i ;


(3)线性卷积:

w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
...
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
w(2*n-1) = u(n)*v(n)

例:

a=[1 2]; b=[3 4i];

ans = conv(a,b);
ans =
   3.0000             6.0000 + 4.0000i        0 + 8.0000i


2.循环卷积与频域相乘运算复杂度比较,如何将线性卷积转换为循环卷积,进而转换成频域相乘,信道估计与信道均衡算法

线性卷积转为循环卷积

X = fft([x zeros(1,length(y)-1)])
Y = fft([y zeros(1,length(x)-1)])

then conv(x,y) = ifft(X.*Y)




猜你喜欢

转载自blog.csdn.net/leegang12/article/details/57076766