📄 signature.asv
字号:
function [w1 w2] = signature(snr_in_dB,h)
E = 1; numoferr = 0;
SNR = 10^(snr_in_dB/10); % signal to noise ratio
sgma = (E/sqrt(2*SNR));
w1 = [1 1 1 1]';N = 4;
w2 = [1 1 1 1]';w3 = w1;w4 = w1;
signat = 0.5*hadamard(4); % using columns of hadamard matrix as spreading code
N=1000;mu = 0.1;
for i=1:N
b1 = randsrc(1,1,[1 -1]); % generation of the binary data source follows
b2 = randsrc(1,1,[1 -1]);
xsig1 = b1*signat(:,1);
xsig2 = b2*signat(:,2);
rec1 = conv(h,xsig1);
rec2 = conv(h,xsig2);
r = rec1(1:4)+rec2(1:4)+sgma*(randn(4,1)+j*randn(4,1));
b1r = w1'*r;
%b2r(i) = sign(real(b2r(i)));
error1 = b1-real(b1r);
w1 = w1 + 2*mu*error1*(r);
w1 = real(w1);
b2r = w2'*r;
error2 = b2-real(b2r);
w2 = w2 + 2*mu*error2*r;
w2 = real(w2);
b2r = w2'*r;
error2 = b2-real(b2r);
w3 = w3 + 2*mu*error2*r;
w3 = real(w3);
b4r = w4'*r;
error4 = b4-real(b4r);
w4 = w4 + 2*mu*error4*r;
w4 = real(w4);
E1(i) = error1;
MSE1(i) = mean(E1(1:i).*E1(1:i));
E2(i) = error2;
MSE2(i) = mean(E2(1:i).*E2(1:i));
end
if (snr_in_dB == 30)
figure;plot(MSE1);title('MSE');
figure;plot(MSE2);title('MSE');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -