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

📄 stbc_different_compare0114.m

📁 是自己自创的好程序
💻 M
字号:
clear all;
close all;
tic;
snr=30;
Nt=4;
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;
signal=randint(Nt,2*128);
mod_signal=Mapper(signal,2);
X=mod_signal;
% for i=1:length(X); 
h=(randn(1,4)+sqrt(-1)*randn(1,4))/sqrt(2);
% s1=X(1,i); s2=X(2,i); s3=X(3,i); s4=X(4,i);
% A=[s1,s2; -s2',s1']; B=[s3,s4;-s4',s3'];
% S=[A,B;B,A];
% 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;
% No_ration_trial(:,i)=detection_Signal;
% end;
% %x_No_ration_trial=zeros(1,4*128);
% %x_No_ration_trial=reshape(No_ration_trial,1,[]);
% de_data=deMapper(No_ration_trial,2);
% [ratio,number]=biterr(de_data,signal);
% abs_X=complex(abs(real(No_ration_trial)),abs(imag(No_ration_trial)));
% 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];
for i=1:length(X)
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=[h1,h2,h3,h4].';
s1=X(1,i); s2=X(2,i); s3=jay*X(3,i); s4=jay*X(4,i);
A=[s1,s2; -s2',s1']; B=[s3,s4;-s4',s3'];
S1=[A,B;B,A];
%S1(:,[3,4])=S1(:,[3,4]);
H=[h(1,1),h(1,2),h(1,3),h(1,4)].';
Rot_signal=S1*H;
Rot_signal=awgn(Rot_signal,snr);
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',jay*h4',-jay*h3';
      h3,h4,jay*h1,jay*h2;
      h4',-h3',jay*h2',jay*-h1'];
R_det_signal=inv(rot_H'*rot_H+(eye(4)/Line_snr))*rot_H'*RR_signal;
Rotation_trial(:,i)=R_det_signal;
end;
%x_Rotation_trial=zeros(1,4*128);
%x_Rotation_trial=reshape(Rotation_trial,1,[]);
Rotation_data=deMapper(Rotation_trial,2);
[ratio2,number2]=biterr(Rotation_data,signal);
abs_X=complex(abs(real(Rotation_trial)),abs(imag(Rotation_trial)));
power=mean(abs(abs_X).^2);
Noise=var(abs_X);
SNR_x=10*log10(power/Noise);
x_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];
for i=1:length(X);
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=[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;
CSI_signal=awgn(CSI_signal,snr);
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+(eye(4)/Line_snr))*Weight_H'*R_CSI_signal;
CSI_data(:,i)=CSI_det_signal;
end;
%x_CSI_data=zeros(1,4*128);
%x_CSI_data=reshape(CSI_data,1,[]);
CSI_data1=deMapper(CSI_data,2);
[ratio2,number2]=biterr(CSI_data1,signal);
abs_X=complex(abs(real(CSI_data)),abs(imag(CSI_data)));
power=mean(abs(abs_X).^2);
Noise=var(abs_X);
SNR_x=10*log10(power/Noise);
xx_SNR_trial(trial)=SNR_x; 
%add the rotation degree of the content 20080109.
end;
toc;






⌨️ 快捷键说明

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