%蒙特卡罗仿真(Rayleigh信道,软判决,2FSK)
%
Eb=2; ? ? %每比特的能量,能量越大,卷积译码的误码率越小
k=1;
G=[1 0 1;1 1 1];
input=[1 0 1 0 1 1 1 0];
dsource=cnv_encd(G,k,input);
N=length(dsource);
% n=size(G,1); ? ?%得到码字长度
% Ec=k*Eb/n; ? ? ?%得到码元能量
channel_output=zeros(1,2*N);
% FSK调制
Tb=1;
f1=1000/Tb;
f2=f1+1/Tb;
%f2=1500/Tb;
phi=pi/4;
NN=500;
t=0:Tb/(NN-1):Tb;
u1=cos(2*pi*f1*t); ? %若发送0,则已调信号为u1
u2=cos(2*pi*f2*t); ? %若发送1,则已调信号为u2
% 通过Rayleigh信道
chan = rayleighchan(1/1000,0)?
for j=1:N
? ? if(dsource(j)==0)
? ? ? ? r=cos(2*pi*f1*t+phi);
? ? ? ? y= filter(chan,r); ? ? %衰落
? ? else
? ? ? ? r=cos(2*pi*f2*t+phi);
? ? ? ? y= filter(chan,r); ? ? %衰落
? ? end;
? ? %计算相关输出
? ? ? ? ? ?v1=sin(2*pi*f1*t);
? ? ? ? ? ?v2=sin(2*pi*f2*t);
? ? ? ? ? ?r1c(1)=y(1)*u1(1);
? ? ? ? ? ?r1s(1)=y(1)*v1(1);
? ? ? ? ? ?r2c(1)=y(1)*u2(1);
? ? ? ? ? ?r2s(1)=y(1)*v2(1);
? ? ? ? ? ? ?for k=2:NN
? ? ? ? ? ? ? r1c(k)=r1c(k-1)+y(k)*u1(k);
? ? ? ? ? ? ? r1s(k)=r1s(k-1)+y(k)*v1(k);
? ? ? ? ? ? ? r2c(k)=r2c(k-1)+y(k)*u2(k);
? ? ? ? ? ? ? r2s(k)=r2s(k-1)+y(k)*v2(k);
? ? ? ? ? ? ?end;
? ? ?%判决变量?
? ? ?r1=r1c(NN)^2+r1s(NN)^2;
? ? ?r2=r2c(NN)^2+r2s(NN)^2;?
% ? ? ?if(abs(r1)>abs(r2)) ? ? ?%判决?
% ? ? ? ? ?res(j)=0;
% ? ? ?else
% ? ? ? ? ?res(j)=1;
% ? ? ?end;
? ? ?channel_output(1,2*j-1)=abs(r1);
? ? ?channel_output(1,2*j)=abs(r2); ? ? %输如到然判决译码器
end;
%软判决维特比译码
k=1;
[decoder_output,survivor_state,cumulated_metric]=soft_2FSK_viterbi(G,k,channel_output);
D33
工具:Eclipse,Oracle,smartupload.jar;语言:jsp,Java;数据存储:Oracle。...
4月11日20:30~22:00通过腾讯会议进行了第二次在线学习讨论我把学习笔记整理一下...
错误描述: 在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报...
正则忽略大小写 – RegexOptions.IgnoreCase 例如: 复制代码 代码如下: Str = R...
本文实例讲述了Laravel框架源码解析之反射的使用。分享给大家供大家参考,具体如...
上篇文章给大家介绍了 Java正则表达式匹配,替换,查找,切割的方法 ,接下来,...
复制代码 代码如下: % URL="http://news.163.com/special/00011K6L/rss_newstop....
DELETEFROMTablesWHEREIDNOTIN(SELECTMin(ID)FROMTablesGROUPBYName) Min的话保...
项目中用到的一些特殊字符和图标 html代码 XML/HTML Code 复制内容到剪贴板 div ...
Elasticsearch 是通过 Lucene 的倒排索引技术实现比关系型数据库更快的过滤。特...