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

📄 juanjibiayima.m

📁 卷积码编码及其维特比译码的C54x Simulator仿真试验及matlab实现
💻 M
字号:
%*************************
%卷积编译码的matlab实现
%卷积编译码(2,1,2);
%生成多项式(5,7);
%**********************
clear
clc
M=1000;%定义卷积编码个数
n=2;
k=1;
N=2;
gen=[5,7];
msg=randint(M,1,2);%随机生成N个未编码比特数据
fid=fopen('c:/Unencode_Data.txt','w');
for i=1:M
    fwrite(fid,13);
    fwrite(fid,10);
    fwrite(fid,msg(i)+48);
end
fclose(fid);%将未编码比特数据写入文件Unencode_Data.txt
tran_func=poly2trellis([3],gen);%生成转移函数矩阵
Encode_Data=convenc(msg,tran_func);
fid=fopen('c:/Encode_Data.txt','w');
for i=1:(n*M/k)
    fwrite(fid,13);
    fwrite(fid,10);
    fwrite(fid,Encode_Data(i)+48);
end
fclose(fid);%将卷积编码后的比特数据写入文件Encode_Data.txt
BPSK_Mod_Data=(1-2*Encode_Data);%BPSK调制 
fid=fopen('c:/BPSK_Mod_Data.txt','w');
for i=1:(n*M/k)
    fwrite(fid,13);
    fwrite(fid,10);
    if BPSK_Mod_Data(i)<0
        fwrite(fid,45);
    end
    fwrite(fid,BPSK_Mod_Data(i)+48);
end
fclose(fid);%将调制后的比特数据写入文件BPSK_Mod_Data.txt
Decode_Data=vitdec(BPSK_Mod_Data,tran_func,32,'trunc','unquant');
fid=fopen('c:/Decode_Data.txt','w');
for i=1:M
    fwrite(fid,13);
    fwrite(fid,10);
    fwrite(fid,Decode_Data(i)+48);
end
fclose(fid);
error=sum(abs(Decode_Data-msg),1);
subplot(211)
stairs(msg);
subplot(212)
stairs(Decode_Data);

% plot(Decode_Data-msg);






    
    

⌨️ 快捷键说明

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