Sau khi m ha v gii m th vn cn bt li v s li pht hin c lun lun ln hn s li sa c.Cho nn d gii m nhng vn cn bt li
LAB2:
%phat 10000 bit for i = 1:length(data) SRC_Uncoded(i)= sign(randn)>=1; end % Display the first 20 bits of SRC_Uncoded fprintf('SRC_Uncoded:'); fprintf('\n'); for i=1:4:20 fprintf('%d ',SRC_Uncoded(i:i+3)); fprintf('\n'); end
%Tao tin hieu ma hoa SRC_Coded tu SRC_Uncoded SRC_Coded = zeros(1, 7/4*length(SRC_Uncoded)); j = 1; for k = 1:4:length(SRC_Uncoded) SRC_Coded(j:j+6)= mod(SRC_Uncoded(k:k+3)*G,2); j=j+7; end % Display SRC_Coded fprintf('SRC_Coded:'); fprintf('\n'); for i=1:7:35 fprintf('%d ',SRC_Coded(i:i+6)); fprintf('\n'); end Modulation %qua trinh chuyen tin hieu tu so sang tuong tu (D/A). %Tao tin hieu TX_Codec for i = 1:length(SRC_Coded) if SRC_Coded(i)==1 TX_Coded(i) = A; else TX_Coded(i) = -A; end end % Display TX_Coded fprintf('TX_Coded: \n') for i=1:7:35 printf('%d ',TX_Coded(i:i+6)); fprintf('\n'); end
Noise %Tao chuoi nhieu noise ngau nhien co chieu dai bang chieu dai cua TX_Uncoded noise = randn(1,length(TX_Uncoded)); %20 gia tri nhieu au tien cua noise noise = randn(1,length(TX_Coded)); RX_Coded = TX_Coded + noise; %20 gia tri au tien cua nhieu moi: fprintf('New_noise: \n') for i=1:4:20 fprintf('%f ',noise(i:i+3)); fprintf('\n'); End Demodulation %Tao tin hieu DEST_Coded tu RX_Coded for i = 1:length(RX_Coded) if RX_Coded(i)>0 DEST_Coded(i)=1; else DEST_Coded(i)=0; end end %20 bits au tien cua DEST_Coded: fprintf('\n DEST_Coded: \n') for i=1:4:20 fprintf('%d ',DEST_Coded(i:i+3)); fprintf('\n'); end Decoding To DEST_Decoded: Code: DEST_Decoded = zeros(1,length(SRC_Uncoded)); j = 1; for k = 1:7:length(DEST_Coded) syndrome = mod(DEST_Coded(k:k+6)*HT,2); synd_int = bin2dec(int2str(syndrome)); e = E(synd_int+1,:); corrected_y = mod(DEST_Coded(k:k+6)+ e,2); DEST_Decoded(j:j+3) = corrected_y(4:7); j = j + 4; end %20 gia tri au cua DEST_Decoded: fprintf('\n DEST_Decoded: \n') for i=1:4:20 fprintf('%d ',DEST_Decoded(i:i+3)); fprintf('\n'); end Probability of error %Xac inh so bits loi trong truong hop truyen chua ma hoa uncoded va a ma hoa encoded bang cach so sanh cac bits cua DEST_Decoded voi SRC_Uncoded
coded_errors = sum(mod(DEST_Decoded,2));
%Ket qua fprintf('\n\tA = %3.4f, SNR = %5.2f dB\n', ... Avect(A_index), SNR(A_index)); fprintf( '\tUncoded Errors = %5d, Coded Errors = %5d\n',coded_errors); end %Tinh xac xuat loi luc chua ma hoa va da ma hoa: pr_error_en = [pr_error_en, coded_errors/length(data)]; fprintf( '\tpr_error_un = %f, pr_error_en = %f\n', ... pr_error_un,pr_error_en); end Thc hin li th nghim vi cc gi tr khc nhau ca A. Avect=[0.5,1/sqrt(2),1,sqrt(2),2,2*sqrt(2),4]; bits=10000 Gia tri SNR,uncode_error v coded_error la: A = 0.5000, SNR = -9.03 dB Uncoded Errors = 3039, Coded Errors = 3322, A = 0.7071, SNR = -6.02 dB Uncoded Errors = 2384, Coded Errors = 2452 A = 1.0000, SNR = -3.01 dB Uncoded Errors = 1604, Coded Errors = 1386, A = 1.4142, SNR = 0.00 dB Uncoded Errors = 754, Coded Errors = 481, A = 2.0000, SNR = 3.01 dB Uncoded Errors = 244, Coded Errors = 47 A = 2.8284, SNR = 6.02 dB Uncoded Errors = 20, Coded Errors = 0, A = 4.0000, SNR = 9.03 dB Uncoded Errors = 0, Coded Errors = 0, Biu gi tr nhiu: