资源简介
用于水声通信的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
评论
共有 条评论