⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stbc_different_compare.m

📁 是自己自创的好程序
💻 M
字号:
clear all;
close all;
tic;
snr=15;
deg_signal=45;
Line_snr=power(10,snr/10);
jay=exp(sqrt(-1)*(deg_signal/180)*pi);
for trial=1:1000
%for number=1:128
mod_signal=qammod(randint(1,4,[0,3]),4)/sqrt(2);
X=mod_signal;
s1=X(1,1); s2=X(1,2); s3=X(1,3); s4=X(1,4);
A=[s1,s2; -s2',s1']; B=[s3,s4;-s4',s3'];
S=[A,B;B,A];
h=(randn(1,4)+sqrt(-1)*randn(1,4))/sqrt(2);
h1=h(1,1);h2=h(1,2);h3=h(1,3);h4=h(1,4);
H=h.';
R_signal=S*H;
R_signal=awgn(R_signal,snr);
de_H=[h1,h2,h3,h4;
      h2',-h1',h4',-h3';
      h3,h4,h1,h2;
      h4',-h3',h2',-h1'];
 R_Receive=[R_signal(1,1),conj(R_signal(2,1)),R_signal(3,1),conj(R_signal(4,1))];
detection_Signal=inv(de_H'*de_H+(eye(4)/Line_snr))*de_H'*R_Receive.';
%det_X_Signal((number-1)*4+1:number*4)=detection_Signal;
% a=H'*H; b=2*real(h1*h3'+h2*h4');
% test_H=[a,0,b,0;
%         0,a,0,b;
%         b,0,a,0;
%         0,b,0,a];
%test_Signal=test_H*(X.');
%error_test((trial-1)*4+1:trial*4)=test_Signal-detection_Signal;
%add the calculate SNR of the content. 20080109
%end;
abs_X=complex(abs(real(detection_Signal)),abs(imag(detection_Signal)));
power=mean(abs(abs_X).^2);
Noise=var(abs_X);
SNR_x=10*log10(power/Noise);
SNR_trial(trial)=SNR_x;
%add the rotation degree of the content 20080109.
h1=ones(1,1);h2=ones(1,1);h3=ones(1,1); h4=ones(1,1);
H=[h1;h2;h3;h4];
s1=X(1,1); s2=X(1,2); s3=X(1,3); s4=X(1,4);
A=[s1,s2; -s2',s1']; B=[s3,s4;-s4',s3'];
S1=[A,B;B,A];
S1(:,[3,4])=S1(:,[3,4])*jay
Rot_signal=S1*H;
%Rot_signal=awgn(Rot_signal,30);
RR_signal=[Rot_signal(1,1),conj(Rot_signal(2,1)),Rot_signal(3,1),conj(Rot_signal(4,1))].';
rot_H=[h1,h2,jay*h3,jay*h4;
      h2',-h1',h4'*jay',-h3'*jay';
      h3*jay,h4*jay,h1,h2;
      h4'*jay',-h3'*jay',h2',-h1'];
R_det_signal=inv(rot_H'*rot_H)*rot_H'*RR_signal;
abs_X=complex(abs(real(R_det_signal)),abs(imag(R_det_signal)));
power=mean(abs(abs_X).^2);
Noise=var(abs_X);
SNR_x=10*log10(power/Noise);
R_SNR_trial(trial)=SNR_x; 
%add the rotation degree of the content 20080109.
h1=ones(1,1);h2=ones(1,1);h3=ones(1,1); h4=ones(1,1);
H=[h1;h2;h3;h4];
w3=exp(sqrt(-1)*[angle(h1*h3')+pi/2]);
w4=exp(sqrt(-1)*[angle(h2*h4')+pi/2]);
s1=X(1,1); s2=X(1,2); s3=X(1,3); s4=X(1,4);
A=[s1,s2; -s2',s1']; B=[s3,s4;-s4',s3'];
S2=[A,B;B,A];
S2(:,[3])=S2(:,3)*w3;
S2(:,4)=S2(:,4)*w4;
CSI_signal=S2*H;
R_CSI_signal=[CSI_signal(1,1),conj(CSI_signal(2,1)),CSI_signal(3,1),conj(CSI_signal(4,1))].';
Weight_H=[h1,h2,h3*w3,h4*w4;
          h2',-h1',h4'*w4',-h3'*w3';
          h3*w3,h4*w4,h1,h2;
          h4'*w4',-h3'*w3',h2',-h1'];
CSI_det_signal=inv(Weight_H'*Weight_H)*Weight_H'*R_CSI_signal;
%add the rotation degree of the content 20080109.
end;
toc;






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -