?? test_ber_cap.asv
字號:
%****************************************************************
% 內容概述:AWGN信道測試
% 每個SNR采樣點的測試幀數是隨snr指數上升的,
% 這樣不僅減少了計算量而且可以保證精度。
% 每幀的輸入是相同的,(不是每幀都不一樣,這樣可以大幅降低計算量)
% 在幀比特足夠多的情況下,應該可以保證隨機性(未理論證實)
% 創 建 人:朱殿榮/QQ:235347/MSN:njzdr@msn.com
% 單 位:南京郵電大學,通信工程系
% 創建時間:2005年7月24日
% 修改時間:
% 參考文獻:
% 版權聲明:任何人均可復制、傳播、修改此文件,同時需保留原始版權信息。
%****************************************************************
clear;
clc;
time_begin=datestr(now);
snr=0::3; %snr的采樣點
rate=1/3; %碼率
num_frame=round(3.2.^(snr+1)); %測試的幀數;
num_block_size=1024; %測試的塊尺寸,指包含尾比特的軟輸入系統系列長度
err_counter(3,1:length(snr))=0; %初始化錯誤比特計數器
guage=0; %初始化計算量
counter_guage=0; %初始化計算量計數器
for num_it=1:1:3
for ii=1:length(snr)
guage=guage+num_frame(ii); %統計計算量
end
end
random_in=round(rand(1,num_block_size-3)); %隨機數
[turbod_out,alphain]=turbo(random_in); %編碼
for num_it=1:1:3
for ii=1:length(snr)
for frame=1:num_frame(ii)
soft_in=awgn(turbod_out,snr(ii)+10*log10(rate),'measured'); %通過AWGN信道,加入噪聲
counter_guage=counter_guage+1;
fprintf('總幀數:%6.0f;完成幀數:%6.0f;當前snr點總幀數:%4.0f;當前snr點完成幀數:%4.0f;計算進度:%2.1f%% \n',...
guage,counter_guage,num_frame(ii),frame,counter_guage*100/guage);
[hard_out,soft_out]=deturbo_cap(soft_in,alphain,num_it);
err_counter(num_it,ii)=err_counter(num_it,ii)+...
length(find(hard_out(1:num_block_size-3)~=random_in));
end
ber(num_it,ii)=err_counter(num_it,ii)/((num_block_size-3)*num_frame(ii));
end
end
semilogy(snr,ber(1,:),snr,ber(2,:),snr,ber(3,:));
xlabel('SNR(dB)');
ylabel('BER');
title('3GPP標準 max-log-map譯碼算法 譯碼性能圖');
legend('1次迭代','2次迭代','3次迭代');
%save cap算法06.mat snr ber soft_out;
time_end=datestr(now);
disp(time_begin);
disp(time_end);
%plot(snr,ber);
%counter_ber
%soft_in(1,1:10);
%hard_out(1:10);
%soft_out(1:10);
%--------------------------
%soft_in2(1,:)=soft_in(1,alphain);
%soft_in2(2,:)=soft_in(3,:);
%soft_out=decoder_3GPP_MAX_new(soft_in2);
%soft_out(alphain)=soft_out;
%----------------------------
%soft_out=decoder_3GPP_MAX_new(soft_in);
%for ii=1:num_block_size
% if soft_out(ii)>0
% hard_out(ii)=1;
% else
% hard_out(ii)=-1;
% end
%end
%----------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -