• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签: 常规解码  

资源简介

用于水声通信的pattern通信体制的matlab源代码 4bits量化 常规解码 例程

资源截图

代码片段和文件信息

close all;
clear all;
clc;
%**************pattern编码***********
f0=6e3;
fs=4.8e4;                          %采样率40KHz
k=3000/0.04;
t=0:1/fs:(0.04-1/fs);              %同步码宽度 40ms
x1=cos(2*pi*f0*t+pi*k*t.^2);       %同步码 x1带宽6--9KHz
x2=zeros(12400);                  %时隙 50ms  
t1=0:1/fs:(0.008-1/fs);
k1=3000/0.008;
x3=cos(2*pi*f0*t1+pi*k1*t1.^2);    %pattern码宽度 8ms
x=zeros(136);                     %4bit量化的每一量化间隔
N=6000;                              %随机产生信息码
n_sig=randint(1N);
n=zeros(1N/4);
for j=1:length(n)
    n(j)=n_sig(4*j-3)*8+n_sig(4*j-2)*4+n_sig(4*j-1)*2+n_sig(4*j);
end
f=length(n);                           
w=[x1x2];
y=zeros(1576+length(x3));
  for i=1:f
    qian=zeros(1n(i)*36);
    hou=zeros(1(16-n(i))*36);
    y=[qianx3hou];
    w=[wy];
  end
  %w=resample(w4805048000);
  %zaosheng=3*randn(1length(w)); %加噪声
  w=awgn(w-7);               %加高斯白噪声-15DB时出现误码
  %w=w+zaosheng;
%   figure
%   plot(w);
  tt=xcorr(wx1);                 %同步码做相关
%   figure 
%   plot(tt);
  pp=xcorr(wx3);                 %pattern码做相关
%   figure
%   plot(pp);
  %*****************常规解码*******************
  tmax=tt(1);                     %找同步峰的位置
  tfeng=0;
  y_sig1=zeros(1N);
 for j=2:length(tt)
     if tt(j)>tmax
         tmax=tt(j);
         tfeng=j;
     end
 end
T=tfeng;                          %同步峰的位置
Tshixi=length(x2); 
Tsyn=length(x1);
m=T+Tsyn+Tshixi-length(y);     
pfeng=zeros(1f);
Y=zeros(1f);
 for i=1:f
     m=m+length(y);
     pmax=pp(m);
     pfeng(j)=m;
     for k=m-17:m+557
           if pp(k)>pmax
           pmax=pp(k);
           pfeng(i)=k;           %相关峰的位置
        end
      Y(i)=round((pfeng(i)-T-(i-1)*length(y)-Tsyn-Tshixi)/36);
 switch Y(i)
    case 0
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=0;y_sig1(4*i-1)=0;y_sig1(4*i)=0;
    case 1
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=0;y_sig1(4*i-1)=0;y_sig1(4*i)=1;
    case 2
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=0;y_sig1(4*i-1)=1;y_sig1(4*i)=0;
    case 3
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=0;y_sig1(4*i-1)=1;y_sig1(4*i)=1;
    case 4
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=1;y_sig1(4*i-1)=0;y_sig1(4*i)=0;
    case 5
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=1;y_sig1(4*i-1)=0;y_sig1(4*i)=1;
    case 6
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=1;y_sig1(4*i-1)=1;y_sig1(4*i)=0;
    case 7
        y_sig1(4*i-3)=0;y_sig1(4*i-2)=1;y_sig1(4*i-1)=1;y_sig1(4*i)=1;
    case 8
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=0;y_sig1(4*i-1)=0;y_sig1(4*i)=0;
    case 9
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=0;y_sig1(4*i-1)=0;y_sig1(4*i)=1;
    case 10
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=0;y_sig1(4*i-1)=1;y_sig1(4*i)=0;
    case 11
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=0;y_sig1(4*i-1)=1;y_sig1(4*i)=1;
    case 12
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=1;y_sig1(4*i-1)=0;y_sig1(4*i)=0;
    case 13
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=1;y_sig1(4*i-1)=0;y_sig1(4*i)=1;
    case 14
        y_sig1(4*i-3)=1;y_sig1(4*i-2)=1;y_sig1(4*i-

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3348  2010-01-05 16:09  chc_changgui.m

----------- ---------  ---------- -----  ----

                 3348                    1


评论

共有 条评论

相关资源