74分组码MATLAB仿真程序代码

74分组码MATLAB仿真程序代码
74分组码MATLAB仿真程序代码

%(7,4)分组码

clear all; close all;

H = [1 1 1 0 1 0 0;...

0 1 1 1 0 1 0;...

1 1 0 1 0 0 1];

G = gen2par(H); %调用Matlab函数求H的生成矩阵

Msg = [0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1; ...

1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1];

C = rem(Msg*G,2);

E = dec2bin([0:2^7-1],7)-48; %调用Matlab函数将整数转换成比特表示S = rem(H*E',2); %不同的E对应的校验子S

%对校验子归类,每个S对应不同的16个E

s = S(1,:)*4+S(2,:)*2+S(3,:);

for k=1:8

e(k,:)=find(s==k-1);

end

e0 = dec2bin( e(1,:)-1,7 )-48; %对应S=000的E,编码码字

e1 = dec2bin( e(2,:)-1,7 )-48; %对应S=001的E

e2 = dec2bin( e(3,:)-1,7 )-48; %对应S=010的E

e3 = dec2bin( e(4,:)-1,7 )-48; %对应S=011的E

e4 = dec2bin( e(5,:)-1,7 )-48; %对应S=100的E

e5 = dec2bin( e(6,:)-1,7 )-48; %对应S=101的E

e6 = dec2bin( e(7,:)-1,7 )-48; %对应S=110的E

e7 = dec2bin( e(8,:)-1,7 )-48; %对应S=111的E

线性分组码的信道编码和译码

clear; clc; %编码 G=input('请输入生成矩阵G,例如:G=[1 0 1 1 1;0 1 1 0 1]\n G='); [k,n]=size(G); r=n-k; m=input('请输入需传送信息m,如m=[0 0 0 1 1 0 1 1]\n m='); l=length(m); if(mod(l,k)) disp('输入的信息有误'); else ge=l/k; %将输入序列转化成矩阵m temp1=[]; for i=1:ge temp1(i,:)=m(k*(i-1)+1:i*k); end m=temp1; %求校验矩阵H c=mod(m*G,2); A=G(:,k+1:n); H=[A',eye(r)]; disp('校验矩阵');H disp('译码矩阵');c end disp('敲回车键继续'); pause %解码 y=input('输入接收序列y,如:y=[0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0]\n y='); temp2=[]; for i=1:ge temp2(i,:)=y(1,n*(i-1)+1:i*n); end y=temp2 s=mod(y*H',2); e=s*pinv(H'); for i=1:ge for j=1:n if(e(i,j)>0.5-eps) e(i,j)=1; else e(i,j)=0; end end end cc=mod(y+e,2); %cc=xor(y,e) sc=cc(:,1:2); disp('差错图样'); e disp('估计值'); cc disp('译码序列'); sc

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除存中的变量与函数 pack 整理工作空间存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述 + 加 ... 续行标志 - 减 , 分行符(该行结果不显示) * 矩阵乘 ; 分行符(该行结果显示) .* 向量乘 % 注释标志 ^ 矩阵乘方 ! 操作系统命令提示符 .^ 向量乘方矩阵转置 kron 矩阵kron积 . 向量转置 \ 矩阵左除 = 赋值运算 / 矩阵右除 == 关系运算之相等 .\ 向量左除 ~= 关系运算之不等 ./ 向量右除 < 关系运算之小于

眼图

眼图 一、实验目的 1、了解码间串扰对误码率的影响 2、掌握眼图在衡量基带传输系统性能方面的应用 二、实验内容 用SystemView 模拟示波器观察眼图分析码间串扰和噪声对系统性能的影响 三、实验原理 在实际系统中完全消除码间串扰是十分困难的,而码间串扰对误码率的影响目前尚无法找到数学上便于处理的统计规律还不能进行准确计算,为了衡量基带传输系统的性能优劣,在实验室中通常用示波器观察接收信号波形的方法来分析码间串扰和噪声对系统性能的影响这就是眼图分析法。 如果将输入波形输入示波器的Y 轴,并且当示波器的水平扫描周期和码元定时同步时,在示波器上显示的图形很象人的眼睛因此被称为眼图。 眼图是由各段码元波形叠加而成的,眼图中央的垂直线表示最佳抽样时刻位于两峰值,中间的水平线是判决门限电平。在无码间串扰和噪声的理想情况下,波形无失真,“眼”开启得最大。当有码间串扰时,波形失真,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了。因此“眼”张开的大小表示了失真的程度。 眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外,也可以用此图形对接收滤波器的特性加以调整以减小码间串扰和改善系统的传输性能。 通常眼图可以用如图3 2 所示的图形来描述:

由此图可以看出 (1) 最佳抽样时刻应选在眼睛张开最大的时刻 (2) 眼图斜边的斜率表示系统对定时抖动或误差的灵敏度,斜边越陡系统对定时抖动越敏感 (3)眼图左右角阴影部分的水平宽度表示信号零点的变化范围称为零点失真量,许多接收设备中定时信息是由信号零点位置来提取的,对于这种设备零点失真量很重要 (4) 在抽样时刻阴影区的垂直宽度表示最大信号失真量 (5) 在抽样时刻,上下两阴影区间隔的一半是最小噪声容限,噪声瞬时值超过它就有可能发生错误判决 (6) 横轴对应判决门限电平 四、SystemView 仿真框图 仿真图如下图所示: 参数设置 系统时钟No. of Sample: 501; Sample Rate: 1000Hz; No.of System Loop: 1 器件参数 矩形脉冲0 1V; 100Hz; Offset 0; 0deg

matlab相关图形实现代码

根据数据点绘制饼图和针状图: x=[1 2 3 4 5 6]; >> subplot(2,2,1);pie(x); >> subplot(2,2,2);pie3(x); >> subplot(2,2,3);stem(x); >>subplot(2,2,4);stem3(x); 5% 10% 14% 19% 24% 29% 24% 29% 19% 5%14% 10%0 2 4 6 2 4 6 5 10 01 2 05 10

根据数据点绘制向量场图、羽状图和罗盘图: x=[1 2 3 4 5 6];y=[1 2 3 4 5 6]; u=[1 2 3 4 5 6];v=[1 2 3 4 5 6]; subplot(2,2,1);quiver(x,y,u,v); subplot(2,2,2);quiver(x,y,u,v,'r'); subplot(2,2,3);feather(u,v); subplot(2,2,4);compass(u,v); 024680 246 802468 246 80 5 10 15 2 4 6 5 10 30 210 60240 90270 120 300 150330 180

rand(m,n)产生m ×n 均匀分布的随机矩阵,元素取值在0.0~1.0。 randn 函数:产生标准正态分布的随机数或矩阵的函数。 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n 的随机项矩阵。 > theta=10*rand(1,50); %确定50个随机数theta >> Z=peaks; %确定Z 为峰值函数peaks >> x=0:0.01:2*pi;y=sin(x); %确定正弦函数数据点x.y >> t=randn(1000,1); %确定1000个随机数t >> subplot(2,2,1);rose(theta); %关于(theta )的玫瑰花图 >> subplot(2,2,2);area(x,y); %关于(x,y)的面积图 >> subplot(2,2,3);contour(Z); %关于Z 的等值线图(未填充) >> subplot(2,2,4);hist(t); %关于t 的柱状图 5 10 30 210 60 240 90270 120300150330 18000246 -1 -0.500.5 110 20 30 40 10 2030 40-4 -2 2 4 100 200 300

眼图形成理论研究

1眼图概述 1.1 串行数据的传输 由于通讯技术发展的需要,特别是以太网技术的爆炸式应用和发展,使得电子系统从传统的并行总线转为串行总线。串行信号种类繁多,如PCI Express、SPI、USB等,其传输信号类型时刻在增加。为何串行总线目前应用越来越广泛呢?相比并行数据传输,串行数据传输的整体特点如下: 1 信号线的数量减少,成本降低 2 消除了并行数据之间传输的延迟问题 3 时钟是嵌入到数据中的,数据和时钟之间的传输延迟也同样消除了 4 传输线的PCB设计也更容易些 5 信号完整性测试也更容易 实际中,描述串行数据的常用单位是波特率和UI,串行数据传输示例如下: 图串行数据传输示例 例如,比特率为3.125Gb/s的信号表示为每秒传送的数据比特位是3.125G比特,对应的一个单位间隔即为1UI。1UI表示一个比特位的宽度,它是波特率的倒数,即1UI=1/(3.125Gb/s)=320ps。现在比较常见的串行信号码形是NRZ码,因此在一般的情况下对于串行数据信号,我们的工作均是针对NRZ码进行的。 1.2 眼图的形成原理 眼图,是由于示波器的余辉作用,将扫描所得的每一个码元波形重叠在一起,从而形成眼图。眼图中包含了丰富的信息,从眼图上可以观察出码间串扰和噪声的影响,体现了数字信号整体的特征,从而可以估计系统优劣程度,因而眼图分析是高速互连系统信号完整性分析的核心。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰,

改善系统的传输性能。 目前,一般均可以用示波器观测到信号的眼图,其具体的操作方法为:将示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形就称为眼图。示波器一般测量的信号是一些位或某一段时间的波形,更多的反映的是细节信息,而眼图则反映的是链路上传输的所有数字信号的整体特征,两者对比如下图所示: 图示波器中的信号与眼图 如果示波器的整个显示屏幕宽度为100ns,则表示在示波器的有效频宽、取样率及记忆体配合下,得到了100ns下的波形资料。但是,对于一个系统而言,分析这么短的时间内的信号并不具有代表性,例如信号在每一百万位元会出现一次突波(Spike),但在这100ns 时间内,突波出现的机率很小,因此会错过某些重要的信息。如果要衡量整个系统的性能,这么短的时间内测量得到的数据显然是不够的。设想,如果可以以重复叠加的方式,将新的信号不断的加入显示屏幕中,但却仍然记录着前次的波形,只要累积时间够久,就可以形成眼图,从而可以了解到整个系统的性能,如串扰、噪声以及其他的一些参数,为整个系统性能的改善提供依据。 分析实际眼图,再结合理论,一个完整的眼图应该包含从“000”到“111”的所有状态组,且每一个状态组发生的次数要尽量一致,否则有些信息将无法呈现在屏幕上,八种状态形成的眼图如下所示:

matlab代码大全教学文案

m a t l a b代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录

实训单用SIMULINK观察眼图

用SIMULINK观察眼图项目单 班级:组员: 相关知识: 眼图是指利用实验的方法估计和改善(通过调整)传输系统性能时在示波器上观察到的一种图形。观察眼图的方法是:用一个示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形像人的眼睛,故称为“眼图”。眼图如下所示: 眼图的“眼睛” 张开的大小反映着码间串扰的强弱。“眼睛”张的越大,且眼图越端正,表示码间串扰越小;反之表示码间串扰越大。 当存在噪声时,噪声将叠加在信号上,观察到的眼图的线迹会变得模糊不清。若同时存在码间串扰,“眼睛”将张开得更小。与无码间串扰时的眼图相比,原来清晰端正的细线迹,变成了比较模糊的带状线,而且不很端正。噪声越大,线迹越宽,越模糊;码间串扰越大,眼图越不端正。 眼图对于展示数字信号传输系统的性能提供了很多有用的信息:可以从中看出码间串扰的大小和噪声的强弱,有助于直观地了解码间串扰和噪声的影响,评价一个基带系统的性能优劣;可以指示接收滤波器的调整,以减小码间串扰。 ( 1 )最佳抽样时刻应在“眼睛” 张开最大的时刻。 ( 2 )对定时误差的灵敏度可由眼图斜边的斜率决定。斜率越大,对定时误差就越灵敏。 ( 3 )在抽样时刻上,眼图上下两分支阴影区的垂直高度,表示最大信号畸变。 ( 4 )眼图中央的横轴位置应对应判决门限电平。 ( 5 )在抽样时刻上,上下两分支离门限最近的一根线迹至门限的距离表示各相应电平的噪声容限,噪声瞬时值超过它就可能发生错误判决。 ( 6 )对于利用信号过零点取平均来得到定时信息的接收系统,眼图倾斜分支与横轴相交的区域的大小,表示零点位置的变动范围,这个变动范围的大小对提取定时信息有重要的影响。 任务三:搭建下面的模型:

遗传算法经典MATLAB代码

遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程

%----------------------------------------------- % 初始化(编码) % 函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength 表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 计算目标函数值 % 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制

线性分组码编码的分析与实现

课程设计任务书 2011—2012学年第一学期 专业:通信工程学号:080110501 姓名:李琼 课程设计名称:信息论与编码课程设计 设计题目:线性分组码编码的分析与实现 完成期限:自2011 年12 月19 日至2011 年12 月25 日共 1 周一.设计目的 1、深刻理解信道编码的基本思想与目的; 2、理解线性分组码的基本原理与编码过程; 3、提高综合运用所学理论知识独立分析和解决问题的能力; 4、使用MATLAB或其他语言进行编程。 二.设计内容 给定消息组M及生成矩阵G,编程求解其线性分组码码字。 三.设计要求 编写的函数要有通用性。 四.设计条件 计算机、MATLAB或其他语言环境 五.参考资料 [1]曹雪虹,张宗橙.信息论与编码.北京:清华大学出版社,2007. [2]王慧琴.数字图像处理.北京:北京邮电大学出版社,2007. 指导教师(签字):教研室主任(签字): 批准日期:年月日

该系统是(6,3)线性分组码的编码的实现,它可以对输入的三位的信息码进行线性分组码编码。 当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码;MA TLAB;纠错

1课程描述 0 2 设计原理 (1) 2.1 线性分组码的编码 (1) 2.1.1 生成矩阵 (1) 2.1.2 校验矩阵 (3) 2.2 伴随式与译码 (4) 2.2.1 码的距离及纠检错能力 (4) 2.2.2 伴随式与译码 (4) 3 设计过程 (5) 3.1 编码过程 (5) 3.2 仿真程序 (7) 3.4 结果分析 (11) 总结 (13) 致谢 (14) 参考文献 (15)

matlab的编码大全

附录Matlab源程序 附录A 信息熵 % 函数说明:% % H=entropy(P,r) 为信息熵函数% % P为信源的概率矢量, r为进制数% % H为信息熵% %****************************** % function H=entropy(P,r) if (length(find(P<=0))~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end if (abs(sum(P)-1)>10e-10) error('Not a prob.vector,component do not add up to 1'); end H=(sum(-P.*log2(P)))/(log2(r)+eps); 附录B 离散无记忆信道容量的迭代计算 % 信道容量C的迭代算法% % 函数说明:% % [CC,Paa]=ChannelCap(P,k) 为信道容量函数% % 变量说明:% % P:输入的正向转移概率矩阵,k:迭代计算精度% % CC:最佳信道容量,Paa:最佳输入概率矩阵% % Pa:初始输入概率矩阵,Pba:正向转移概率矩阵% % Pb:输出概率矩阵,Pab:反向转移概率矩阵% % C:初始信道容量,r:输入符号数,s:输出符号数% %************************************************** % function [CC,Paa]=ChannelCap(P,k) % 提示错误信息 if (length(find(P<0)) ~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end

眼图分析

清风醉明月 slp_art 随笔- 42 文章- 1 评论- 20 博客园首页新随笔联系管理订阅 眼图——概念与测量(摘记) 中文名称: 眼图 英文名称: eye diagram;eye pattern 定义: 示波器屏幕上所显示的数字通信符号,由许多波形部分重叠形成,其形状类似“眼”的图形。“眼”大表示系统传输特性好;“眼”小表示系统中存在符号间干扰。 一.概述 “在实际数字互连系统中,完全消除码间串扰是十分困难的,而码间串扰对误码率的影响目前尚无法找到数学上便于处理的统计规律,还不能进行准确计算。为了衡量基带传输系统的性能优劣,在实验室中,通常用示波器观察接收信号波形的方法来分析码间串扰和噪声对系统性能的影响,这就是眼图分析法。 在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。通常眼图可以用下图所示的图形来描述,由此图可以看出:

(1)眼图张开的宽度决定了接收波形可以不受串扰影响而抽样再生的时间间隔。显然,最佳抽样时刻应选在眼睛张开最大的时刻。 (2)眼图斜边的斜率,表示系统对定时抖动(或误差)的灵敏度,斜率越大,系统对定时抖动越敏感。 (3)眼图左(右)角阴影部分的水平宽度表示信号零点的变化范围,称为零点失真量,在许多接收设备中,定时信息是由信号零点位置来提取的,对于这种设备零点失真量很重要。 (4)在抽样时刻,阴影区的垂直宽度表示最大信号失真量。 (5)在抽样时刻上、下两阴影区间隔的一半是最小噪声容限,噪声瞬时值超过它就有可能发生错误判决。 (6)横轴对应判决门限电平。” 二、眼图的一些基本概念 —“什么是眼图?” “眼图就是象眼睛一样形状的图形。 图五眼图定义” 眼图是用余辉方式累积叠加显示采集到的串行信号的比特位的结果,叠加后的图形形状看起来和眼睛很像,故名眼图。眼图上通常显示的是1.25UI的时间窗口。眼睛的形状各种各样,眼图的形状也各种各样。通过眼图的形状特点可以快速地判断信号的质量。 图六的眼图有“双眼皮”,可判断出信号可能有串扰或预(去)加重。 图六“双眼皮”眼图

遗传算法经典MATLAB代码资料讲解

遗传算法经典学习Matlab代码 遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈0.01。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程 %----------------------------------------------- % 2.1初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),

% 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 2.2 计算目标函数值 % 2.2.1 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和列数 for i=1:py pop1(:,i)=2.^(py-i).*pop(:,i); end pop2=sum(pop1,2); %求pop1的每行之和 % 2.2.2 将二进制编码转化为十进制数(2) % decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置

线性分组码编码的分析与实现

吉林建筑大学 电气与计算机学院 信息理论与编码课程设计报告 设计题目:线性分组码编码的分析与实现专业班级:电子信息工程121 学生姓名: 学号: 指导教师: 设计时间:2016.1.11-2016.1.22

第1章概述 1.1设计的作用、目的 《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性教学环节之一,同时也是对课堂所学理论知识的巩固和补充。其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。 通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法。 1.2设计任务及要求 线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。 通过设计一组(7,3)线性分组码,来完成对任意序列的编码,根据生成矩阵形成监督矩阵,得到伴随式下,并根据其进行译码,同时验证工作的正确性,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力。 1. 理解无失真信源编码的理论基础,掌握无失真信源编码的基本方法; 2. 掌握哈夫曼编码/费诺编码方法的基本步骤及优缺点; 3. 深刻理解信道编码思想与目的,理解线性分组码的基本原理与编码过程。 4. 能够使用MATLAB或其他语言进行编程,编写的函数要有通用性。1.3设计内容 已知一个(7,3)线性分组码的校验元与信息元有如下限定关系。设码字为 (c6 ,c5 , c4 , c3 , c2 , c1 , c0)。 ? ? ? ? ? ? ? ⊕ = ⊕ = ⊕ ⊕ = ⊕ = 2 1 6 1 5 2 1 4 2 3 c c c c c c c c c c c c c 求出标准校验矩阵、Q矩阵、标准生成矩阵,完成对任意信息序列(23个 许用码字)的编码。 当接收码字分别为(0000000),(0000001),(0000010),(0000100),(0001000), (0010000),(0100000),(1000000),(0100100)时,写出其伴随式S,以表格形式写出伴随式与错误图样E的对应关系,纠错并正确译码,当有两位错码时,假定为c5位和c2位发生错误。

matlab 指令大全

分享 我的分享 当前分享 返回分享首页? 分享 matlab命令,应该很全了!来源:李家叶的日志 matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键Ctrl+R 光标向右移一个字符 Ctrl+方向左键Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数)

眼图测量

眼图——概念与测量(摘记) 中文名称: 眼图 英文名称: eyediagram;eye pattern 定义: 示波器屏幕上所显示的数字通信符号,由许多波形部分重叠形成,其形状类似“眼”的图形。“眼”大表示系统传输特性好;“眼”小表示系统中存在符号间干扰。 一.概述 “在实际数字互连系统中,完全消除码间串扰是十分困难的,而码间串扰对误码率的影响目前尚无法找到数学上便于处理的统计规律,还不能进行准确计算。为了衡量基带传输系统的性能优劣,在实验室中,通常用示波器观察接收信号波形的方法来分析码间串扰和噪声对系统性能的影响,这就是眼图分析法。 在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。通常眼图可以用下图所示的图形来描述,由此图可以看出: (1)眼图张开的宽度决定了接收波形可以不受串扰影响而抽样再生的时间间隔。显然,最佳抽样时刻应选在眼睛张开最大的时刻。 (2)眼图斜边的斜率,表示系统对定时抖动(或误差)的灵敏度,斜率越大,系统对定时抖动越敏感。

(3)眼图左(右)角阴影部分的水平宽度表示信号零点的变化范围,称为零点失真量,在许多接收设备中,定时信息是由信号零点位置来提取的,对于这种设备零点失真量很重要。 (4)在抽样时刻,阴影区的垂直宽度表示最大信号失真量。 (5)在抽样时刻上、下两阴影区间隔的一半是最小噪声容限,噪声瞬时值超过它就有可能发生错误判决。 (6)横轴对应判决门限电平。” 二、眼图的一些基本概念 —“什么是眼图?” “眼图就是象眼睛一样形状的图形。 图五眼图定义” 眼图是用余辉方式累积叠加显示采集到的串行信号的比特位的结果,叠加后的图形形状看起来和眼睛很像,故名眼图。眼图上通常显示的是1.25UI的时间窗口。眼睛的形状各种各样,眼图的形状也各种各样。通过眼图的形状特点可以快速地判断信号的质量。 图六的眼图有“双眼皮”,可判断出信号可能有串扰或预(去)加重。 图六“双眼皮”眼图 图七的眼图“眼睛里布满血丝”,这表明信号质量太差,可能是测试方法有错误,也可能是PCB布线有明显错误。

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/7c14308942.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 %

基于matlab线性分组码实验设计

一、 设计题目 线性分组码编译码实验 二、 实验目的: 1. 掌握线性分组码的编码原理、编码步骤和译码方法 2. 熟悉matlab 软件的基本操作,学会用matlab 软件进行线性分组码的编 码和译码 三、 实验主要内容及要求: 设计(15,11)或(255,247)线性分组码,利用随机生成的二进制序 列及BPSK 调制方式,比较使用信道编码与未使用信道编码的误比特率曲线 四、 实验设备及软件: PC 机一台、Matlab 软件 五、 设计方案 ① (15,11)线性分 ② ① ② 该实验系统框图如上图所示,其中信源编码在本实验不做讨论,编号①采用线性分组码编码和译码,编号②为不采用信道编译码,通过这两种方法的对比,得出误码率曲线。 1. 线性分组码编码 本实验采用的是(15,11)的线性分组码,线性分组码的编码由监督矩阵 信源编码 信道编码 BPSK 调制 信道传输 噪声 解调 信道译码 信源译码 统计误码率

和生成矩阵实现,监督矩阵H为(4×11)的矩阵,由监督方程和(4×4)的单位矩阵构成,生成矩阵G为(11×15)的矩阵,由(11×11)的单位矩阵和监督矩阵的转置矩阵构成。具体实现方法如下: ①将要编码的序列先整形,整为11列 ②如果序列不能被11整除在后边补0使其能被11整除 ③将整形后的序列与生成矩阵G相乘即得到编码后的码字 其实现代码如下: function [n,C]=xxbm(n) a=randint(1,n); %生成01随机序列 disp('编码序列:'); disp(a); subplot(3,2,1); stairs(a); axis([1 length(a) -0.5 1.5]) title('编码序列'); %判断生成的随机序列个数是否是11的整数倍 if length(a)/11==fix(length(a)/11) %随机序列个数是11的整数倍,直接编码 b=reshape(a,11,(length(a)/11)); M=b'; F=eye(11); S=[0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1]; K=eye(4); G=[F,S]; H=[S',K]; C=rem(M*G,2); disp('生成矩阵G:');

实验一 典型环节的MATLAB仿真汇总

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK 的使用 MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真 环境下。 2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。 3.在simulink 仿真环境下,创建所需要的系统 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型

波形图为: 实验处理:2)(1=s G SIMULINK 仿真模型 波形图为: 实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大. ② 惯性环节11)(1+= s s G 和15.01)(2+=s s G 实验处理:1 1 )(1+=s s G SIMULINK 仿真模型

波形图为: 实验处理:1 5.01 )(2+= s s G SIMULINK 仿真模型 波形图为: 实验结果分析:当1 1 )(1+= s s G 时,系统达到稳定需要时间接近5s,当

眼图

眼图 科技名词定义 中文名称:眼图 英文名称:eye diagram;eye pattern 定义:示波器屏幕上所显示的数字通信符号,由许多波形部分重叠形成,其形状类似“眼”的图形。“眼”大表示系统传输特性好;“眼”小表示系统中存在符号间干扰。 应用学科:通信科技(一级学科);通信原理与基本技术(二级学科) 以上内容由全国科学技术名词审定委员会审定公布 目录 概念 成因 码间串扰 概念 眼图是指利用实验的方法估计和改善(通过调整)传输系统性能时在示波器上观察到的一种图形。观察眼图的方法是:用一个示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形像人的眼睛,故称为“眼图”。从“眼图”上可以观察出码间串扰和噪声的影响,从而估计系统优劣程度。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。 成因 眼图的成因:由于示波器的余辉作用,扫描所得的每一个码元波形将重叠在一起,从而形成眼图。 码间串扰

眼图的“眼睛”张开的大小反映着码间串扰的强弱。“眼睛”张的越大,且眼图越端正,表示码间串扰越小;反之表示码间串扰越大。当存在噪声时,噪声将叠加在信号上,观察到的眼图的线迹会变得模糊不清。若同时存在码间串扰,“眼睛”将张开得更小。与无码间串扰时的眼图相比,原来清晰端正的细线迹,变成了比较模糊的带状线,而且不很端正。噪声越大,线迹越宽,越模糊;码间串扰越大,眼图越不端正。眼图对于展示数字信号传输系统的性能提供了很多有用的信息:可以从中看出码间串扰的大小和噪声的强弱,有助于直观地了解码间串扰和噪声的影响,评价一个基带系统的性能优劣;可以指示接收滤波器的调整,以减小码间串扰。( 1 )最佳抽样时刻应在“眼睛”张开最大的时刻。( 2 )对定时误差的灵敏度可由眼图斜边的斜率决定。斜率越大,对定时误差就越灵敏。( 3 )在抽样时刻上,眼图上下两分支阴影区的垂直高度,表示最大信号畸变。( 4 )眼图中央的横轴位置应对应判决门限电平。( 5 )在抽样时刻上,上下两分支离门限最近的一根线迹至门限的距离表示各相应电平的噪声容限,噪声瞬时值超过它就可能发生错误判决。( 6 )对于利用信号过零点取平均来得到定时信息的接收系统,眼图倾斜分支与横轴相交的区域的大小,表示零点位置的变动范围,这个变动范围的大小对提取定时信息有重要的影响。

相关文档
最新文档