下载此文档

matlab卷积码程序.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
matlab卷积码程序
matlab卷积码程序
matlab卷积码程序
1、卷积码编码
function [output]=cnv_encd(input)
%output=cnv_encd(g,k0,input) 卷积码编码函数
%g 生成矩阵
%k0 输入码长
%input  输入信源序列
%output 输出卷积编码序列
g=[1 1 1;1 0 1];编码矩阵
k0=1;
input=[1 1 0 1];
if rem(length(input),k0)〉0
input=[input,zeros(size(1:k0—rem(length(input),k0)))];
end
n=length(input)/k0;
if rem(size(g,2),k0)>0
error(’Error,g is not of the right size。')
end
li=size(g,2)/k0;
n0=size(g,1);
u=[zeros(size(1:(li—1)*k0)),input,zeros(size(1:(li-1)*k0))];
u1=u(li*k0:-1:1);
for i=1:n+li—2
   u1=[u1,u((i+li)*k0:-1:i*k0+1)];
end
uu=reshape(u1,li*k0,n+li-1);
output=reshape(rem(g*uu,2),1,n0*(n+li—1));
2、Viterbi译码程序
1)
function y=bin2deci(x)
matlab卷积码程序
matlab卷积码程序
matlab卷积码程序
l=length(x);
y=(l-1:-1:0);
y=2.^y;
y=x*y';
2)
function y=deci2bin(x,l)
y=zeros(1,l);
i=1;
while x>=0 & i<=l
y(i)=rem(x,2);
x=(x-y(i))/2;
  i=i+1;
end
y=y(l:-1:1);
3)
function distance=metric(x,y)
if x==y
 distance=0;
else
  distance=1;
end
4)
function [next_state,memory_contents]=nxt_stat(current_state,input,L,k)
binary_state=deci2bin(current_state,k*(L-1));
binary_input=deci2bin(input,k);
next_state_binary=[binary_input,binary_state(1:(L—2)*k)];
next_state=bin2deci(next_state_binary);
memory_contents=[binary_input,binary_state];
5)
function [decoder_output,survivor_state,cumulated_metric]=vit

matlab卷积码程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人woyaonulifacai
  • 文件大小30 KB
  • 时间2021-10-27