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)