º»¹®/³»¿ë
³ª. file source code
1) vsimu.m(main file)
function vsimu(N,CN)
% vitersbi algorithm simulating
%ºñÆ®ºñ ¾Ë°í¸®¾¸ Å×½ºÆ® ȤÀº ÀÓÀÇÀÇ ½ÅÈ£¸¦ ºÐ¼®ÇØ ³»´Â ÇÁ·Î±×·¥
% NÀº input data ¼ö, CNÀº constraint length
% Viterbi simulation ¿¡ ÇÊ¿äÇÑ sub file
% inputdata.m : BPSK¿¡¼ N°³ÀÇ -1°ú 1 data ¹ß»ý
% convcod.m : ÀÓÀÇÀÇ data¿¡ ´ëÇÑ constraint length NÀ¸·Î convolutional coding
% convoc.m : 1°³ÀÇ data¿¡ ´ëÇÑ constraint length NÀ¸·Î convolutional coding
% con_de.m : Viterbi algorithm
% convolcode.m : convolutional coding½Ã ÀÓÀÇÀÇ constraint length¿¡ ´ëÇÑ octal code data
% connum.m : NÀÚ¸®ÀÇ ÀÓÀÇÀÇ MÁø¼ö¸¦ 10Áø¼ö·Î ¹Ýȯ
% octob : ÀÓÀÇÀÇ 8Áø¼ö¸¦ 10Áø¼ö(2Áø¼ö)·Î ¹Ýȯ
if exist(`N`),
else error(`Å×½ºÆ®ÇϰíÀÚ ÇÏ´Â input dataÀÇ °¹¼ö¸¦ ÀÔ·Â ¾ÈÇß½À´Ï´Ù.`);
end;
if exist(`CN`),
else error(`cnvolutional codingÇÑ constraint length¸¦ ÀԷ¾ÈÇß½À´Ï´Ù.`);
end;
counter=0; %SNR Ƚ¼ö¸¦ ¼À
for SNR= 1:0.5:6;
counter=counter+1
snr(counter)=SNR;
var1= 10^(-SNR/10)/2; % Uncoded BPSK noise va¡¦(»ý·«)