通信原理II报告

合集下载

通信原理实验报告2

通信原理实验报告2

通信原理实验报告课程名称:通信原理实验三:二进制数字信号调制仿真实验实验四:模拟信号数字传输仿真实验姓名:学号:班级:2012年12 月实验三二进制数字信号调制仿真实验一、实验目的1.加深对数字调制的原理与实现方法;2.掌握OOK、2FSK、2PSK功率谱密度函数的求法;3.掌握OOK、2FSK、2PSK功率谱密度函数的特点及其比较;4.进一步掌握MATLAB中M文件的调试、子函数的定义和调用方法。

二、实验内容1. 复习二进制数字信号幅度调制的原理2. 编写MATLAB程序实现OOK调制;3. 编写MATLAB程序实现2FSK调制;4. 编写MATLAB程序实现2PSK调制;5. 编写MATLAB程序实现数字调制信号功率谱函数的求解。

三、实验原理在数字通信系统中,需要将输入的数字序列映射为信号波形在信道中传输,此时信源输出数字序列,经过信号映射后成为适于信道传输的数字调制信号。

数字序列中每个数字产生的时间间隔称为码元间隔,单位时间内产生的符号数称为符号速率,它反映了数字符号产生的快慢程度。

由于数字符号是按码元间隔不断产生的,经过将数字符号一一映射为响应的信号波形后,就形成了数字调制信号。

根据映射后信号的频谱特性,可以分为基带信号和频带信号。

通常基带信号指信号的频谱为低通型,而频带信号的频谱为带通型。

调制信号为二进制数字基带信号时,对应的调制称为二进制调制。

在二进制数字调制中,载波的幅度、频率和相位只有两种变化状态。

相应的调制方式有二进制振幅键控(OOK/2ASK)、二进制频移键控(2FSK)和二进制相移键控(2PSK)。

下面分别介绍以上三种调制方法的原理,及其MATLAB实现:本实验研究的基带信号是二进制数字信号,所以应该首先设计MATLAB程序生成二进制数字序列。

根据实验一的实践和第一部分的介绍,可以很容易的得到二进制数字序列生成的MATLAB程序。

假定要设计程序产生一组长度为500的二进制单极性不归零信号,以之作为后续调制的信源,并求出它的功率谱密度,以方便后面对已调信号频域特性和基带信号频域特性的比较。

通信原理二--循环码

通信原理二--循环码

实验报告学科:通信原理(二)题目:数字信号基带传输系统仿真实验设备:安有matlab仿真软件的计算机学院:光电信息与通信工程学院系别:通信工程学号:姓名:指导教师:一、实验目的与要求1. 学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;2. 掌握循环码、miller码的物理涵义、数学基础及检纠错原理;3. 掌握循环码、miller码的码型特点、检纠错能力、编译码方法及基本技术;4. 学会使用MATLAB 实现循环码及miller码的编译码及检纠错模拟与分析。

二、实验仪器与设备1. 安装了matlab程序的计算机 1 台三、实验原理(一)循环码循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码,它有许多特殊的代数性质,例如,循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码。

循环码A= a n−1+a n−2+…+a 1+a 0可以表示为如下的码多项式:1.生成多项式g (x)定义:若一个循环码的所有码字多项式都是一个次数最低的、非零的、首一多项式g (x)的倍式,则称g (x)为生成该码,并称g (x) 为该码的生成元或生成多项式。

可以证明生成多项式g (x)具有以下特性:(1)g (x) 是一个常数项为1 的r=n −k 次多项式;(2)g (x) 是x n+1 的一个因式;(3)该循环码中其它码多项式都是g (x)的倍式。

为了保证构成的生成矩阵G的各行线性不相关,通常用g (x) 来构造生成矩阵。

因此,一旦生成多项式g (x) 确定以后,该循环码的生成矩阵就可以确定。

设则有:2.监督多项式h(x)定义:若g (x) 是(n,k) 循环码的生成多项式,则有x n+1= g (x )h (x) 。

其中,h(x) 是k 次多项式,称为监督多项式。

也称校验多项式。

监督矩阵可表示为:其中:3.伴随式发送码C(x) 通过含噪信道时,会因各种扰而产生误码。

例如发送码为:00000000001111111111接收码为:01101001001111001001产生错误序列:01101001000000110110可见,发生了两个长度分别为7和5的突发差错,其错误图样分别为1101001 和11011。

2024年通信原理学习总结范本(三篇)

2024年通信原理学习总结范本(三篇)

2024年通信原理学习总结范本一、引言通信原理作为一门重要的学科,对现代信息传输和通信技术的发展起到了至关重要的作用。

在2024年的学习中,我通过系统学习和深入研究,掌握了通信原理的基本原理和关键技术,对未来通信领域的发展趋势也有了更清晰的认识。

本篇总结将从课程的学习内容、学习方法和收获三个方面进行总结,以期对今后的学习和研究工作有所启发和帮助。

二、学习内容在2024年的学习中,我们主要学习了以下几个方面的内容:1. 信号与系统:学习了信号的分类、采样定理、频谱分析等知识。

了解了系统的基本概念和系统的性质,学习了时域和频域的分析方法。

2. 基带传输:学习了调制和解调技术,了解了调制技术在信号传输中的重要性。

主要学习了脉冲调幅、脉冲位置调制、脉冲编码调制等技术。

3. 传输媒介:学习了光纤传输、导波传输等传输媒介的原理和特性。

了解了不同传输媒介的优缺点及其在通信中的应用。

4. 多路复用技术:学习了时分复用、频分复用、码分复用等多路复用技术。

了解了多路复用技术在通信领域中的重要作用。

5. 信道编码与纠错:学习了信道编码和纠错码的基本原理和应用。

了解了常见的编码和纠错码技术,如卷积码、RS码等。

三、学习方法在学习通信原理的过程中,我采取了以下几种学习方法,对学习取得了良好的效果。

1. 注重理论学习:通信原理是一门涉及许多理论和公式的学科,理论学习是学好这门课程的基础。

我通过阅读教材和相关文献,结合课堂讲解,深入理解了通信原理的基本原理和关键概念。

我还积极参加学术讲座和研讨会,拓宽了对通信领域最新研究进展的了解。

2. 实践与实验:在学习中,我注重将理论知识与实际应用相结合。

通过参与实践和实验环节,我深入了解了通信系统的搭建和调试过程,培养了解决问题和动手能力。

同时,我也积极参加一些通信实验竞赛和项目,提高了自己的实践能力和团队协作意识。

3. 多媒体辅助学习:在学习过程中,我利用多媒体教学资源和互联网平台进行学习辅助。

通信原理2DPSK调制与解调实验报告

通信原理2DPSK调制与解调实验报告

通信原理课程设计报告一. 2DPSK基本原理1.2DPSK信号原理2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。

现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。

图1.1 2DPSK信号在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。

如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。

所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。

定义∆Φ为本码元初相与前一码元初相之差,假设:∆Φ=0→数字信息“0”;∆Φ=π→数字信息“1”。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:数字信息: 1 0 1 1 0 1 1 1 0 1DPSK信号相位:0 π π 0 π π 0 π 0 0 π或:π 0 0 π 0 0 π 0 π π 02. 2DPSK信号的调制原理一般来说,2DPSK信号有两种调试方法,即模拟调制法和键控法。

2DPSK 信号的的模拟调制法框图如下图 1.2.1,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。

图1.2.1 模拟调制法2DPSK信号的的键控调制法框图如下图1.2.2,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。

选相开关作用为当输入为数字信息“0”时接相位0,当输入数字信息为“1”时接pi。

图1.2.2 键控法调制原理图3. 2DPSK信号的解调原理2DPSK信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。

(1) 2DPSK信号解调的极性比较法它的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就得到了基带信号。

通信原理实验报告.

通信原理实验报告.

《通信原理》实验报告地点通信实验室学院信息工程学院专业班级通信082姓名同组成员学号指导教师2010年 12月实验2 模拟信号源实验一、实验目的1.了解本模块中函数信号产生芯片的技术参数;2.了解本模块在后续实验系统中的作用;3.熟悉本模块产生的几种模拟信号的波形和参数调节方法。

二、实验仪器1.时钟与基带数据发生模块,位号:G2.频率计1台3.20M双踪示波器1台4.小电话单机1部五、实验内容及步骤1.插入有关实验模块:在关闭系统电源的条件下,将“时钟与基带数据发生模块”,插到底板“G”号的位置插座上(具体位置可见底板右下角的“实验模块位置分布表”)。

注意模块插头与底板插座的防呆口一致,模块位号与底板位号的一致。

2.加电:打开系统电源开关,底板的电源指示灯正常显示。

若电源指示灯显示不正常,请立即关闭电源,查找异常原因。

3. 非同步函数信号源测试:频率计和示波器监测P03测试点,按上述设置测试非同步函数信号源输出信号波形,记录其波形参数。

4.同步正弦波信号源测试:频率计和示波器监测P04测试点,按上述设置测试同步正弦波信号源输出信号波形,记录其波形参数。

5.用户电话测试:1)电话模块接上电话单机,说话或按住某个数字键不放,用示波器测试其发端波形。

2)用信号连接线连接P03与P06/P08两铆孔,即将函数信号送入电话的接收端,调节信号的频率和幅度,听听筒中发出的声音。

6. 关机拆线:实验结束,关闭电源,拆除信号连线,并按要求放置好实验模块。

六、实验报告要求1.记录非同步、同步函数信号的幅度、频率、直流分量等参数,画出测试的波形图。

(1).非同步函数信号源测试:三角波: T=0.8s, Vp-p=1.3v 正弦波: T=0.52ms,Vp-p=1.2v方波:T=0.56ms,VP-P=2.2v同步正弦:T=0.5ms,Vp-p=0.52v2.记录电话数字键波形,了解电话拨号的双音多频的有关技术。

数字键波形记录:1: 2:3: 4:5: 6:7: 8:9: 0:实验2 集成乘法器幅度调制电路一、实验目的1.通过实验了解振幅调制的工作原理;2.掌握用MC1496来实现AM和DSB的方法,并研究已调波与调制信号,载波之间的关系;3.掌握用示波器测量调幅系数的方法。

通信原理实验报告答案(3篇)

通信原理实验报告答案(3篇)

第1篇一、实验目的1. 理解通信系统的基本原理和组成。

2. 掌握通信系统中的调制、解调、编码、解码等基本技术。

3. 熟悉实验仪器的使用方法,提高动手能力。

4. 通过实验,验证通信原理理论知识。

二、实验原理通信原理实验主要涉及以下内容:1. 调制与解调:调制是将信息信号转换为适合传输的信号,解调是将接收到的信号还原为原始信息信号。

2. 编码与解码:编码是将信息信号转换为数字信号,解码是将数字信号还原为原始信息信号。

3. 信号传输:信号在传输过程中可能受到噪声干扰,需要采取抗干扰措施。

三、实验仪器与设备1. 实验箱:包括信号发生器、调制解调器、编码解码器等。

2. 信号源:提供调制、解调所需的信号。

3. 传输线路:模拟信号传输过程中的衰减、反射、干扰等现象。

四、实验内容与步骤1. 调制实验(1)设置调制器参数,如调制方式、调制频率等。

(2)将信号源信号输入调制器,观察调制后的信号波形。

(3)调整解调器参数,如解调方式、解调频率等。

(4)将调制信号输入解调器,观察解调后的信号波形。

2. 解调实验(1)设置解调器参数,如解调方式、解调频率等。

(2)将调制信号输入解调器,观察解调后的信号波形。

(3)调整调制器参数,如调制方式、调制频率等。

(4)将解调信号输入调制器,观察调制后的信号波形。

3. 编码与解码实验(1)设置编码器参数,如编码方式、编码长度等。

(2)将信息信号输入编码器,观察编码后的数字信号。

(3)设置解码器参数,如解码方式、解码长度等。

(4)将编码信号输入解码器,观察解码后的信息信号。

4. 信号传输实验(1)设置传输线路参数,如衰减、反射等。

(2)将信号源信号输入传输线路,观察传输过程中的信号变化。

(3)调整传输线路参数,如衰减、反射等。

(4)观察传输线路参数调整对信号传输的影响。

五、实验结果与分析1. 调制实验:调制后的信号波形与原信号波形基本一致,说明调制和解调过程正常。

2. 解调实验:解调后的信号波形与原信号波形基本一致,说明解调过程正常。

通信原理实验报告(终)

通信原理实验报告(终)

通信原理实验报告班级: 12050641姓名:谢昌辉学号: 1205064135实验一 抽样定理实验一、实验目的1、 了解抽样定理在通信系统中的重要性。

2、 掌握自然抽样及平顶抽样的实现方法。

3、 理解低通采样定理的原理。

4、 理解实际的抽样系统。

5、 理解低通滤波器的幅频特性对抽样信号恢复的影响。

6、 理解低通滤波器的相频特性对抽样信号恢复的影响。

7、 理解带通采样定理的原理。

二、实验器材1、 主控&信号源、3号模块 各一块2、 双踪示波器 一台3、 连接线 若干三、实验原理1、实验原理框图保持电路S1信号源A-outmusic抽样电路被抽样信号抽样脉冲平顶抽样自然抽样抽样输出抗混叠滤波器LPFLPF-INLPF-OUTFPGA 数字滤波FIR/IIR译码输出编码输入3# 信源编译码模块图1-1 抽样定理实验框图2、实验框图说明抽样信号由抽样电路产生。

将输入的被抽样信号与抽样脉冲相乘就可以得到自然抽样信号,自然抽样的信号经过保持电路得到平顶抽样信号。

平顶抽样和自然抽样信号是通过开关S1切换输出的。

抽样信号的恢复是将抽样信号经过低通滤波器,即可得到恢复的信号。

这里滤波器可以选用抗混叠滤波器(8阶3.4kHz 的巴特沃斯低通滤波器)或FPGA 数字滤波器(有FIR 、IIR 两种)。

反sinc 滤波器不是用来恢复抽样信号的,而是用来应对孔径失真现象。

要注意,这里的数字滤波器是借用的信源编译码部分的端口。

在做本实验时与信源编译码的内容没有联系。

四、实验步骤实验项目一抽样信号观测及抽样定理验证概述:通过不同频率的抽样时钟,从时域和频域两方面观测自然抽样和平顶抽样的输出波形,以及信号恢复的混叠情况,从而了解不同抽样方式的输出差异和联系,验证抽样定理。

1、关电,按表格所示进行连线。

源端口目标端口连线说明信号源:MUSIC 模块3:TH1(被抽样信号) 将被抽样信号送入抽样单元信号源:A-OUT 模块3:TH2(抽样脉冲) 提供抽样时钟模块3:TH3(抽样输出) 模块3:TH5(LPF-IN) 送入模拟低通滤波器2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【抽样定理】。

通信原理实验报告 (2)

通信原理实验报告 (2)

通信原理实验报告(2)广西科技大学通信原理实验报告学院:班级:姓名:班别: 学号:指导老师:实验一数字基带信号一、实验目的1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。

2、掌握AMI、HDB3码的编码规则。

3、掌握集中插入帧同步码时分复用信号的帧结构特点。

二、实验内容 1、用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码(HDB3)、整流后的AMI 码及整流后的HDB3 码。

2、用示波器观察从HDB3 码中和从AMI 码中提取位同步信号的电路中有关波形。

3、用示波器观察HDB3、AMI 译码输出波形。

三、基本原理本实验使用数字信源模块和HDB3 编译码模块。

1、数字信源此NRZ信号为集中扩入帧同步码时分复用信号,试验中数据码用红色发光二极管指示。

其原理方框图如图1-1所示。

本单元产生NRZ信号,信号码速率约为17.5KB,帧结构如图1-2所示。

帧长为24位,其中首位为无定义位,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。

本模块有以下测试点及输入输出点:+5V +5V电源输入点(2个)CLK 晶振信号测试点BS-OUT 信源位同步信号输出点/测试点(2个)FS 信源帧同步信号输出点/测试点NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个)图 1-1 数字信源方框图图 1-2 帧结构FS信号、NRZ-OUT信号之间的相位关系如图1-3所示,图中NRZ-OUT的无定义位为0,帧同步码为1110010,数据1为11110000,数据2为00001111,FS信号的低电平,高电平分别为4位和8位数字信号时间,其上升沿比NRZ-OUT码第一位起始时间超前一个码元。

图1-3 FS、NRZ-OUT波形2. HDB3 编译码原理框图如图1-4 所示。

本单元有以下信号测试点:●-12V -12V电源输入点●+5V +5V电源输入点●NRZ 译码器输出信号●BS-R 锁相环输出的位同步信号●(AMI)HDB3 编码器输出信号●BPF 带通滤波器输出信号●(AMI-D)HDB3-D (AMI)HDB3 整流输出信号图1-4 HDB3编译方框图本模块上的开关K4 用于选择码型,K4 位于左边(A 端)选择AMI 码,位于右边(H 端)选择HDB3码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通信原理II课程设计报告基于MATLAB的数字基带传输系统通信系统仿真平台各模块要求序号内容基本要求参考学时1 实现输入信号的模拟设计实现单频正弦波、方波、声波信号(以两个不同频率正弦波相加模拟)的仿真。

要求正弦波、方波的幅度和频率可按要求调整42 实现模拟波形到数字波形的PCM编码变换设计实现抽样、量化、编码。

要求抽样率可根据输入信号最大频率自动调整。

编码可采用均匀量化编码或A律13折线编码3 数字基带传输系统的设计设计实现AMI、AMI和数字双向码基带信号的编码传输,画出码形变换前后的信号波形 44 数字频带传输系统的设计设计实现2ASK、2PSK、2FSK 、2DPSK、QPSK调制解调系统,画出调制前后的信号波形45 传输信道建模和设计和系统误码性能分析设计实现AWGN信道、简单衰落信道、瑞利衰落信道;通过改变信道条件,仿真信道传输误码率性能,画出系统误码率曲线;分析不同调制方式、编码方式对系统传输性能的影响 26 采用信道编码系统的设计设计实现汉明码的编译码;循环码的编译码;卷积码的编译码;正交编码的编译码系统 27 系统图形化界面的设计运用Matlab图形界面开发工具设计并实现仿真系统的图形化界面8其他扩展功能自行设计发挥目录1、实验目的和要求 (1)2、实验原理图 (2)3、实验程序设计 (2)4、实验结果 (17)5、实验心得 (20)摘要输入:首先输入模拟信号,给出此模拟信号的时域波形。

数字化:将模拟信号进行数字化,得到数字信号,选择PCM编码。

信道编码:实现简单的信道编译码(7,3)循环码信源编码:实现基带码形变换(AMI码)信道:采用加性高斯信道。

PCM解码:给出解码后的模拟信号的时域波形,并与输入信号进行比较。

系统性能分析:比较在不同调制方式下,该数字频带传输系统的性能指标,即该系统的输出误码率随输入信噪比的变化曲线。

1、实验目的和要求1、目的:通信原理II课程设计是《通信原理》课的辅助环节。

它以小型课题方式来加深、扩展通信原理所学知识,课程设计着重体现通信原理教学知识的运用,着重培养学生主动研究的能力。

通过课程设计,主要达到以下目的:⑴使学生增进对通信系统的认识,加深对通信原理知识的理解。

⑵使学生掌握通信系统仿真设计方法。

2、要求:根据所学知识独立完成基本设计任务,对于创新设计可以不受大纲限制,经老师审核同意并在条件允许的情况下,可以自行命题。

本课程设计以上机编写Matlab 仿真程序为主,采取较为灵活的教学方式,大部分时间由学生上机操作,必要时配合少量的理论讲授。

主要完成系统设计与实现。

2、实验原理图PCM编码(7,3)汉明码/循环码编码AMI码AWGN信道PCM解码(7,3)汉明码/循环码解码AMI反变换输入信号输出信号3、实验程序设计close allclear all;clc;%--------------生成模拟信号----------------------fudu=5; %模拟信号的振幅fs=2800; %抽样频率f=100;%模拟信号的频率HzN=64; %抽样个数t=(0:N-1)/fs;%采样时间smoni=fudu*sin(2*pi*f*t);%生成了模拟信号figure(1);%将第1个窗口分成2行2列,取第1个位置subplot(3,1,1);plot(t,moni);grid on;axis([0 1/f*2 -fudu fudu]); %输出2个周期的信号title('输入模拟信号');for i=1:64;%设计输入范围是-6~6V,对模拟信号抽取64个样本%循环对每个样本进行归一化并计算出量化单位x%设量化器最大分层电平是2048个量化单位.x(i)=moni(i)/6*2048;end%----------------pcm编码部分--对每个样本进行编码-------------------for i=1:64;if x(i)>0out(1)=1;%抽样值大于0,极性码为1elseout(1)=0;%抽样值小于0,极性码为0end%确定段落码if abs(x(i))>=0 & abs(x(i))<32out(2)=0;out(3)=0;out(4)=0;step=1;st=0;%x的绝对值在0到32之间,则落在第一段内,段落码为001,段落起始电平st为16,量化间隔step为1elseif 32<=abs(x(i)) & abs(x(i))<64out(2)=0;out(3)=0;out(4)=1;step=2;st=32;%x的绝对值在32到64之间,则落在第二段内,段落码为010,段落起始电平st为32,量化间隔step为2elseif 64<=abs(x(i)) & abs(x(i))<128out(2)=0;out(3)=1;out(4)=0;step=4;st=64;%x的绝对值在64到128之间,则落在第三段内,段落码为011,段落起始电平st为64,量化间隔step为4elseif 128<=abs(x(i)) & abs(x(i))<256out(2)=0;out(3)=1;out(4)=1;step=8;st=128;%x的绝对值在128到256之间,则落在第四段内,段落码为100,段落起始电平st为128,量化间隔step为8elseif 256<=abs(x(i)) & abs(x(i))<512out(2)=1;out(3)=0;out(4)=0;step=16;st=256;%x的绝对值在256到512之间,则落在第五段内,段落码为101,段落起始电平st为256,量化间隔step为16elseif 512<=abs(x(i)) & abs(x(i))<1024out(2)=1;out(3)=0;out(4)=1;step=32;st=512;%x的绝对值在512到1024之间,则落在第六段内,段落码为110,段落起始电平st为512,量化间隔step为32elseif 1024<=abs(x(i)) & abs(x(i))<2048out(2)=1;out(3)=1;out(4)=0;step=64;st=1024;%x的绝对值在1024到2048之间,则落在第七段内,段落码为111,段落起始电平st为1024,量化间隔step为64elseout(2)=1;out(3)=1;out(4)=1;step=64;st=1024;%x的绝对值超出了2048,则段落码为111,段落起始电平st为1024,量化间隔step为64end%确定段内码if (abs(x(i))>=2048)out(2:8)=[ 1 1 1 1 1 1 1];%x的绝对值超出了2048,段落码和段内码均为1111111elsetmp=floor((abs(x(i))-st)/step);%确定x落在某段的第tmp级内t=dec2bin(tmp,4)-48;%将tmp转化为四位二进制码out(5:8)=t(1:4);%段内码为tendg(i*8-7:i*8)=out(1:8);end%提取一小部分PCM在主界面上进行示范jubuPCM = g(41:44)max=512;%-------------------输出一下PCM编码作为演示-----------------cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;for n=1:length(g);if g(n)==0;A=zeros(1,200);%每个值200个点else g(n)==1;A=ones(1,200);endcp=[cp A]; %s(t),码元宽度200c=cos(f*t);%载波信号mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式endfigure(1);subplot(3,1,2);plot(cp);grid on;set(gca,'xtick',[38000:400:40000],'ytick',[-2,-1,0,1,2])axis([38000 40000 -1.2 1.2]);title('PCM编码以后的信号(部分)');%---------------------------------(7,4)汉明码编码-------------------------------xinyuanU = g; %要编码的信源U = 之前的PCM编码a矩阵hmG=[1,0,0,0,1,1,0;0,1,0,0,1,1,1;0,0,1,0,0,1,1;0,0,0,1,1,0,1] %设置一个4行7列的生成矩阵for i = 1 : 128hmC(i*7-6:i*7) = xinyuanU(i * 4 - 3 : i * 4) * hmG; %信息乘上监督矩阵,形成汉明码endhmC = rem(hmC,2); %对矩阵各项求余,以过滤成0或1%----------------------------------汉明码编码结束--------------------------------%提取一小部分PCM在主界面上进行示范jubuC = hmC(71:77)%-------------------输出一下汉明码作为演示-----------------cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;for n=1:length(hmC);if hmC(n)==0;A=zeros(1,20);%每个值20个点else hmC(n)==1;A=ones(1,20);endcp=[cp A]; %s(t),码元宽度20endfigure(1);subplot(3,1,3);plot(cp);grid on;set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])axis([3800 4000 -1.2 1.2]);title('转化为汉明码以后的信号(部分)');%-------------------------------将汉明码变成AMI码--------------------------temp=1;one=0;zero=0;for i=1:896if cp(i*20-10)==1AMI(i*20-19:i*20-10)=temp; %则前半部分得1或-1AMI(i*20-9:i*20)=0; %后半部分归0temp=-temp;one=one+1;zero=0;elseAMI(i*20-19:i*20)=0;zero=zero+1;endif zero==4 %判断是否出现了连续4个0码if rem(one,2)==1 %如果之前的B有奇数个AMI(i*20-19:i*20-10)=-temp; %则将第4个0码变成+V或-V,形成"000V"else %如果之前的B有偶数个AMI(i*20-79:i*20-70)=temp; %则第i-3个电平变成B或-Btemp=-temp;AMI(i*20-19:i*20-10)=-temp; %第i个电平变成V或-V,形成"B00V"endendendfigure(2);subplot(3,1,1);plot(AMI);grid on;set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])axis([3800 4000 -1.2 1.2]);title('AMI码(部分)');%加高斯噪声gAMI=awgn(AMI,20);figure(2);subplot(3,1,2);plot(gAMI);grid on;set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])axis([3800 4000 -1.2 1.2]);title('加高斯以后的AMI码(部分)');% %接收端% %低通滤波器% fp=500;fs=700;rp=3;rs=20;fn=11025;% ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率% [n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率% [b,a]=butter(n,wn);%计算H(z)%% dAMI=filter(b,a,gAMI);%% figure(3);subplot(2,1,1);plot(dAMI);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('通过了低通滤波器后的AMI码(部分)');dAMI=gAMI;%抽样判决%AMI码for i=1:length(dAMI);if dAMI(i)>0.5;pAMI(i)=1;elseif dAMI(i)<-0.5;pAMI(i)=-1;elsepAMI(i)=0;endendfigure(2);subplot(3,1,3);plot(pAMI);grid on;set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])axis([3800 4000 -1.2 1.2]);title('抽样判决后的AMI码(部分)');%--------------------AMI转化回汉明码--------------------------%先解决B00V和000Vtemp2=0.1;j=0;for i=1:896if pAMI(i*20-15)~=0j=j+1;if rem(j,2)==1temp1=pAMI(i*20-15);biaoji1=i;elsetemp2=pAMI(i*20-15);biaoji2=i;endendif temp1==temp2 %如果两次非0码的极性相同,就可能是B00V或000V if abs(biaoji1-biaoji2)==3 %如果两个码之间的间隔是3,就是B00VpAMI(biaoji1*20-19:biaoji1*20)=0;pAMI(biaoji2*20-19:biaoji2*20)=0;temp1=0;temp2=0.1;elsepAMI(i*20-19:i*20)=0;temp1=0;temp2=0.1;endendend%然后变回汉明码hmcm=zeros(1,17920);temp=1;for i=1:length(pAMI)if hmcm(i)==0if abs(pAMI(i))==1hmcm(i:i+20)=1;endendendfigure(3);subplot(3,1,1);plot(hmcm);grid on;set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])axis([3800 4000 -1.2 1.2]);title('由AMI码转化后的汉明码');%------------------------(7,4)汉明码--解码------------------------%抽取其中的汉明码序列for i=1:896pdst2(i)=hmcm(i*20-10);end%提取一小部分PCM在主界面上进行示范JIEjubuC = pdst2(71:77)hmH = [1,1,0,1,1,0,0;1,1,1,0,0,1,0;0,1,1,1,0,0,1] %定义监督矩阵Hfor i = 1 : 3 %将监督矩阵H转置成为HTfor j = 1 : 7hmHT(j,i)=hmH(i,j);endendhmHTfor i = 1 : 128 %利用转置了的监督矩阵HT进行解码hmS = pdst2(i*7-6:i*7)*hmHT; %将接收到的信号与监督矩阵的转置矩阵相乘hmS = rem(hmS,2); %将所有数求余,以变成0或1%hmS从000-111这八种情况,分别对应可纠正的错误图样for j = 1 : 1if hmS(1)==0 & hmS(2)==0 & hmS(3)==0hmE=[0,0,0,0,0,0,0];break;endif hmS(1)==0 & hmS(2)==0 & hmS(3)==1hmE=[0,0,0,0,0,0,1];break;endif hmS(1)==0 & hmS(2)==1 & hmS(3)==0hmE=[0,0,0,0,0,1,0];break;endif hmS(1)==0 & hmS(2)==1 & hmS(3)==1hmE=[0,0,1,0,0,0,0];break;endif hmS(1)==1 & hmS(2)==0 & hmS(3)==0hmE=[0,0,0,0,1,0,0];break;endif hmS(1)==1 & hmS(2)==0 & hmS(3)==1hmE=[0,0,0,1,0,0,0];break;endif hmS(1)==1 & hmS(2)==1 & hmS(3)==0hmE=[1,0,0,0,0,0,0];break;endif hmS(1)==1 & hmS(2)==1 & hmS(3)==1hmE=[0,1,0,0,0,0,0];break;endendhmjmC = pdst2(i*7-6:i*7)+hmE; %将接收到的码,加上hmE这错误图样,最多可纠正1位错误(dmin 》2t+1)pcm(i*4-3:i*4) = hmjmC(1:4); %最后得到汉明码的译码结果--恢复为PCM编码end%-----------------------汉明码解码结束------------------------%提取一小部分解码后的汉明码在主界面上进行示范JIEjubuPCM = pcm(41:44)%-------------------输出一下解出来的PCM编码作为演示-----------------cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;for n=1:length(pcm);if pcm(n)==0;A=zeros(1,200);%每个值200个点else pcm(n)==1;A=ones(1,200);endcp=[cp A]; %s(t),码元宽度200c=cos(f*t);%载波信号mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式endfigure(3);subplot(3,1,2);plot(cp);grid on;set(gca,'xtick',[38000:400:40000],'ytick',[-2,-1,0,1,2])axis([38000 40000 -1.2 1.2]);title('汉明码转化回PCM后的信号(部分)'); %---------------------PCM解码--------------------------%循环将PCM编码变成量化电平数for i=1:64;%初始化计算参数dlm=0;dp=0;%将2-4位段落码换算成起始电平if pcm(i*8-6)==1;dlm=dlm+4;endif pcm(i*8-5)==1;dlm=dlm+2;endif pcm(i*8-4)==1;dlm=dlm+1;end%得到由段落码换算来的起始电平dp=2^(dlm+4);%先加上最小量化电平的一半dp=dp+2^(dlm)/2;%将5-8位段内码结合段落码一起转换成电平数%第5位if pcm(i*8-3)==1;dp=dp+2^(dlm+3);end%第6位if pcm(i*8-2)==1;dp=dp+2^(dlm+2);end%第7位if pcm(i*8-1)==1;dp=dp+2^(dlm+1);end%第8位if pcm(i*8)==1;dp=dp+2^(dlm);end%最后判断第1位码,决定正负if pcm(i*8-7)==0;dp=-dp;endjiedp(i)=dp;end%将量化电平数变成电压for i=1:64;dianya(i)=jiedp(i)/2048*6;endfs=2800; %抽样频率t=(0:N-1)/fs;%采样时间sf=100;%模拟信号的频率Hzfigure(3);subplot(3,1,3);plot(t,dianya);grid onaxis([0 1/f*2 -5 5]);title('PCM解码后的模拟信号')%误码率仿真for snr=1:40snn=2*snr-40;snnr(snr)=snn;%假设信源就是这个a = randint(1,128,[0,1]);%(7,4)汉明码编码xinyuanU = a; %要编码的信源U = 之前的PCM编码a矩阵hmG=[1,0,0,0,1,1,0;0,1,0,0,1,1,1;0,0,1,0,0,1,1;0,0,0,1,1,0,1]; %设置一个4行7列的生成矩阵for i = 1 : 32hmC(i*7-6:i*7) = xinyuanU(i * 4 - 3 : i * 4) * hmG; %信息乘上监督矩阵,形成汉明码endhmC = rem(hmC,2); %对矩阵各项求余,以过滤成0或1cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;for n=1:length(hmC);if hmC(n)==0;A=zeros(1,20);%每个值20个点else hmC(n)==1;A=ones(1,20);endcp=[cp A]; %s(t),码元宽度20end%-------------------------------将汉明码变成AMI码--------------------------temp=1;one=0;zero=0;for i=1:224if cp(i*20-10)==1AMI(i*20-19:i*20-10)=temp; %则前半部分得1或-1AMI(i*20-9:i*20)=0; %后半部分归0temp=-temp;one=one+1;zero=0;elseAMI(i*20-19:i*20)=0;zero=zero+1;endif zero==4 %判断是否出现了连续4个0码if rem(one,2)==1 %如果之前的B有奇数个AMI(i*20-19:i*20-10)=-temp; %则将第4个0码变成+V或-V,形成"000V"else %如果之前的B有偶数个AMI(i*20-79:i*20-70)=temp; %则第i-3个电平变成B或-Btemp=-temp;AMI(i*20-19:i*20-10)=-temp; %第i个电平变成V或-V,形成"B00V"endendend% figure(2);subplot(3,1,1);plot(AMI);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('AMI码(部分)');%加高斯噪声gAMI=awgn(AMI,snn);% figure(2);subplot(3,1,2);plot(gAMI);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('加高斯以后的AMI码(部分)');% %接收端% %低通滤波器% fp=500;fs=700;rp=3;rs=20;fn=11025;% ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率% [n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率% [b,a]=butter(n,wn);%计算H(z)%% dAMI=filter(b,a,gAMI);%% figure(3);subplot(2,1,1);plot(dAMI);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('通过了低通滤波器后的AMI码(部分)');dAMI=gAMI;%抽样判决%AMI码for i=1:length(dAMI);if dAMI(i)>0.5;pAMI(i)=1;elseif dAMI(i)<-0.5;pAMI(i)=-1;elsepAMI(i)=0;endend%% figure(2);subplot(3,1,3);plot(pAMI);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('抽样判决后的AMI码(部分)');%--------------------AMI转化回汉明码--------------------------%先解决B00V和000Vtemp1=0;temp2=0.1;j=0;for i=1:224if pAMI(i*20-15)~=0j=j+1;if rem(j,2)==1temp1=pAMI(i*20-15);biaoji1=i;elsetemp2=pAMI(i*20-15);biaoji2=i;endendif temp1==temp2 %如果两次非0码的极性相同,就可能是B00V或000V if abs(biaoji1-biaoji2)==3 %如果两个码之间的间隔是3,就是B00VpAMI(biaoji1*20-19:biaoji1*20)=0;pAMI(biaoji2*20-19:biaoji2*20)=0;temp1=0;temp2=0.1;elsepAMI(i*20-19:i*20)=0;temp1=0;temp2=0.1;endendend%然后变回汉明码hmcm=zeros(1,17920);temp=1;for i=1:length(pAMI)if hmcm(i)==0if abs(pAMI(i))==1hmcm(i:i+20)=1;endendend%% figure(3);subplot(3,1,1);plot(hmcm);grid on;% set(gca,'xtick',[3800:40:4000],'ytick',[-2,-1,0,1,2])% axis([3800 4000 -1.2 1.2]);title('由AMI码转化后的汉明码');%汉明码解码%(7,4)汉明码--解码%抽取其中的汉明码序列for i=1:224pdst2(i)=hmcm(i*20-10);endhmH = [1,1,0,1,1,0,0;1,1,1,0,0,1,0;0,1,1,1,0,0,1]; %定义监督矩阵Hfor i = 1 : 3 %将监督矩阵H转置成为HTfor j = 1 : 7hmHT(j,i)=hmH(i,j);endendfor i = 1 : 32 %利用转置了的监督矩阵HT进行解码hmS = pdst2(i*7-6:i*7)*hmHT; %将接收到的信号与监督矩阵的转置矩阵相乘hmS = rem(hmS,2); %将所有数求余,以变成0或1%hmS从000-111这八种情况,分别对应可纠正的错误图样for j = 1 : 1if hmS(1)==0 & hmS(2)==0 & hmS(3)==0hmE=[0,0,0,0,0,0,0];break;endif hmS(1)==0 & hmS(2)==0 & hmS(3)==1hmE=[0,0,0,0,0,0,1];break;endif hmS(1)==0 & hmS(2)==1 & hmS(3)==0hmE=[0,0,0,0,0,1,0];break;endif hmS(1)==0 & hmS(2)==1 & hmS(3)==1hmE=[0,0,1,0,0,0,0];break;endif hmS(1)==1 & hmS(2)==0 & hmS(3)==0hmE=[0,0,0,0,1,0,0];break;endif hmS(1)==1 & hmS(2)==0 & hmS(3)==1hmE=[0,0,0,1,0,0,0];break;endif hmS(1)==1 & hmS(2)==1 & hmS(3)==0hmE=[1,0,0,0,0,0,0];break;endif hmS(1)==1 & hmS(2)==1 & hmS(3)==1hmE=[0,1,0,0,0,0,0];break;endendhmjmC = pdst2(i*7-6:i*7)+hmE; %将接收到的码,加上hmE这错误图样,最多可纠正1位错误(dmin 》2t+1)pcm(i*4-3:i*4) = hmjmC(1:4); %最后得到汉明码的译码结果--恢复为PCM编码end%计算误码率true=0;false=0;for i=1:128if a(i)==pcm(i)ture=true+1;elsefalse=false+1;endendwml=false/128;zwml(snr)=wml;endfigure(4)plot(snnr,zwml)grid on;title('误码率随信噪比变化的关系(仿真)');4、实验结果单独pcm编码5、实验心得通过此次MATLAB课程设计,我掌握了运用MATLAB进行信号处理和分析的基本内容和方法,加强了我对MATLAB软件的应用能力。

相关文档
最新文档