准对称信道信道容量的证明及其Matlab实现

准对称信道信道容量的证明及其Matlab实现
准对称信道信道容量的证明及其Matlab实现

信道容量的计算

§4.2信道容量的计算 这里,我们介绍一般离散信道的信道容量计算方法,根据信道容量的定义,就是在固定信道的条件下,对所有可能的输入概率分布)(x P 求平均互信息的极大值。前面已知()Y X I ;是输入概率分布的上凸函数,所以极大值一定存在。而);(Y X I 是r 个变量 )}(),(),({21r x p x p x p 的多元函数。并且满足1)(1 =∑=r i i x p 。所以可用拉格朗日乘子法来 计算这个条件极值。引入一个函数:∑-=i i x p Y X I )();(λ φ解方程组 0) (] )();([) (=∑?-???i i i i x p x p Y X I x p λ φ 1)(=∑i i x p (4.2.1) 可以先解出达到极值的概率分布和拉格朗日乘子λ的值,然后在解出信道容量C 。因为 ) () (log )()();(11 i i i i i r i s j i y p x y Q x y Q x p Y X I ∑∑=== 而)()()(1 i i r i i i x y Q x p y p ∑== ,所以 e e y p y p i i i i i y p x y Q i x p i x p l o g l o g ))(ln ()(log ) ()()() (==????。 解(4.2.1)式有 0log )()()()()()(log )(111=--∑∑∑===λe y p x y Q x y Q x p y p x y Q x y Q i i i i i r i s j i i i i s j i i (对r i ,,2,1 =都成立) 又因为 )()()(1j k k r k k y p x y Q x p =∑= r i x y Q s j i j ,,2,1,1)(1 ==∑= 所以(4.2.1)式方程组可以转化为 ),,2,1(log ) ()(log )(1r i e y p x y Q x y Q j i j s j i j =+=∑=λ 1)(1 =∑=r i i x p

信道编码实验指导书

HDB3编解码实验 一、实验目的 1、熟悉HDB3编解码的原理; 2、观察HBD3码编码和解码的结果,结合原理进一步理解编解码的过程; 3、学习通过软件编程实现HDB3编解码实验 二、实验电路及工作原理 1、HDB3码简介 CCITT建议,HDB3码的全称是三阶高密度双极性码,为PCM系统欧洲系列时分多路复接一次群2.048Mbit/s,二次群8.488Mbit/s,三次群34.368Mbit/s的线路接口型。它将信息符号‘1’变换成“+1”或“-1”的线路码,将连“0”数限制为小于等于3,当信息符号出现4个连“0”时用特定码取代。用于HDB3码将连“0”减少到至多3个,所以它的功率谱与信源统计无关,这对于接收端定时提取十分有利。此项实验问软件编程实现。 数字基带信号的传输是数字通信系统的重要组成部分之一。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。于是,出现了各种各样常用码型。不同码型有不同的特点和不同的用途。 作为传输用的基带信号归纳起来有如下要求:1 希望将原始信息符号编制成适合与传输用的码型;2 对所选码型的电波形,希望它适宜在信道中传输。可进行基带传输的码型较多。 AMI码 AMI码称为传号交替反转码。其编码规则为代码中的0仍为传输码0,而把代码中1交替地变化为传输码的+1-1+1-1,、、、。举例如下。 消息代码:0 1 1 1 0 0 1 0 、、、 AMI 码:0 +1 -1 +1 0 0 -1 0 、、、或 0 -1 +1 -1 0 0 +1 0 、、、 AMI码的特点: 无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。 编码电路简单,便于观察误码状况。 由于它可能出现长的连0串,因而不利于接受端的定时信号的提取。 HDB3码 这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。它克服了AMI码的长连0传现象。 2、HDB3编码的原理 先将二进制序列中的“0”码变成“0”而把序列的“1”交替的变换为+1、-1。再检

基于MATLAB的卷积码的分析与应用

基于MATLAB的卷积码的分析与应用

毕业设计(论文)任务书

基于MATLAB的卷积码的分析与应用 摘要 随着现代通信的发展,特别是在未来4G通信网络中,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。因为信道状况的恶劣,信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。因此差错控制编码得到了广泛应用。 介绍了多种信道编码方式,着重介绍了卷积码的编码方法和解码方式。介绍了MATLAB的使用方法、编程方法、语句、变量、函数、矩阵等。介绍了TD-SCDMA通信系统和该系统下的卷积码,搭建了系统通信模型。编写卷积码的编码和解码程序。用MATLAB仿真软件对TD-SCDMA系统的卷积码编解码进行仿真。对其纠正错码性能进行验证,并且对误码率进行仿真和分析。卷积码的编码解码方式有很多,重点仿真Viterbi算法。Viterbi算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径。沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。 关键词:卷积码;信道编码;TD-SCDMA;MATLAB

目录 毕业设计(论文)任务书 ............................................................................................I 摘要........................................................................................................................... II Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1课题研究的背景和来源 (1) 1.2主要内容 (2) 第2章相关理论介绍 (3) 2.1信道编码 (3) 2.1.1 信道编码的分类 (3) 2.1.2 编码效率 (3) 2.2线性分组码 (3) 2.3循环码 (5) 2.4卷积码 (6) 2.4.1 卷积码简介 (7) 2.4.2 卷积码的编码 (7) 2.4.3 卷积码的解码 (13) 第3章MATLAB应用 (21) 3.1数和算术的表示方法 (21) 3.2向量与矩阵运算 (21) 3.2.1 通过语句和函数产生 (21) 3.2.2 矩阵操作 (22) 3.3矩阵的基本运算 (22) 3.3.1 矩阵乘法 (22) 3.3.2 矩阵除法 (23) 3.4MATLAB编程 (23) 3.4.1 关系运算 (23) 3.4.2 控制流 (25) 第4章卷积码的设计与仿真 (27) 4.1TD-SCDMA系统 (27) 4.1.1 系统简介 (27) 4.1.2 仿真通信系统模型 (27)

瑞利信道仿真 matlab

实验一 瑞利信道的仿真 一 引言:瑞利信道介绍 瑞利衰落信道(Rayleigh fading channel )是一种无线电信号传播环境的统计模型。这种模型假设信号通过无线信道之后,其信号幅度是随机的,即“衰落”,并且其包络服从瑞利分布。[1] 瑞利分布就是两个独立的高斯分布的平方和的开方一个信号都是分为正交的两部分,而每一部分都是多个路径信号的叠加,当路径数大于一定数量的时候,他们的和就满足高斯分布。而幅度就是两个正交变量和的开平方,就满足瑞利分布了。[2] 二 实验目的: 用MATLAB 软件仿真瑞利信道,产生瑞利信道的随机数,画出产生瑞利数据的CDF 和PDF ,并求瑞利数据的均植和方差。 三 实验内容: 1、实验原理: 一个随机二维向量的两个分量呈独立的、有着相同的方差的正态分布时,这个向量的模呈瑞利分布,两个正交高斯噪声信号之和的包络服从瑞利分布。信道符合瑞利分布,做出概率密度函数曲线。这里又到了瑞利分布的概率密度函数 2 22()exp() 0r 2r r p r σσ=-≤≤∞运用公式验证瑞利信道是符合瑞利分布的。 2、程序框图

3、源程序代码 % parameters setting clc; n=0:0.1:10; sigma=1; N=100000; x=randn(1,N); y=randn(1,N); M=x+j*y; r=sqrt(sigma*(x.^2+y.^2)); % q=1-exp((-(x.^2+y.^2))/(2*sigma*sigma)); % step=0.1; %range=0:step:3; h=hist(r,n); fr_approx=h/(0.1*sum(h)); pijun=sum(r)/N; junfanghe=(r-pijun).^2; junfang=sum(junfanghe)/N; u=0; % w=hist(q,n); % fr_approx1=-w/(0.1*sum(w)); % Calculate the CDF &Drawing cdf=raylcdf(n,sigma); subplot(3,1,1); plot(n,cdf); % hold on; % plot(n,fr_approx1,'ko'); % Calculate the PDF & Drawing title('Normal cumulative distribution'); pdf=raylpdf(n,sigma); subplot(3,1,2); plot(n,pdf); title('Normal probability density'); hold on; plot(n,fr_approx,'ko'); axis([0 8 0 1]) wucha=fr_approx-pdf; subplot(3,1,3); plot(n,wucha); title('wucha'); % Generate the randoms & Calculate the mean, covariance R=raylrnd(sigma,1,1000); % subplot(3,1,3);

基于MATLAB的LDPC信道编码的研究及实现

本科毕业设计任务书 题目:基于MATLAB的LDPC信道编码的研究及实现

一、毕业设计内容及要求 1、课题说明: 随着无线通信技术的发展和各种传输方式对可靠性要求的不断提高,信道编码作为抗干扰技术的重要手段之一,在数字通信技术领域和数字传输领域显示出越来越重要的作用。近年来,基于中继的协作通信技术通过有效利用空间分集,显著改善通信系统的性能。协作通信技术还可以利用纠错码以进一步提高系统性能。Turbo码和LDPC码作为一种能够逼近香农限的优异差错编码技术,在现代通信中起着举足轻重的作用。LDPC码的种种优点使其成为下一代移动通信(4G)的强有力竞争者,因此LDPC码已经成为信道编码领域的研究热点之一。 本选题的基本任务:在了解LDPC码字的重要作用的基础之上,通过对LDPC码的编译码算法的深入研究,利用MATLAB对LDPC码进行模拟仿真,建立仿真分析模型,分析编码过程中码长、列重、围长等参数的影响,译码时采用不同的译码算法并做出比较。 2、毕业设计的主要内容: (1)了解信道编码在通信系统中的重要作用; (2)掌握LDPC信道编码工作的基本原理; (3)熟悉并掌握LDPC码的编译码算法; (4)利用MATLAB建立LDPC信道编码的仿真模型; (5)对系统进行优化并比较分析码长、列重等参数的影响; (6)比较分析不同的译码算法的影响。 3、毕业设计的基本要求: (1)了解课题的相关知识; (2)调研,比较国内外相关方面的课题; (3)设计方案要进行技术分析,以选择较为合理的方案; (4)实验要求有实验方法和实验数据以及数据分析; (5)设计说明书应包括与有关的叙述说明和计算,内容完整、计算正确; (6)书写工整。计算公式和引用数据要正确,并说明其来源; (7)设计说明书应包括中英文摘要、目录、前言、正文、小结、参考文献; (8)设计说明书图纸应能较好地表达意图,图面布局合理,符合国家制图标准和有关规范。 4、毕业设计工作量: (1)写开题报告,要求不少于2000字;

(完整word版)基于Matlab的无线信道仿真

基于Matlab的无线信道仿真 近几年,随着无线通信业务和新兴宽带移动互联网接入业务的快速增长,对无线通信系统的优化显得尤为重要。与有线信道静态和可预测的典型特点相反,在实际中,由于无线信道动态变化且不可预测,无线通信系统的性能在很大程度上取决于无线信道环境,所以对无线信道的准确理解和仿真对设计一个高性能和高频谱效率的无线传输技术显得尤其重要。 无线信道的一个典型特征是“衰落”,衰落现象大致可分为两种类型:大尺度衰落和小尺度衰落。其中,大尺度衰落主要在移动设备通过一段较长的距离时体现,它是由信号的损耗(长距离传播)和大的障碍物(如建筑物、中间地形和植物)形成的阴影所引起的,一般分为路径损耗和阴影衰落,另一方面,小尺度衰落是指当移动台在较短距离内移动时,由多条路径的相消或相长干涉所引起信号电平的快速波动,主要表现为多径衰落。它们之间的关系如图1所示。报告中分别对这几种衰落的常见模型进行了总结和仿真。 图1 各种衰落之间的关系 一、大尺度衰落 大尺度衰落是在一个较大的范围上考察功率的渐变过程,功率的局部中值随距离变化缓慢。大尺度信道模型主要研究电波传播在时间、空间、频率范围内平均特性。 1.1 路径损耗 路径损耗由发射功率的辐射扩散及信道的传播特性造成,反映在宏观长距离

上。理论上认为,对于相同收发距离,路径损耗相同。其定义为有效发射功率和平均接收功率之间的比值。几种常用的描述大尺度衰落的模型有自由空间模型、对数距离路径损耗模型、Hata-Okumura 模型。 1.1.1自由空间模型 所谓自由空间是指天线周围为无限大真空时的电波传播,它是理想传播条件。电波在自由空间传播时,其能量既不会被障碍物所吸收,也不会产生反射或散射,传播路径上没有障碍物阻挡,到达接收天线的地面反射信号场强也可以忽略不计。 自由空间模型中路径损耗计算公式: r t r t s G G c df πP P L 142 ??? ??== 其中,t P 为发射功率,r P 为接收功率,d 为发射端与接收端距离,f 为载波频率,c 为光速取8103?,t G 为发射端天线增益,r G 为接收端天线增益。转换成分贝表示: r t r t s G G f d P P L lg 10lg 20lg 2045.32lg 10dB -++==)( 发射端与接收端均是全向天线,1==r t G G ,得图2: 图2 路径损耗随距离、频率变化曲线 1.1.2 对数距离路径损耗模型 与前面提到的自由空间路径损耗一样,在其他所有实际环境中,平均接收信号功率随距d 呈对数方式减小。通过引入随着环境而改变的路径损耗指数n 可以修正自由空间模型,从而构造出一个更为普遍的路径损耗衰落模型。

《移动通信》实验:信道编解码

《移动通信》实验:信道编解码 班级:学号:姓名: 一、实验名称:信道编解码 时间:2018.05.09、2018.05.11 地点:E-513、E-412 指导老师:胡倩彭祯 二、实验目的 通过本次试验,了解信道编码的基本原理,加深对奇偶校验码、汉明码等算法的理解。 三、相关原理 奇偶监督码分为技术监督码和偶数监督码两种,两者原理相同,本实验采用偶监督码。在偶数监督码中,无论信息位多少,监督位只有1位,它使码组中“1”的数目为偶数。在接收端,求“模2和”,若结果为1,则存在错码。 汉明码有3位监督码 S1=a6⊕a5⊕a4⊕a2 S2= a6⊕a5⊕a3⊕a1 S3= a6⊕a4⊕a3⊕a0 在发送端编码是,信息位a6、a5、a4的值取决于输入信号,因此他们是随机的。 接收端收到每个码组后,先计算出S1、S2、S3,再按照表判断错码情况。 四、源程序及运行结果 偶监督码: #include #include #include #include

#include using namespace std; string a[100]={"0"}; int k=0; int num(string m[]) { int j=0; for(int i=0;i<100;i++) { if(a[i]=="1") j++; } return j; } void Error(string m[]) { srand(time(0)); int x; x=rand()%k; if(x!=k) { if(m[x]=="1") m[x]="0"; else m[x]="1"; } Sleep(1000);

数字通信系统matlab仿真

课程设计报告 题目:基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响 专业:通信工程 姓名:XXX 学号:0730xxxx

基于MATLAB 的通信系统仿真 ———信道编码对通信系统性能的影响 摘要:简述信道编码理论,详细说明分组码的编译原理、实现方法及检错纠错能力,用MATLAB 仿真有无信道编码条件下对通信系统性能的影响及信道编码在不同信道下对通信系统性能的影响,如AWGN 信道和深衰落信道。 关键词:信道编码、分组码、MATLAB 仿真、性能 一、引言 提高信息传输的有效性和可靠性始终是通信技术所追求的目标,而信道编码能够显著的提升信息传输的可靠性。1948年,信息论的奠基人C.E.Shannon 在他的开创性论文“通信的数学理论”中,提出了著名的有噪信道编码定理.他指出:对任何信道,只要信息传输速率R 不大于信道容量C, 就一定存在这样的编码方法:在采用最大似然译码时,其误码率可以任意小.该定理在理论上给出了对给定信道通过编码所能达到的编码增益的上限,并指出了为达到理论极限应采用的译码方法.在信道编码定理中,香农提出了实现最佳编码的三个基本条件 :(1 )采用随机编译码方式 ; (2 )编码长度L→∞ , 即分组的码组长度无限 ; (3)译码采用最佳的最大似然译码算法。【1】 二、信道编码理论 1、信道编码的目的 在数字通信系统中由于信道内存在加性噪声及信道传输特性不理想等容易造成码间串扰同时多用户干扰、多径传播和功率限制等也导致错误译码。为了确保系统的误比特率指标通常采用信道编码。信道编码是为了保证信息传输的可靠性、提高传输质量而设计的一种编码。它是在信息码中增加一定数量的多余码元,使码字具有一定的抗干扰能力。 2、信道编码的实质 信道编码的实质就是在信息码中增加一定数量的多余码元(称为监督码元),使它们满足一定的约束关系,这样由信息码元和监督码元共同组成一个由信道传输的码字。举例而言,欲传输k 位信息,经过编码得到长为n(n>k)的码字,则增加了 n - k = r 位多余码元,我们定义 R = k / n 为编码效率。【2】 3、 信道编码公式 令信息速率为f b ,经过编码以后的速率为f t ,定义:R =f b /f t 为编码率。则对于任何一个信道,总存在一个截止速率R 0,只要R

信道编码实验

实验五信道编码实验 实验目的:1、学习并理解信道编码的根本目的、技术要求与基本目标等基本概念; 2、学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;掌握线性分组码的物理涵义、数学基础及检纠错原理;掌握循环码的码型特点、检纠错能力、编译码方法及基本技术; 3、学会使用MATLAB工具检纠错模拟与分析。 实验仪器:MATLAB软件,PC机 实验原理(概括性文字叙述、主要公式、电路图等) 如果说信源编码的目的是为了提高信号传输的有效性的话,那么信道编码则是为了提高通信的可靠性而采取的一种编码策略。信道编码的核心基础是纠错编码理论,是在信息码后面附加上一些监督码,以便在接收端发现和纠正误码。 数字通信系统简化模型 编码信道:包括信道编码器、实际信道、信道译码器。 该模型是研究信道纠错编码和译码的模型,集中研究通信可靠性。 通信可靠性问题:消息通过信道传输的时候,如何选择编码方案来减少差错。首先与信道统计特性有关,其次与编码方法、译码方法也有关系。 信道是信号从信源传送到信宿的通路。 由于信道有干扰,使得传送的数据流(码流)中产生误码。 误码的处理技术有纠错、交织、线性内插等。 信道编码的目的是提高信息传输或通信的可靠性。

信道编码的任务是降低误码率,使系统具有一定的纠错能力和抗干扰能力,提高数据传输效率。 信道编码的过程是在源数据码流中加插一些码元,达到在接收端进行检错和纠错的目的。 在带宽固定的信道中,总的传送码率是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价了。 降低误码率:在传输的信息码之中按一定规律产生一些附加数字,经信道传输,在传输中若码字出现错误,收端能利用编码规律发现码的内在相关性受到破坏,从而按一定的译码规则自动纠正或发现错误,降低误码率。 实验内容及数据处理: 利用MATLAB仿真二进制码在离散信道无记忆信道中传输产生的误码率,设传送二进制码“0”的概率P0=0.6,"1"的概率p1=1-p0。利用单极性基带信号传输,从判决输入端观测,用电平s0=0传输“0”,用电平s1=A传输“1”,信道中的噪声是加性的零均值高斯噪声,方差为柯西的平方,求在最佳门限电平判决下传输误码率Pe与A2/柯西平方下的曲线,每一个给定噪声方差下仿真传输序列长度为105bit,仿真程序代码如下: clear; s0=0;s1=5; p0=0.6;%信源概率 p1=1-p0; A2_over_sigma2_dB=-5:0.5:20;%仿真信噪比范围 A2_over_sigma2=10.^(A2_over_sigma2_dB./10); sigma2=s1^2./A2_over_sigma2; N=1e5; for k=1:length(sigma2) X=(randn(1,N)>p0); n=sqrt(sigma2(k)).*randn(1,N); xi=s1.*X+n; C_opt=(s0+s1)/2+sigma2(k)/(s1-s0)*log(p0./p1); y=(xi>C_opt); err(k)=(sum(X-y~=0))./N; end semilogy(A2_over_sigma2_dB,err,'o');hold on; for k=1:length(sigma2) C_opt=(s0+s1)./2+sigma2(k)./(s1-s0).*log(p0./p1); pe0=0.5-0.5*erf((C_opt-s0)/(sqrt(2*sigma2(k)))); pe1=0.5+0.5*erf((C_opt-s1)/(sqrt(2*sigma2(k))));

基于matlab的turbo码编码的结题报告 彭锦程

基于matlab的turbo码编码的结题报告 姓名:彭锦程 学号:10021230 同组人:李世斌 学号:10021229 指导老师:徐小平

一:引言 自从香农的信道编码定理提出之后,人们对设计出好的信道码的探索与研究就从未间断。1993 年,在国际通信会议上法国学者C Berrou 等人首次提出了Turbo 码。在加性高斯白噪声的环境下,采用编码效率R=1/2、交织长度为65536 的Turbo 码,经过18 次迭代译码后,在Eb/N0=0.7dB 时,其误码率已低于10-5,与香农极限只相差0.7dB。Turbo 码以其优异的性能引起各国研究学者的强烈关注,成为研究的热点课题。在第3 代移动通信系统的建议中,无论是UMTS(WCDMA)还是IS2000(CDMA2000),都已将Turbo 码作为高速率、高质量数据传输中信道编码方案的标准。虽然至今Turbo 码在数学上的机理还没有定论,但是,Turbo 码的优越性能及其迭代译码算法的思想,很大程度上已经被人们所理解。 Shannon 编码定理指出:如果采用足够长的随机编码,就能逼近Shannon 信道容量。而Turbo 码以其接近Shannon 理论极限的译码性能,已被采纳为3G移动通信系统的信道编码标准之一。Turbo 码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软输入/ 软输出(SISO) 译码器之间进行多次迭代实现了伪随机译码。采用迭代译码的方法来提高通信系统的译码性能是Turbo 码的最大特点。 Turbo 码的编码器、译码器结构繁琐,是一种非常复杂的信道编码方案,这使得对Turbo 码的理论分析十分困难,且只能对运算复杂度作宏观分析,对Turbo码的具体实现并没有一个清楚的度量。因此,使用计算机对Turbo 码进行仿真分析是十分必要的。考虑到Turbo 码系统编译码的数据处理量很大,利用生成矩阵对信息序列进行编码、译码时的迭代计算等等,都涉及了矩阵运算,故采用Matlab/ Simulink 来进行建模仿真,同时分析了迭代次数、交织长度及不同译码算法对Turbo 码性能的影响。 二:Turbo 码的编码器和译码器原理 Turbo 码编码器组成 Turbo 码的编码器的基本结构如图1 所示。 图1 Turbo 码的编码器结构图 Turbo 码编码器主要由两个递归系统卷积编码器(RSC) 、一个交织器与一个删余和复用单元组成。递归系统卷积编码器是指带有反馈的系统卷积编码器,其码率可设为R = k/ n ;交织器用来改变信息序列的排列顺序,获得与原始信息序列内容相同,但排列不同的信息序列;删余和复用单元的作用是从总体上改善Turbo码码率,因此通过删余和复用单元, Turbo 码可以获得不同码率的码字。编码器的码字通过信道输出到译码器内。 Turbo 码译码器原理

matlab信道仿真经典源程序

% % % Rayleigh Fading Channel Signal Generator % Using the Dent Model (a modification to the Jakes Model) % % Last Modified 10/18/05 % % Author: Avetis Ioannisyan (avetis@https://www.360docs.net/doc/2f7389588.html,) % % % Usage: % [omega_mTau, Tk] = % ai_RayCh(NumAngles, Length, SymbolRate, NumWaveforms, CarrierFreq, Velocity) % % Where the output omega_mTau is a time scaling factor for plotting % normalized correlations. The LAGS value output by [C,LAGS] = XCORR(...) % should be multiplied by the omega_mTau scaling factor to properly display % axis. Tk is a two dimensional vector [M, N] = SIZE(Tk) with % M=numWaverorms and N=Length specified in the RayCh(...) function call % % And the input variables are: % % NumAngles - scalar power of 2, NumAngles > 2^7 is used to specify the % number of equally strong rays arriving at the receiver. It used to % compute the number of oscillators in the Dent model with N0 = numAngles/4 % % Length - scalar preferably power of 2 for faster computation, Length > 2^17 % is used to specify the length of the generated sequence. Lengths near 1E6 % are close to realistic signals % % SymbolRate - scalar power of 2 and is in kilo-symbols-per-sec is used to % specify what should be the transmission data rate. Slower rates will % provide slowly fading channels. Normal voice and soem data rates are % 64-256 ksps % % NumWaveforms - scalar used to specify how many 'k' waveforms to generate % in the model. NumWaveforms > 2 to properly display plots % % CarrierFreq - scalar expressed in MHz is the carrier frequency of the % tranmitter. Normally 800 or 1900 MHz for mobile comms % % Velocity - scalar expressed in km/hr is the speed of the receiver. % 100 km/hr = 65 mi/hr. Normal values are 20-130 km/hr %

实验七_信道编码仿真实现

实验七信道编码仿真实现 班级:08电子信息工程二班 实验人:马华臣 一、实验目的 理解信道编码的思想,掌握信道编码的编程实现原理及技术。 二、实验内容 1.随机产生二进制信源消息序列。 产生随机数的方法与前面类似,利用srand( (unsigned)time( NULL ) )和rand()函数模拟产生随机数。 2.利用信道编码方法进行编译码。 信道的编译码分三部分,即编码部分,信道模拟部分,译码部分。编码部分采用汉明编码。模拟信道,采用rand()函数随机确定产生差错的位置。译码部分,采用标准阵列表直接全表查找的方法译码。本程序实现的是对汉明(5,2)码的编码与译码(课本P362-363)。 生成矩阵为: G= 1 0 1 1 1 0 1 1 0 1 三、程序 //汉//汉明(5,2)码的编码与标准阵列译码/// ///////////////////////////// #include "stdio.h"

#include "math.h" #include"stdlib.h" #include "time.h" void main() { int aa[10000]; int i; int N; //////////////////////// int b[4][7]={{1,0,1,1,1},{0,1,1,0,1}};//定义生成矩阵 int y=0,s=0; int j,k,m,n; int a[4],q[7],rr[10000/2*5]; ////////////////////////// int p,u,D=0; int cc[2500],dd[2500],ee[2500]; int e[7][5]={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1}, {1,0,1,0,0},{1,0,0,0,1}};//定义错误图样 int w[10000/2*5]; int ww[10000/2]; printf("汉明(5,2)码的编码与标准阵列译码:\n"); printf("请输入你想产生的二进制个数(至少四个但不超过1万):"); scanf("%d",&N); //输入想产生的信源的个数 while(N<4) { printf("输入无效,请重新输入"); printf("请输入你想产生的二进制个数(至少四个):"); scanf("%d",&N); } printf("随机产生的二进制序列为:\n"); srand( (unsigned)time( NULL ) ); //产生一个随机序列,并把它放入a[]中for(i=0;i

基于matlab的2-3卷积码编码译码设计与仿真

西南科技大学 方向设计报告 课程名称:通信工程方向设计 设计名称:2/3卷积码编译码器仿真与性能分析 姓名: 学号: 班级: 指导教师: 起止日期:2011.12.12-2012.1.6 西南科技大学信息工程学院制

方向设计任务书 学生班级:学生姓名:学号: 设计名称:2/3卷积码编译码器仿真与性能分析 起止日期:2011.12.12-2012.1.6指导教师: 设计要求: (1)分析2/3卷积码编码器结构; (2)分析2/3卷积码译码的Viterbi算法; (3)基于SIMULINK进行2/3卷积码的纠错性能仿真; 方向设计学生日志 时间设计内容 12.15-12.17 查看题目及设计要求。 12.18-12.23 查阅相关资料,设计方案。 12.23-12.27 编写报告及调试程序。 12.28-12.29 完善修改课程设计报告。 12.30-12.31 答辩。

方向设计考勤表 周星期一星期二星期三星期四星期五 方向设计评语表 指导教师评语: 成绩:指导教师: 年月日

2/3卷积码编译码器仿真与性能分析 摘要: 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。 关键词: 卷积码编码器、viterbi译码器、SIMULINK

准对称DMC信道容量的C++实现,程序说明书

准对称DMC信道容量的C++实现 程序说明书 山东**大学***科学与技术学院 **工程0704

一、程序功能概述 本程序使用C++程序语言编写,实现已知准对称DMC 信道的转移矩阵求信道容量。 已知:? ?? ?? ?? ?? ???=)|()|() |()|()|()|()|()|()|(][21222211121121|2 1 n m n n m m n X Y m a b p a b p a b p a b p a b p a b p a b p a b p a b p a a a P b b b 求: 准对称DMC 的信道容量 ?? ? ????--=∑=p p p s H r M r M k k k k ' s ' 2'1n 1 )log()(C ,,, bit/符号 二、程序结构概述 本程序共分三部分:主函数、类外函数、类。 各部分功能: 主函数:负责程序的启动,接收用户数据,创建对象,函数调用。 类外函数:负责程序的初始化,接收用户输入的数据。 类:完成数据计算,输出计算结果。 三、程序功能分析 1.主函数 创建一个二维数组y[][],用来存放转移矩阵。 采用数组的传址方式调用函数:input (),以实现对数组的初始化。

创建dmc类对象,并以转移矩阵的元素个数和数组地址作为实参。 依次调用dmc类的各成员函数,完成数值计算。均不返回计算结果,由成员函数直接输出到屏幕。 2.类外函数 用于接收用户输入的input函数:用for循环完成对主函数y[][]数组的赋值,因为采用传址方式,可以直接完成对主函数数组的修改,无须返回值。 用于初始化屏幕的Start函数。 3.类: dmc类内的成员函数有:构造函数dmc(),析构函数~dmc(),对矩阵进行列排序的函数paixu();条件熵计算函数H();子阵列计算分块、计算函数HDMC()。 (1)dmc():用主函数传递的参数对类的数据成员进行初始化,用数组atob[ ][ ]代表集合P(Y|X)。提取矩阵的第一行用Y[]存放。 for (int r1 = 0; r1 < r; r1++) { for (int n1 = 0; n1 < n; n1++) atob[r1][n1] = y[r1][n1]; } for (int n11 = 0; n11 < n; n11++) { Y[n11] = atob[0][n11]; } (2)paixu():对二维矩阵进行列降序排序。排序后的矩阵存放在新的

基于matlab的通信系统仿真要点

创新实践报告 报告题目:基于matlab的通信系统仿真学院名称:信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。在这种迫切的需求之下,MATLAB应运而生。它使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示:

二、仿真分析与测试 (1)随机信号的生成 利用Matlab 中自带的函数randsrc 来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p p=0.5; source=randsrc(1,N,[1,0;p,1-p]); (2)信道编译码 1、卷积码的原理 卷积码(convolutional code)是由伊利亚斯(p.Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。 卷积码在编码时将k 比特的信息段编成n 个比特的码组,监督码元不仅和当前的k 比特信息段有关,而且还同前面m=(N-1)个信息段有关。 通常将N 称为编码约束长度,将nN 称为编码约束长度。一般来说,卷积码中k 和n 的值是比较小的整数。将卷积码记作(n,k,N)。卷积码的编码流程如下所示。 可以看出:输出的数据位V1,V2和寄存器D0,D1,D2,D3之间的关系。根据模2 D0D2D1D3 + + M V1 V2 OUT 02 1V D D =⊕0123 2V D D D D =⊕⊕⊕

瑞利信道Matlab仿真程序

%%File_C7: %本程序将一随机信号通过瑞利信道产生输出 %% clear; clc; Ts=; fmax=2;%最大多普勒频移 Nt=400;%采样序列的长度 ( sig=j*ones(1,Nt);%信号 t=[0:Nt]; %设定信道仿真参数 N0=25; D=1; [u]=jakes_single_rayleigh(N0,D,fmax,Nt,Ts);%生成瑞利信道RecSignal=u.*sig; ? plot(20*log10(RecSignal)); % %本函数用Jakes方法产生单径的符合瑞利分布的复随机过程%%%%%%%%%%%%%%%%%%%%%%%%%%% function [u]=jakes_single_rayleigh(N0,D,fmax,M,Ts,Tc) % 输入参数: % N0 频率不重叠的正弦波个数 { % D 方差,可由输入功率得到 % fmax 最大多普勒频移 % M 码片数 %输出参数 %u 输出复信号 %u1 输出信号的实部 %u2 输出信号的虚部 %% 、 %%%%%%%%%%%%%%%%%%%%%%%%%%% N=4*N0+2;%Jakes仿真叠加正弦波的总个数 %计算Jakes仿真中的离散多普勒频率fi,n f=zeros(1,N0+1); for n=1:N0 f(n)=fmax*cos(2*pi*n/N);

~ f(N0+1)=fmax; %计算多普勒增益ci,n %同向分量增益c1,n c1=zeros(1,N0+1); for n=1:N0 c1(n)=D*(2/sqrt(N))*2*cos(pi*n/N0); end c1(N0+1)=D*(2/sqrt(N))*sqrt(2)*cos(pi/4); 《 %正交分量增益c2,n c2=zeros(1,N0+1); for n=1:N0 c2(n)=D*(2/sqrt(N))*2*sin(pi*n/N0); end c2(N0+1)=D*(2/sqrt(N))*sqrt(2)*sin(pi/4); %插入随机相移ph_i,解决Jakes方法的广义平稳问题n=(1:N0+1); \ U=rand(size(n)); [x,k]=sort(U); ph_i=2*pi*n(k)/(N0+1); %计算复包络 u1=zeros(1,M);%Rc(t) u2=zeros(1,M);%Rs(t) u=zeros(1,M);%R(t) k=0; & %计算Rc(t) k=0; for t=0:Ts:(M-1)*Ts; w2=cos(2*pi*f*t+ph_i); ut2=c2*w2.'; k=k+1; u2(k)=ut2; end %计算u(t) k=0; for t=0:Ts:(M-1)*Ts k=k+1; u(k)=u1(k)-j*u2(k); end %程序结束

相关文档
最新文档