精华内容
下载资源
问答
  • 基于MATLAB的数字基带传输系统的仿真设计
    2021-04-19 01:27:59

    41528d3028836879cd698677c3999917.gif基于MATLAB的数字基带传输系统的仿真设计

    绵阳师范学院 本科生毕业设计(论文) 题 目 基于MATLAB的数字基带 传输系统的仿真设计 专 业 电子信息科学与技术 院 部 物理与电子工程学院 学 号 姓 名 指 导 教 师 答 辩 时 间 二0一三年五月 论文工作时间:2012年12月至2013年4月 基于MATLAB的数字基带传输系统的仿真设计 学 生:陈廷婷 指导教师:陈擘威 摘 要:现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;并且要求通信系统技术研究和产品开发的周期缩短,成本降低,水平提高。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。目前,现代计算机科学技术快速发展,已经研发出来了新一代的可视化仿真软件,其功能强大,使得通信系统仿真的设计和分析过程相对直观、便捷。 本论文比较详细介绍了《通信原理》这门课程中数字基带传输系统实验的计算机仿真软件设计工作。论文主要内容就是用MATLAB动态系统仿真平台SIMULINK对数字基带传输系统进行分析,在其基础上,描述仿真模型的建立、实现以及仿真结果分析。数字基带信号传输系统主要由滤波器(信道信号形成器)、信道、接收滤波器和抽样判决器组成,在论文中,首先对数字基带信号传输系统进行详细分析,得出理论值。然后通过系统分析,设计了总体仿真框图,利用MATLAB对各个子系统进行了建模和封装,建立了数字基带传输系统仿真模型,并对仿真模型进行了测试,得出仿真结果与理论值基本一致。 关键词:通信原理;MATLAB;基带传输系统;仿真 Matlab-based digital basebandtransmission system simulation design Undergraduate:Chentingting Supervisor:Chenbowei Abstract:The development of modern society requires more powerful, more and more high-perance, constitute increasingly complex communication system; and the communication system technology research and product development cycles, lower costs, and raise the level. Such sharp opposition to the two requirements, only through the use of powerful computer-aided analysis and design techniques and tools to achieve. Modern computer science and technology rapid development, has developed a new generation of visual simulation software, the powerful, making the design of the communications system simulation and analysis process is relatively straightforward and convenient. The thesis introduces the design of simulation software “computer experiment of digital communication principle“ in the course of baseband transmission system. The main content of this thesis is to analyze the digital baseband transmission system using SIMULINK dynamic system simulation plat for MATLAB, on the basis of establishing simulation model, description, and analysis of simulation results. The digital baseband signal transmission system consists of filter (channel signal ing device), channel, receiver filter and sample sentence composition, in the thesis, firstly, a detailed analysis of the digital baseband transmission system, obtains the theory value. Then through the analysis of the system, design the overall simulation block diagram, use MATLAB for modeling and encapsulation of each sub system, established the digital baseband transmission system simulation model, simulation model and the test, the basic simulation results are consistent with theoretical value. KeyWords: Communication Theory;MATLAB ;baseband transmission system;simulation 目录 1 绪论1 2 MATLAB的简介2 2.1软件介绍2 2.2 MATLAB的特点2 3数字基带传输系统的简介3 3.1数字基带传输系统的研究意义3 3.2数字基带传输系统3 3.3 数字基带传输系统模型4 4 数字基带传输系统的设计及仿真7 4.1基带系统设计方案7 4.2SIMULINK下基带系统的设计7 4.3仿真结果分析14 结束语18 参考文献19

    更多相关内容
  • 基于MATLAB的数字基带传输系统的仿真-基于MATLAB的数字基带传输系统的仿真.pdf 【英文篇名】 Simulation of Digital Based-band Transmission System Based on MATLAB 【作者中文名】 许建霞; 聂明新; 【作者...
  • 本文在分析数字基带系统传输特性的基础上,运用MATLAB/Simulink动态仿真环境实现了双极性数字基带信号传输系统的建模和仿真,通过仿真眼图和误码率曲线对系统的抗噪声性能进行分析。实际仿真结果表明,该系统能够...
  • 基于MATLAB的数字基带传输系统仿真实验设计-基于MATLAB的数字基带传输系统仿真实验设计.pdf 关于数字基带的仿真,希望对大家有帮助
  • 1. 掌握数字基带传输系统的接收原理和误码率计算; 2. 熟悉升余弦传输特性的时域响应特征,观察不同信噪比下的眼图; 3. 掌握匹配滤波器的特性。 二、实验内容 1. 观察不同传输特性的基带系统的时域特性,观察码间...
  • 通信原理数字基带传输系统仿真实验报告
  • 完整的数字基带传输系统 MATLAB搭建 所有的源程序以及实验报告
  • 数字基带传输系统设计与仿真.docx
  • 本设计实现了数字基带传输系统的MATLAB代码仿真 通过信源产生器产生N位二进制随机数据 进行BPSK调制 设计升余弦滚降滤波器及匹配滤波器消除码间干扰
  • 摘要: 为了提高系统的集成度和可靠性, 降低功耗和成本, 增强系统的灵活性, 提出一种采用非常高速积体电路的硬件描述语言( VH DL 语言) 来设计数字基带传输系统的方法。详细阐述数字基带传输系统中信号码型的设计原则...
  • 数字基带传输系统

    2022-03-25 09:05:00
    2.数字信号的基带传输:在某些具有低通特性的有线信道里,例如双绞线、电缆,当传输距离不太远的情况下,数字基带信号可以不经调制直接进行传输,如计算机局域网、电话信号的传输等,称为数字基带传输系统;...

    一、数字基带传输的概念即系统构成

    1.数字基带信号:来自数据终端的原始数据信号,如计算即输出的二进制序列,电传机输出的代码等,往往包含丰富的低频分量,甚至直流分量,被称为数字基带信号。

    2.数字信号的基带传输:在某些具有低通特性的有线信道里,例如双绞线、电缆,当传输距离不太远的情况下,数字基带信号可以不经调制直接进行传输,如计算机局域网、电话信号的传输等,称为数字基带传输系统;

    3.数字信号的频带传输:对于大多数信道,如各种无线信道和远距离有线信道,其传输特性是带通的,数字基带信号必须在发送端经过调制,把基带信号的频谱搬移到适合信道传输的通带内变为带通信号,通过信道传输,在接收端通过解调,再恢复为原始基带信号,这种传输称为数字频带传输系统。

    二、数字基带信号及其频谱特性

    1.数字基带信号:设计数字传输系统的基本考虑是选择一组有限的、离散的波形来表示数字信息。对于数字基带传输系统而言,这些离散波形是未经调制的电脉冲信号,这些电脉冲信号所占据的频率从直流和低频开始,因此称为数字基带信号,可以说数字基带信号是指消息代码的电波形,它是用不同的电平或脉冲来表示相应的消息代码。数字基带信号(以下简称为基带信号)的类型有很多,常见的有矩形脉冲、三角波脉冲、高斯脉冲和升余弦脉冲等。最常用的是矩形脉冲,因为矩形脉冲易于形成和变换,下面就以矩形脉冲为例介绍几种最为见的基带信号波形。
    1)单极性不归零波形(NRZ)
    单极性不归零波形如图6-2(a)所示,这是一种最简单常用的基带信号形式。这种信号脉冲的零电平和正电平分别对应着二进制代码0和1,在整个码元期间电平保持不变。或者说,它在一个码元时间内用脉冲的有或无来对应表示0或1码。其特点是极性单一,含有直流分量,脉冲之间无间隔。另外位同步信息包含在电平的转换之中,当出现连0序列时没有位同步信息。
    单极性不归零波形不适合远距离传输,只用于设备内部(如印刷电路板内部或机箱内)信号的传输。
    2)双极性不归零波形(BNRZ)
    双极性不归零波形如图6-2(b)所示,在双极性不归零波形中,脉冲的正、负电平分别对应于二进制代码1、0,由于它是幅度相等极性相反的双极性波形,故当0、1 符号等概出现时无直流分量。这样,恢复信号的判决电平为0,因而不受信道特性变化的影响,抗干扰能力也较强。故双极性波形有利于在信道中传输,很多应用场合采用双极性波形信号传输。 
    3)单极性归零波形(RZ)
    极性不归零波形如图6-2(c)所示,单极性归零波形与单极性不归零波形的区别是它发送1时正电平脉冲宽度小于码元宽度T,每个1代码脉冲在正电平持续一定时间后总要回到零电平,所以称为归零波形。通常,归零波形使用50%占空比(也称0.5点空比或半占空比,点空比定义为τ/T)。单极性归零波形包含的定时信息多,可以从单极性归零波形中直接提取定时信息,因此它是其它波形提取位定时信号时常采用的一种过渡波形,如AMI、HDB码位定时信号提取时先将双极性归零波形变为单极性归零波形。

    例题 :在“0” 、“1”等概出现情况下,以下包含直流成分最大码是:

    A、差分码 B、AMI 码 C、单极性归零码 D、HDB3码

    单极性归零码1 D、HDB3 码
    【答案】C
    【解析】单极性波形特点是极性单一,含有直流分量。

    4)双极性归零波形(BRZ)
    双极性归零波形如图6-2(d)所示。图中,每个码元内的脉冲持续一定时间后都回到零点平,即相邻脉冲之间留有零电位的间隔,有利于位同步信号的提取。它集中具有双极性波形和归零波形的特点,因此双极性归零波形获得广泛应用。

    5)差分波形
    差分波形如图6-2(e)所示。这种波形不是用码元本身的电平表示消息代码,而是用相邻码元的电平的跳变和不变来表示消息代码,如以电平跳变表示1,以电平不变表示0,上述规定也可以反过来。由于差分波形是以相邻脉冲电平的相对变化来表示代码,因此称它为相对码波形,而相应地称前面的单极性或双极性波形为绝对码波形。用差分波形传送代码可以消除设备初始状态的影响,特别是在相位调制系统中用于解决载波相位模糊问题。

    6) 多进制波形
    多进制波形如图6-2(f)所示。它与前面几种电波形的区别是上述各种信号都是一个二进制符号对应一个脉冲,而多进制波形是多于一个二进制符号对应一个脉冲的情形。图6-2(f)所示的是四进制波形,这种波形统称为多进制波形(多电平波形或多值波形)。由于多进制波形的一个脉冲对应多位二进制代码,在信道带宽一定(传输波特率一定)的条件下能传输更高的比特率,或在比特率一定时只需占用更小的传输带宽,因此多进制波形在高速数据传输系统中得到广泛应用。

    2、数字基带信号传输的常用码型
    在实际的基带传输系统中,并不是所有代码的电波形都适合在信道中传输。通常,在数字设备内部用导线连接起来的各器件之间就是用一些最简单的数字基带信号来传送定时信息和信号。这些最简单的数字基带信号的频谱中含有丰富的低频分量乃至直流分量。由于传输距离很近,信号成分衰减也不大,但是数字设备之间进行长距离有线信号传输时频分量衰减随距离的增加而增大,同时信道中往往还存在隔直流电容或耦合变压器,会引起直流损耗,因而传输频带的高频和低频部分均受限。此时必须考虑码型选择问题。
    1)数字基带信号传输码型设计的原则
    在设计数字基带信号传输码型时应考虑如下原则:
    a.对于传输频带低端受限信道,线路传输码型的频谱应不含直流分量,且低频分量少。                 b.码型变换过程应对任何信源具有透明性,即与信源的统计特性无关。
    c.便于从信号中提取定时信息。在数字信号的基带传输中,位定时信息是接收端判决恢复原始信息所必须的。在某些应用中位定时信号可以用单独的信道与基带信号同时传输,但对于远距离传输系统这种方式不经济,因此需要从基带信号本身提取位定时信息,这就要求基带信号本身或经过简单的非线性变换后能产生位定时频谱成分。
    d.基带传输信号应具有内在的检错能力,即设计传输码型具有一定规律性,以便利用这一规律性检测出基带信号码流中错误的信号状态,实时监测传输系统信号传输的质量。                                  e.传输效率应尽量高。                                                                                                                    f、输译码设备应尽可能简单等。

    上述原则并不是任何基带传输码型都能完全满足,往往依据实际要求满足其中若干项。数字基带信号传输码型种类繁多,这里介绍目前常见的几种。

    2) 数字基带传输常用的码型

    a.AMI 码
    AM码称为传号交替反转码转码(Alternate Mark Inversion)。其编码规则是将二进制消息代码的“+1”(传号)交替地变换为传输码的“+1”和“-1”,而“0”(空号)保持不变。
    如:
    消息代码:10011000000011001

    AMI码:+1 00 -1 +10000000-+100-1+
    AMI码对应的基带信号是代码”1”变为正负电平极性交替的脉冲序列,而代码“0”则保持0电平不变。AMI码的优点是不含直流成分(由于+1与-1交替),高、低频分量少,AMI码的功率谱(图6-19)中能量集中在以频率为1/2码速率为中心处,频带宽度等于码速率,且AMI码具有检错能力,如果在传输过程中发生错码,则接收端传号极性交替规律被破坏而很容易发现错码。AMI码的位定时分量虽然为0,但只要将信号经全波整流变为单极性归零波形,便可提取位定时信号。此外,AMI码的编译码电路简单。鉴于这些优点,AMI码是CCITT建议采用的传输码型之一。
    AMI码的缺点是其性能与信源统计特性有关,当信码出现连“0”串时,信号电平长时间不跳变,造成提取定时信号的困难。通常 PCM 传输线路中不允许连“0”个数超过15,否则位定时就要遭到破坏,信号不能正常再生。解决连“8”码问题的有效方法之一是采用 HDB3码。
    b.HDB3码:
    HDB3码的全称是3阶高密度双极性码,它是AMI码的一种改进型,其目的是为了保持 AMI码的优点而克服其缺点,使连“0”个数不超过3个,其编码规则如下:
    当信码的连“0”个数不超过3时,仍按AMI码的规则编码,即传号极性交替;
    当连“0”个数超过3时,则将信码中4个连“0”用取代节“000+V”(000-V)或“+B00+V”(-B00-V)代替,若相邻的两个“y”码中间有奇数个“1”(非“0”脉冲)时,4 个连“0”用取代节“000+V”(000-V)代替,若相邻的两个“V”码中间有偶数个“1”(非“0”脉冲)时,4个连“0”用取代节“+B00+V”(-B00-V)代替。其中“V”码与“B”码的符号确定规则是:“Y”码的符号与它前面的非“0”码符号相同,“B”码的符号与它前面的非“0”码符号相反,“V”码称为破坏脉冲,“B”码称为平衡脉冲。为了确保编好的码中无直流,加入“B”脉冲之后原来的“1”码极性要发生变化,即加入破坏脉冲之后的传号码极性也要交替。

    HDB码保持了AMI码的优点,同时还将连“0”码限制在3个以内,这个规律可用来检错,并有利于位定时信号的提取。HDB3码是应用最为广泛的码型,A律 PCM 四次群以下的接口码型均为HDB3码,μ律PCM四次群以下的接口码型使用扰乱处理后的AMI 码,扰乱处理可以减少AMI码中连零的个数。

    c.数字双相码
    数字双相码又称曼彻斯特(Manchester)码或分相码。它用一个周期的正负对称方波表示“0”,而用其反相波形表示“1”。编码规则之一是:“0”码用“01”两位码表示“1”码用“10”两位码表示,示例如下:
    代码:    1 1 0 0 1 0 1    
    双相码:    10 10 01 01 10    01 10    
    数字双相码在每个码元周期的中心点都存在电平跳变,包含较多的位定时信息。且这种码的正、负电平各半,所以无直流分量,编码过程简单。但双相码带宽比原信码增加1倍。计算机以太网中常采用这种码型。
     

    d.CMI 码    ( coded Mark Inverston).    
    CMI码简称传号反转码,与数字双相码类似,它也是一种双极性二电平码,波形见图6-7。编码规则是:“1”码交替用“11”和“00”两位码表示;“0”码固定地用“01”表示。CMI码有较多的电平跃变,定时信息丰富。此外,由于“10”为禁用码组,这个规律可用来宏观检错。由于CMI码易于实现,且具有上述特点,因此是CCITT推荐的PCM高次群采用的接口码型,在速率低于8.448Mb/s的光纤传输系统中有时也用作线路传输码型。

    e.密勒码(Miller)
            密勒码又称延迟调制码,是一种变形双相码。其编码规则为:对原始符号“1”码用起始不跃变、中心点出现跃变来表示,即用10或01表示。对原始符号“0”则分成单个“0”还是连续“0”予以不同处理;单个“0”时,保持0前的电平不变,即在码元边界处电平不跃变,码元中间点电平也不跃变;对于连续“0”,则使连续两个“0”的边界处发生电平跃变。
           密勒码可由双相码的下降沿去触发双稳电路产生。密勒码最初用于气象卫星和磁记录,现在也用于低速基带数传机,还可用于无源 RFID(Radio Frequency Identification)中,MiIIer码因码中带有时钟信息,且具有较好的抗干扰能力,因而是非接触存储卡中优先使用的码型。
           在数字双相码、Miller和CMI码中,每个原二进制信码都用一组2位的二进码表示,因此这类码又称为1B2B码,即将1位二进制码变换为2位二进制码,某些文献中1B2B码特指CMI码。数字双相码、密勒码和CMI码的波形如图6-4所示。

    从数字双相码、密勒码和CMI码的功率谱密度曲线图6-17可以看出,密勒码的信号能量集中在1/2码速率以下的频率范围内,无直流,占用带宽小,这些优点使它得到应用。

    f.nBnB码(m>n)
    nBnB码是把原信息码流的n位二进制码作为一组,编成m位二进制码的新码组。
    由于m>n,新码组可能有2^n种组合,故多出(2^m-2^n)种组合。从中选择一部分有利的码组作为可用码组,其余为禁用码组,以获得好的特性。在光纤数字传输系统中,通常选择m=n+1,有1B2B码、5B6B码等。由于1B2B的码速率为信息码速率的2倍,因而不适合在高速光纤数字传输系统中用作线路传输码型。目前在速率高于8448kbit/s的光纤数字传输系统中广泛使用5B6B码作为线路传输码型。5B6B码的优点是便于提取位同步信号、可实时监测,!5B6B 编码规则见 68节。除此之外,还有4B5B、8B10B 码用于高速以太网。

    g.4B/3T码
    在某些高速远程数据传输系统中,1B/1T 码的传输效率偏低,为此可以将输入二进制信码分成若干位一组,然后用较少位数的三元码来表示,以降低编码后的码速率,从而提高频带利用率。4B/3T码型是1B/1T码型的改进型,它把4个二进制码变换成3个三元码。显然,在相同的码速率下,4B/3T 码的信息容量大于1B/1T,因而可提高频带利用率。4B/3T码适用于较高速率的数据传输系统、如高次群同轴电缆传输系统。

    h.2B1Q码                                                                                                                                   2B1Q码用于ISDN基本速率接口(BRI)中的U接口,是一种四电平码,它将 2bit组合在一起以4电平信号来代表,如分别用代码10、11、01、00表示电平+3、+1、-1、-3,对应波形如图6-5所示。

     高速数字用户线 HDSL 采用的编码类型也为2B1Q码。

    3.数字基带信号的频谱特性

    数字基带信号一般是随机信号,因此不能用求确知信号额谱密度函数的方法来分析其频率特性,随机信号的频率特性可以用功率谱密度描述。

    1)数字基带信号功率谱集中在低频部分,功率谱形状主要依赖于单个码元波形的频谱函数G1(f)或G2(f),两者之中应取较大带宽的一个作为序列带宽。通常以谱的第一个零点作为矩形脉冲的近似带宽,它等于脉宽的倒数,即B=1/τ。其中f=1/T,为位定时信号的频率,在数值上与码速率R相等,即f=R,故有B=R。
    2)双极性与单极性码谱零点带宽相同,而RZ 与NRZ 带宽不同,其中NRZ码的谱零点带宽数值上等于码速率,即B=R,而RZ码带宽占用带宽多,时间波形的占空比越小,频带越宽,对于占空比为50%(即τ=0.5T)的归零信号,其谱零点带宽数值上等于码速率2倍,即B=2R。

    AMI与HDB3码的功率谱的共网特点是:无直流成分,也无其他离散谱;低频分量小(这是有记亿随即序列的共同特点);虽然采用了占空比为0.5的归零脉冲,但其带宽B仍等于码元速率R,即B=R;
    AMI、HDB3码频谱低频成分弱,功率集中在谐零点以内,且无离散谱,位同步提取方法可以在图6-14前面加波形变换,波形变换器可以是比较器、微分器或整流器,波形变换输出结果为RZ码,它含有频率等于码速率的离散谱,通过窄带滤波和脉冲形成得到位同步信号。

    三、数字基带脉冲传输与码间串扰

    四、部分响应系统

    五、数字基带传输系统的抗噪性能分析

    六、眼图

    七、时域均衡

    展开全文
  • 摘要: 为了提高系统的集成度和可靠性, 降低功耗和成本, 增强系统的灵活性, 提出一种采用非常高速积体电路的硬件描述语言( VH DL 语言) 来设计数字基带传输系统的方法。详细阐述数字基带传输系统中信号码型的设计原则...
  • 通信原理:第6章 数字基带传输系统.ppt
  • 对于基带信号传输来说,自适应时域性均衡器越来越得到重视,它是以有限长冲激响应(FIR)数字滤波器为基础,提出的一种可以适应当前环境的一种滤波器,其所用的存储单元较少,效率高,精度高,而且能够保留一些模拟...
  • 介绍通信系统的数字基带传输系统,包括RZ和NRZ单极性双极性归零码不归零码等等
  • 使用SIMULINK构建出了数字基带传输系统仿真模型,并在该仿真模型上,对数字基带传输系统的误码率、位同步提取、同步建立时间、滚降系数与定时精度和眼图的关系,以及滚降系数和延迟量与误码率的关系进行了仿真和分析...
  • 数字基带传输系统的设计,周志燕,孙珍珍,本文利用MATLAB和SIMULINK对数字基带传输系统进行设计和仿真,实现了理想信道和非理想信道的系统设计。首先简单介绍了系统设计所需的�
  • 数字基带传输系统的FPGA设计与实现.pdf
  • 通 信 工 程 专 业 综 合 设 计 报 告 仿 真 部 分 内 容数字基带传输系统的MATLAB仿真实现 2PSK的调制信道模拟判决及解调 班 级 通信08-1 学 号 姓 名 指导教师 仿真成绩 同组人姓名 内蒙古工业大学课程设计任务书 ...
  • 模拟信号的数字基带传输系统
  • 基于FPGA的数字基带传输系统编译码器的设计.pdf
  • 数字基带传输系统的MATLAB仿真实现-通信工程专业综合设计要求.doc 新人初来乍道,先献上我做的专业课设的题目----数字基带传输系统的MATLAB仿真实现 附件包含:1.通信工程专业综合设计要求  2.我做的成果 具体的...
  • 完整代码,可直接运行
  • 数字基带传输系统的matlab仿真实现
  • 基于Matlab数字基带传输系统仿真实验

    实验目的

    1、提高独立学习的能力;
    2、培养发现问题、解决问题和分析问题的能力;
    3、学习Matlab 的使用;
    4、掌握基带数字传输系统的仿真方法;
    5、熟悉基带传输系统的基本结构;
    6、理解奈奎斯特第一准则;
    7、通过观测眼图和星座图判断信号的传输质量;
    8、通过观察BER瀑布曲线来判定系统性能。

    1. 实验原理

    图1 基带系统传输模型框图

    (1).信源

    信息源,是本系统中输入的基带信号。使用matlab的rand函数生成0-1的均匀分布的随机数并将其转换为-1到1的随机数,同时令>0的数为1,<0的数为-1,至此便生成了均匀随机分布的1/-1的数据流。或者也可令>0的数为1,<0的数为-1,便生成了均匀随机分布的0/1比特流。两种都可以作为本系统的输入信号。

    (2).码型转换

    若上述生成的基带信号为1/-1数据流,那在码型转换处便不需要做过多的处理,因为其本身含有双极性的特性,适合在AWGN信道里传输。但若输入信号为0/1比特流则需要对其进行码型转换便于在信道中的传输,本次实验将其转换为AMI码(也可以尝试其它的)

    AMI码:消息码的“1”交替地变换为“+1”和“-1”,而“0”保持不变。

    例如;消息码;1 0 0 0 0 0 1 1 0 0

          AMI 码:1 0 0 0 0 0-1 1 0 0

    (3).扩大周期

    将上述码型转换后的具有双极性的序列进行周期的扩大,或者说在每个码之间插入若干个值为0的码。

    因为经仿真发现,上步结束后的码与根升余弦滚降滤波器(发送滤波器)的单位脉冲响应卷积后每个码附近都会产生小波纹,可能是与滤波器的单位脉冲响应卷积时其旁瓣造成的影响,当上述每个双极性码之间距离过近时,会导致小波纹干扰到了临近的信号的主瓣处,尤其是当其干扰到了后面进行采样的点的幅值时会导致结果不准确,本过程通过观察仿真图形也可发现。

    所以在每个码之间插上若干个0可以避免码间的干扰,次数周期扩大倍数的同时后续进行采样时也需要根据此倍数进行采样,避免没有采样到关键的点,做到前后统一.

    (4).根升余弦滚降滤波器

    发送端的滤波器和接收端的滤波器均采用平方根升余弦滤波器。升余弦滚降信号用来消除码间串扰,实际实现时采用的方式是由发送端的基带成行滤波器和接收端的匹配滤波器两个环节公共实现。匹配滤波器是为了使得在抽样时刻信噪比最大。

    当发端成形滤波器用根升余弦滤波器,接收端同样使用根升余弦滤波器,滤波器匹配时,既能够使得抽样时刻信噪比最高(即完成匹配滤波器的作用),又能够在一定的带限平坦信道中不引入码间干扰,传输系统的传递函数二者的乘 积,所以每个环节均为平方根升余弦滚降滤波器。

    根升余弦滚降滤波器时域表达式:

    对应的频谱为:

    (5).AWGN信道

    AWGN信道全称Additive white Gaussian noise信道,高斯白噪声信道,说明此信道里的噪声是按照高斯分布,在频谱上均匀分布。所以在此系统中我们通过生成高斯分布的噪声与传输的信号相加来进行模拟AWGN信道。

    为了弄清误码率和信噪比的关系,需要根据信噪比得到噪声的强度,再通过与Matlab中的randn生成的强度为一的高斯分布序列相乘,得到噪声信号。

    信源强度和噪声强度以及信噪比之间的公式:

            

    其中,Ps为信源强度,Pn为噪声强度。当信源信号为1/-1分布时有此关系:

                    ​​​​​​​        

    其中是信源强度Ps

    如果在Matlab中如此计算信源强度:sigPower=sum(abs(rigin_signal).^2)/length(rigin_signal);

    则当信源为1/-1分布时该公式得出其强度为1,与上述不完全符合,所以在其后面除以便得出信源强度,紧接着按上式得到噪声强度,再按照上述与randn函数生成的序列相乘得到噪声信号,最后与原信号相加得到最终通过AWGN信道的信号,至此模拟AWGN信道完成。

    (6).采样

    通过了AWGN信道的信号须得再通过与发送滤波器相匹配的滤波器,因为本实验使用的时平方根升余弦滚降滤波器,所以接收的滤波器同样采用相同的滤波器。

    通过接收滤波器的信号是经过周期放大的,所以对其采样的时候按照先前放大的周期同样对其进行间隔采样,这样是为了得到信源信号,防止得到其它信号会对最终结果造成太大误差。

    (7).判决

    因为采样的信号是通过了两次滤波器和AWGN信道的信号,其对应的大小早已不是最初的大小,所以需要对其进行判决,将其转换为需要的信号

    如果信源信号是1/-1分布,在判决时,判断当该信号>0时,该信号对应的判决信号为1;当该信号<0时,其对应的判决信号为-1。

    如果信源信号时1/0分布,在判决时,判断该信号>0.5时,其对应的判决信号为1;当该信号<-0.5时,其对应的判决信号为0。

    这样判决是因为当信源时1/-1分布时,加入的高斯噪声强度最大也只能与信号强度相同(当信噪比为0时),又因为该信源强度的绝对值为1,所以如果最终的结果大于0,说明其原本的大小一定为1。1/0分布的信源同理。

    (8).码型反转

    依据第(2)点中对信号的码型转换,对判决的信号进行反转。当信源是1/-1分布时,信号不需要码型反转可以直接使用;当信源是1/0分布时,将信号的所以-1信号转变成1就可以了。

    (9).计算误码率

    通过码型反转后的信号就是所谓的收码,误码率的公式是:

            ​​​​​​​        ​​​​​​​        

    其中ER是误码个数,L是发码的长度。将收码与发码进行比较,每遇见一个不同的脉冲便使ER+1,所有码判断完后用ER除以信源的长度L即可。

    将上述过程通过for循环进行多次,每次给予不同的信噪比,便可以得出误码率与信噪比的关系。

    1. 实验步骤

    ①.分别编辑生成信源的子程序,在主程序使用并绘制其图形,观察是否正确。

    ②.编辑码型转换的子程序和码型反转的子程序,并在上述步骤的基础上在主程序里试用,并依次绘制成图形观察码型转换的结果是否正确和码型反转的结果是否和原信号一致。成功后将其应用在步骤(1)的基础上

    ③.编辑周期扩大的子程序和采样的子程序,在步骤(1)的基础上在主程序里试验,并依次绘制成图形观察周期扩大的结果是否正确和采样的结果是否与原信号一致(注意周期扩大的倍数和采样的周期须一致)。成功后将其应用在步骤(2)的基础上。

    ④.编辑信号通过滤波器的子程序,在步骤(3)的基础上在主程序里试验,绘制图形观察分别通过发送滤波器和接收滤波器的图形是否正确,成功后将其应用上。

    ⑤.编辑添加噪声的子程序,在步骤(4)的基础上,在通过发送滤波器后的信号上试用,观察其其绘制的图形是否大体正确(当SNR减小时噪声会减少,SNR等于0时噪声最大)。

    ⑥.设置循环函数,将SNR从0开始增大至某值,循环前完成生成信源、码型转换、周期扩大等步骤,循环内进行添加噪声、通过发送滤波器、采样、判决、码型反转、计算误码率等步骤。循环结束绘制SER和SNR的图形并且与理想图形进行比较。

    图2为本实验的主程序框图

    图2 数字基带传输系统主程序框图

    1. 实验条件
    1. 信源种类的不同。本次实验尝试了两种信源,type=1时信源为1/0分布,type=2时信源为1/-1分布。
    2. 信号通过AWGN信道时信噪比的不同
    3. 是否采用滤波器
    1. 实验结果

    (1).type=1(信源为1/0分布)

    图3-1 信源、码型转换、周期扩大、hn

    图3-2 经过滤波器、添加噪声

    图3-3 采样、判决、码型反转

    当type为1时,信源为1/0分布,本实验的SER与SNR的关系以及二相相移键控 (BPSK) 调制下的误码率 (BER)与SNR的理论关系如下所示:

    图3-4 SER-SNR

    信噪比为10时,接收端采样的眼图:

    图3-5

    其星座图:

    图3-6

    因为type=1时信源1/0分布,对其进行了码型转换,所以若将采样的信号取绝对值,则其眼图为:

    图3-7 

    其星座图为:

             图3-8

    (2).type=2(信源1/-1分布)

    图4-1 信源、码型转换、周期扩大、hn

    图4-2 经过滤波器、添加噪声

    图3-3 采样、判决、码型反转

    当type为2时,信源为1/-1分布,本实验的SER与SNR的关系以及二相相移键控 (BPSK) 调制下的误码率 (BER)与SNR的理论关系如下所示:

    图4-4 SER-SNR

    信噪比为10时,接收端采样的眼图:

     图4-5

    其星座图为:

    图4-6 

    (3).不加滤波器

    信源为1/-1分布,本实验的SER与SNR的关系以及二相相移键控 (BPSK) 调制下的误码率 (BER)与SNR的理论关系如下所示:

    图5 未加滤波器 SER-SNR

    1. 实验总结

    ①.本实验说明,在AWGN信道中信号传输的误码率与信噪比有如上所示的非线性关系,大体是当信噪比降低时 误码率也随之降低,因为本实验当信噪比过大时会导致误码数不足,直接导致误码率为零,所以只做SNR从0-9的结果。

    ②.本次实验对设计了两种信源,对这两种信源都进行了尝试,发现其误码率与信噪比的结果大致相同,但当信源时1/0分布时,结果曲线在理想曲线的上方,此理想曲线为高斯白噪声在BPSK调制下误码率与信噪比的关系,对于为什么1/0分布的信源结果曲线不重合而1/-1分布的曲线结果重合,是我需要继续深入了解的知识。本次实验在此方面还有不足。

    3.通过在接收端观察采样信号的眼图和星座图,当type=1时,信源1/0分布,因为对其进行了码型转换所以传输时主要分布在1/0/-1三个点处,若对其取绝对值可发现其主要分布在1/0两点处,说明其传输质量尚可;当type=2时,信源1/-1分布,接收端主要分布在1/-1两点出,说明本系统对1/-1的信号传输质量也尚可。

    ③.本实验在没用滤波器和用了滤波器两种情况下都进行了尝试,发现用来滤波器有一定可能性造成误差。

    ④.通过实验,我对数字信号处理的知识掌握更加深刻,将平时所学应用了起来,巩固了数字信号处理的知识。

    ⑤.本次实验让我对Matlab的使用更加熟练,增强了编程能力,同时增强了我对于仿真系统框架搭建的能力。实验初期,对于整个系统的进行乱糟糟,经老师提醒后从大框架(前后匹配)开始做起,一点一点往内做,真正明白了构思对于整个编程的重要性。

    ⑥.本次实验与队友分工合作,队友在实验过程中帮助查阅资料,方便了整个系统的设计,大大节约了时间,同时与队友进行讨论也一次次的完善了整个系统,这次实验让我意识到与队友配合的重要性。

    主函数代码:

    clear ;  
    close all;  
    type=2;                                         %信源类型  
    a=0.5;                                          %滚降系数  
    L=1000000;                                       %信源长度  
      
    x=makingData(type,L);                           %信源  
    x2=AMI_Code(type,x);                            %码型转换为AMI码  
    y=extrudeMultiples(x2,20);                      %周期扩大20倍  
    hn=rcosdesign(0.6,6,4,'sqrt');                  %建立升余弦滚降滤波器%M长度为25  
    send1=filterDeal(y,hn);                         %通过发送滤波器  
      
    p=(10);  
    for i=0:9  
        get2=filterDeal(addNoise(i,send1,x),hn);    %添加噪声+经过接收滤波器  
        p(i+1)=errorRate(AMItoBinary(type,judgeCode(type,sample_AY(get2,20))),x); %采样+判决+码型反转+计算误码率  
    end  
      
    %% 以下用于绘制图形 %%  
    SNR=10;                                          %设置信噪比    
    send2=addNoise(SNR,send1,x);                     %在send1上添加噪声  
    send3=filterDeal(send2,hn);                      %通过接收滤波器  
      
    ER=0;  
    send4=sample_AY(send3,20);                       %对send3抽样  
    send5=judgeCode(type,send4);                        %判决  
    send6=AMItoBinary(type,send5);                      %码型反转  
    pp=errorRate(send6,x);  
      
    figure(1);  
    subplot(4,1,1);stem(x);axis([0 30 -1.1 1.1]);title("信源信号");  
    subplot(4,1,2);stem(x2);axis([0 30 -1.1 1.1]);title("AMI码");  
    subplot(4,1,3);stem(y);axis([0 600 -1.1 1.1]);title("周期扩大20倍后");  
    subplot(4,1,4);stem(hn);axis([0 30 -0.5 0.6]);title("根升余弦单位脉冲响应");  
      
    figure(2);  
    subplot(3,1,1);plot(send1);axis([0 600 -1.1 1.1]);title("经过发送滤波器的信号");  
    subplot(3,1,2);plot(send2);axis([0 600 -1.1 1.1]);title(sprintf("添加噪声后的信号(当前信噪比:%d)",SNR));  
    subplot(3,1,3);plot(send3);axis([0 600 -1.1 1.1]);title("经过接收滤波器的信号");  
      
    figure(3);  
    subplot(3,1,1);stem(send4);axis([0 30 -2.1 2.1]);title("抽样的信号");  
    subplot(3,1,2);stem(send5);axis([0 30 -1.1 1.1]);title("判决后的信号");  
    subplot(3,1,3);stem(send6);axis([0 30 -1.1 1.1]);title("码型反转后的信号");  
      
    figure(4);  
    m=(0:1:9);                                      %信噪比  
    j=1:10  ;   
    TBER(j) = erfc (sqrt(power(10,m(j)/10)))/2;     %理论误码率  
    semilogy(m,p,'B-V',m,TBER,'M-X');  
    grid on;  
    legend ('仿真误码率','理想误码率');  
    

    生成信源子函数makingData.m:

    function y=makingData(type,Length)  
        a = 2*rand(1,Length)-1;  
        y=(Length);  
        if type==1      %生成0 1比特流(均匀分布)  
            for i=1:Length  
                if a(i)>0  
                    y(i) = 1;  
                else  
                    y(i) = 0;  
                end  
            end  
        elseif type==2      %生成1 -1数据流  
            for i=1:Length  
                if a(i)>0  
                    y(i) = 1;  
                else  
                    y(i) = -1;  
                end  
            end  
        end  
              
    end  
    

    码型转换子函数AMI_Code.m:

    function output=AMI_Code(type,input)  
        output=zeros(1,length(input));  
        if type == 1  
            cout=1;  
            for i=1:length(input)  %转换成AMI码  
                if input(i)==1  
                    output(i)=cout;     
                    cout=-cout;   
                else  
                    output(i)=0;  
                end  
            end  
        elseif type == 2  
            output = input;  
        end  
    end  
    

    周期扩大子函数extrudeMultiples.m:

    function output=extrudeMultiples(input,multiples)  
        output=zeros(1,length(input)*multiples);  
        for i=multiples:multiples:length(input)*multiples  
            output(i)=input(i/multiples);  
        end  
    end  
    

    滤波器处理子函数filterDeal.m:

    function output=filterDeal(input,hn)  
        L=length(hn);  
        output=conv(input,hn);  
        for j=1:(L-1)/2  
            output(:,1)=[];  
        end  
        for i=1:(L-1)/2  
            output(:,length(input)+1)=[];  
        end  
    end
    

    添加噪声子函数addNoise.m:

    function signal1=addNoise(SNR,add_Noise_Signal,rigin_signal)  
        N=length(add_Noise_Signal);  
        x=randn(1,N);  
        noiseSig=(length(add_Noise_Signal));  
      
        sigPower=sum(abs(rigin_signal).^2)/length(rigin_signal)/sqrt(2);  
        noisePower=power(10,-SNR/20)*sigPower;  
    %     noisePower=power(10,(-SNR/20))/sqrt(2);  
        for i=1:N  
              
            noiseSig(i) = noisePower*x(i);  
        end  
        signal1=add_Noise_Signal+noiseSig;  
    end  
    

    采样子函数sample_AY.m:

    function output=sample_AY(input,period)  
        output=(length(input)/period);     
         for i=period:period:length(input)   %设置间隔来取出抽样值;  
            output(i/period)=input(i);  
         end  
    end 
    

    判决子函数judgeCode.m:

    function output=judgeCode(type,input)  
    output=(length(input));  
    if type == 1  
        for i=1:length(input)  
            if input(i)>0.5  
                output(i)=1;  
            elseif input(i)<-0.5  
                output(i)=-1;  
            else  
                output(i)=0;  
            end  
        end  
    elseif type == 2  
        for i=1:length(input)  
            if input(i)>0  
                output(i)=1;  
            else  
                output(i)=-1;  
            end  
        end  
    end  
    end  
    

    码型反转子函数AMItobinary.m:

    function output=AMItoBinary(type,input)  
        output=(length(input));  
        if type == 1  
            for i=1:length(input)  
               if input(i)==1  
                   output(i)=1;  
               elseif input(i)==-1  
                   output(i)=1;  
               else   
                   output(i)=0;  
               end  
            end  
        elseif type == 2  
            for i=1:length(input)  
               if input(i)==1  
                   output(i)=1;  
               elseif input(i)==-1  
                   output(i)=-1;  
               end  
            end  
        end  
    end  
    

    计算误码率子函数errorRate.m:

    function output=errorRate(intput,sample)  
        ER=0;  
        for j=1:length(intput)  
            if intput(j)~=sample(j)  
                ER=ER+1;  
            end  
        end  
        output=ER/length(sample);                %计算误码率  
    end  
    
    展开全文
  • 数字基带传输系统--matlab实现,附源码

    万次阅读 多人点赞 2020-04-21 18:42:59
    数字基带传输系统原理1. 带限信道的基带系统模型(连续域分析)2. 升余弦滚降滤波器3. 最佳基带系统二.发送滤波器设计1.滤波器的设计2. 频率抽样法设计非匹配形式的基带系统的发送滤波器(平方根升余弦滤波器)2....


    本文旨在记录自己的一次非常用心的课程作业,以及和大家分享研究成果,喜欢的别忘了点一个赞哦~~~

    一. 数字基带传输系统原理

    1. 带限信道的基带系统模型(连续域分析)

    带限信道下的基带系统模型如图 2 所示,有关信号传输过程如下:

    在这里插入图片描述

    图 1 带限信道下的基带系统模型

    信道信号形成器: 基带传输系统的输入是由终端设备或编码器产生的脉冲序列,它不一定适合直接在信道中传输。信道信号形成器的作用就是把原始基带信号变换成适合于信道传输的基带信号,这种变换主要是通过码型变换和波形变换来实现的,其目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决。

    信道: 允许基带信号通过的媒质。信道的传输特性通常不满足无失真传输条件,恒参信道如(明线、同轴电缆、对称电缆、光纤通道、无线电视距中继、卫星中继信道)对信号传输的影响主要是线形畸变;随参信道如(短波电离层反射、对流层散射信道等)对信号传输的影响主要有频率弥散现象(多径传播)、频率的选择性衰落。信道的线性噪声和加性噪声的影响。在通信系统的分析中,常常把噪声n(t)等效,集中在信道中引入。

    接收滤波器: 主要作用是滤除带外噪声,对信道特性均衡,使输出的基带波形有利于抽样判决。

    抽样判决器: 它是在传输特性不理想及噪声背景下,在由位定时脉冲控制的特殊点对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。

    2. 升余弦滚降滤波器

    升余弦滤波器的频率响应为
    在这里插入图片描述
    1.升余弦滚降滤波器本质上只是一个低通滤波器,只不过它的滚降因子(rolloff effect)会对波形的幅度产生一定影响,一般是降低了波形的幅度并且低通

    2.升余弦滚降信号用来消除码间串扰,实际实现时采用的方式是由发送端的基带成行滤波器和接收端的匹配滤波器两个环节公共实现。传输系统的传递函数二者的乘 积,所以每个环节均为平方根升余弦滚降滤波器。

    3. 最佳基带系统

    为了让发送滤波器的接受滤波器形成计为无码间干扰的基带系统,并且可以很好的抵抗加性高斯白噪声的影响,需要接收滤波器的频率特性与发送信号频谱共轭匹配。

    基带系统传输特性设计可以采用两种方式,一种是采用匹配滤波器来形成无码间干扰的系统,发送滤波器和接收滤波器对称的系统,发送滤波器和接收滤波器都是升余弦平方根特性;另一种是不采用匹配滤波器方式,升余弦滚降基带特性完全由发送滤波器实现,接收滤波器为直通系统

    二.发送滤波器设计

    1.滤波器的设计

    1. 窗函数法设计匹配形式的基带系统的发送滤波器

    (1)思路: 在命令行输入值赋值给a滚降因子,利用理想平方根升余弦滚降滤波器时域单位冲击响应hn,升余弦滚降滤波器中间点的校正再用布莱克曼窗wn进行截断,即进行卷积hn*wn,得到发送滤波器的时域表达式,作512点的快速傅里叶变换hw=fft(h,512);可以得到频域表达式,代入计算增益的表达式可以求增益.绘图时用abs函数求幅值。
    (2)程序如下:

    function h=matched(a,N,Tc);%创建匹配的发送滤波器
    n=-16:16;%n的范围
    a=input('alpha=');%在命令行输入值赋值给a
    Tc=4;
    hn=(sin((1-a)*pi*n/Tc)+4*a*n/Tc.*cos((a+1)*pi*n/Tc))./(pi*n/Tc)./(1-16*a*a*n.*n/Tc/Tc);%平方根升余弦滚降滤波器时域单位冲击响应
    
    hn(17)=1;%升余弦滚降滤波器中间点的校正
    n=0:32;
    wn=0.42-0.5.*cos(2.*pi.*n./(max(n)-1))+0.08.*cos(4.*pi.*n./(max(n)-1));
    %布拉克曼窗表达式
    h=hn.*wn;%加窗后的升余弦滚降滤波器
    nh=0:33;
    hw=fft(h,512);%频率特性
    plot(abs(hw));
    g=max(hw);
    H=max(abs(hw)); 
    

    在这里插入图片描述

    流程图 1 窗函数法设计滤波器

    (3)输出图像

    Alpha=0.2
    在这里插入图片描述
    在这里插入图片描述
    图 2 窗函数法设计发送滤波器

    2. 频率抽样法设计非匹配形式的基带系统的发送滤波器(平方根升余弦滤波器)

    (1)**思路:**先写子函数f_sampling(N,Tc,fs),给K和N取值范围,对频率f进行抽样,再在主函数里对其调用[hn,Hf,f]=f_sampling(33,4,1)。设计零值序列Hf=zeros(1,N),用if对Hf进行分段赋值。若abs(f(i))<=f1则赋值Tc给Hf(i),若(abs(f(i))<=f2)则令若都不是,则 Hf(i)=0再对Hf进行DFS变换得到频率响应。最后在主函数中调用子函数,输出相关图像。
    (2)程序如下:

    %子函数
    function [hn,Hf,f]=f_sampling(N,Tc,fs)
    alpha=0.4;
    K=[-(N-1)/2:(N-1)/2];
    n=[-(N-1)/2:(N-1)/2]; 
    f=K*fs/N;%频率抽样
    f1=(1-alpha)/(2*Tc);
    f2=(1+alpha)/(2*Tc);
    Hf=zeros(1,N);  %升余弦滚降滤波器频率响应抽样函数
    for i=1:N
        if(abs(f(i))<=f1)
                Hf(i)=Tc;
        elseif(abs(f(i))<=f2)                
                Hf(i)=Tc/2*(1+cos(pi*Tc/alpha*(abs(f(i))-(1-alpha)/(2*Tc))));
        else Hf(i)=0;    
        end;
    end;
    
    hn=1/N*Hf*exp(j*2*pi/N*K'*n);%进行DFS,周期序列的傅里叶级数
    %主函数
    function [hn]=f_samp_um(N,Tc,fs)
    alpha=input('alpha=');  %输入不同的alpha值
    [hn,Hf,f]=f_sampling(33,4,1);
    [Hw,w]=freqz(hn);%求离散系统频响特性
    H=max(abs(Hw));%幅频的最大值 
    

    在这里插入图片描述
    流程图 2 频率抽样法设计发送滤波器

    (3)相关图像

    Alpha=0.2
    在这里插入图片描述
    在这里插入图片描述 在这里插入图片描述图 3 频率抽样法设计发送滤波器

    1. 滤波器函数的文件格式存储
      思路: 用fopen,fwrite,fread函数进行操作,采取不同的操作符w表写,r表读

    截图:使用二进制形式生成.bin
    在这里插入图片描述
    在这里插入图片描述图4 生成.bin生成.txt文件 图5

    生成.txt
    在这里插入图片描述
    在这里插入图片描述

    2.问题

    (1)滤波器的群延时是多少

    τ= (N-1)/2 = (33-1)/2 = 16

    (2)改变滤波器的滚降系数,滤波器的第一零点带宽和第一旁瓣衰减指标有何变化?列表说明。

    在这里插入图片描述

    表1 窗函数法
    在这里插入图片描述
    表2 频率抽样法

    (3)根据 1)2),改变滚降系数,从时域和频域进行对比分析,总结两种发送滤波器的特点

    窗函数滤波器: 随着滚降因子不断增加,第一零点带宽并不成正比变化且变化幅度很小,阻带最小衰减减小,幅频特性中阻带变得更加平坦。时域图像幅度减小,窗函数滤波器有原有公式可以参考,且随滚降因子变化。

    频率滤波器: 随着滚降因子不断增加,第一零点带宽增加,阻带最小衰减增加,时域和频域变化不特别明显,有增大。所以频率滤波器设计简单,但是随滚降因子变化小。

    三.基带系统软件设计

    1.设计思路

    1.(根据数字基带系统的框图编写子程序,在按照要求进行调用)

    (1)调用random函数生成长度为L的,范围为0到1的序列,再以0.5为界判0或1;
    (2) 令A为一个周期内的抽样点数,L为信号长度,X1为前一步生成的0-1序列,在X1的序列的每个码元中间插入A-1零点,使得得到的X2序列每个码元间隔为A,即生成信源序;
    (3)信源卷积发送滤波器,即将X2序列与发送滤波器相卷积,得到的X3为在信道中传输的序列;
    (4)白噪声为随机序列,可用random生成,且功率为N0,由此得到高斯白噪声;
    (5)白噪声与信号相加后通过接收滤波器,re是通过的信号;
    (6)将码间间隔为A的0-1序列恢复成间隔为1的序列;
    (7)对得到的序列进行判决,大于0.5判1,小于判0;
    (8)画出眼图;
    (9)将判决后的序列与发送的序列比较得到误码率
    2.(根据题目要求按照顺序对子函数进行调用)

    2.子函数编写

    1.二进制信源生成

    函数名:function[x1]=random(L) m=rand(1,L);

    思路:调用rand函数生成产生1行L列的随机序列,范围为0到1的序列,再以0.5为界判-1或1; 再用x1=zeros(1,L)生成一个0序列。通过if判断随机序列若小于0.5则x1(i)=-1,否则x1(i)=1;

    程序如下:

    function[x1]=random(L) m=rand(1,L);
    x1=zeros(1,L);  
    for i=1:L     
    if m(i)<0.5x1(i)=-1;   
    else  x1(i)=1
    

    2.发送信号生成

    函数名:function [x2]=source(L,A,x1)x2=zeros(1,A*L);

    思路:在二进制信源序列中插入零点,间隔为A,生成发送信

    程序如下:

    function [x2]=source(L,A,x1)x2=zeros(1,A*L);
    for i=1:L   
    x2(A*(i-1)+1)=x1(i);   %在二进制信源序列中插入零点,间隔为A,生成发送信号
    

    3.发送滤波器器输出信号生成和计算每比特平均能量

    函数名:function [x3]=send(hn,x2,L,A,N) x3=conv(x2,hn);

    思路:将发送信号和方式滤波器通过conv函数卷积,并且截去因为卷积增加的点

    程序如下:

    function [x3]=send(hn,x2,L,A,N) x3=conv(x2,hn);     %发送信号与发送滤波器卷积
    x3=x3((N+1)/2:(N+1)/2-1+L*A);    %截去由于卷积新增的(N-1)个点
    

    4.给定信噪比SNR(dB),计算高斯噪声标准方差,并生成高斯噪声序列

    函数名:function [noi]=noise(SNR,L,A,x3)

    思路:先赋值Eb为0,再通过for循环逐个,将每个比特由abs求得幅值,对其取平方,叠加得总能量,最后除以最点数求得平均能量。由sqrt求得标准差,和返回1*(A*L)的随机矩阵的randn相乘,得到高斯噪声序列。再产生

    程序如下:

    function [noi]=noise(SNR,L,A,x3)Eb=0;
    for i=1:A*L
          Eb=Eb+(abs(x3(i)))^2;
          Eb=Eb/L;
         
    sigma=sqrt(N0/2);      
    noi=0+sigma*randn(1,A*L);   
    

    5.AWGN信道输出子函数和接收滤波器输出信号生成

    函数名:function [x4]=receive(x3,noi,hn,N,L,A)

    思路:将发送滤波器输出信号和噪声序列相加,再和接受滤波器通过conv卷积,最后还要截去多余的N-1个点

    程序如下:

    function[x4]=receive(x3,noi,hn,N,L,A)re=noi+x3;       
    x4=conv(re,hn);
    x4=x4((N+1)/2:(N+1)/2-1+L*A);  
    

    6. 抽样

    函数名:function [x5]=sample(L,A,x4)x5=zeros(1,L);

    思路:先产生一个zeros(1,L)的1行L列的零序列x5,再将接受滤波器输出序列x4每隔A进行抽样,对每个x4(i)乘以A赋给 x5(i),则得到一组L个序列。

    程序如下:

    function [x5]=sample(L,A,x4)x5=zeros(1,L);
    for i=1:L
       x5(i)=real(x4((i-1)*A+1)); 
    

    7.抽样判决点信号生成

    函数名:先产生一个zeros(1,L)的1行L列的零序列x6,再通过for循环对每个x5的元素进行判决,如果大于0.5则判决x6(i)=1,否则判决x6(i)为-1

    思路:

    程序如下:

    function [x6]=judge(L,x5)x6=zeros(1,L);
        for i=1:L 
            if x5(i)>0.5
                x6(i)=1;
             else x6(i)=-1;end;end;
    

    8.眼图

    函数名:function [x7]=eyepattern(A,L,x4)x7=0;

    思路:进行双层循环,通过i的循环,再通过j的循环,每隔一定数量的码元截取一段,将信号进行截断和叠加,最后直接在原函数中输出眼图,而且使用hold on;将每次的图形进行叠加。

    程序如下:

    function [x7]=eyepattern(A,L,x4)x7=0;
    
    for i=1:(8*A):(A*L)
    for j=1:(8*A)
            x7(j)=x4(i+j-1);
    
    figure(2); plot(x7,'k');title('眼图');hold on;
    

    9.误比特率计算子函数

    函数名:function [Pe]=errorrate(L,x1,x6)

    思路:通过for循环,依次判断得到的信号和原信号是否相等,如果不相等则累加一,最后将误码数除以总数得到误码率。通过sprintf函数在命令窗口输出误码率。

    程序如下:

     function [Pe]=errorrate(L,x1,x6)
       BE=0;
       for i=1:L
       if x1(i)~=x6(i)
                   BE=BE+1;
        Pe=BE/L;
    sprintf('误码率: ',Pe*100)
    

    10.星座图

    函数名:function [x8,x9]=stars(L,x5,x1)

    思路:先赋值 j = 1;k = 1,通过for循环依次判断,将在原信号为1时对应的接收信号放入x8序列,对j累加,该序列应该在1处分布。将在原信号为-1时对应的接收信号放入x9序列,对k累加,该序列应该在-1处分布。使用plot函数一次性对图像输出,将横坐标为x8,纵坐标为长度为length(x8)的零序列,颜色为红色,同理可以得到x9的星座图。

    程序如下:

    function [x8,x9]=stars(L,x5,x1) 
    j = 1;k = 1;
       for i=1:L
         if x1(i) == 1     
                x8(j)=x5(i);      
                    j = j+1; else
                x9(k)=x5(i);       
                    k = k+1;
    plot(x8,zeros(1,length(x8)),'.b',x9,zeros(1,length(x9)),'.r');
    %或者plot(x8,zeros(1,length(x8)),'.b');hold on;plot(x9,zeros(1,length(x9)),'.r');
    end
    

    四.基带系统仿真与性能测试

    1.系统主函数设计思路

    主要思路如下,若系统采用匹配滤波器则将滤波器换作matched函数,如果需要噪声在接受滤波器之前加入即可。最后根据每个题的情况设置不同的参数。
    在这里插入图片描述

    流程图 3 基带系统仿真

    2.仿真与测试

    1.假设加性噪声不存在,传输比特速率是Rb =1/Tc的240个二进制比特,比特间隔为Tb =4T,基带系统采用非匹配滤波器,画出接受滤波器的输出信号波形和眼图,并判断有无码间干扰。误码率:7.92%
    在这里插入图片描述在这里插入图片描述
    图 4 基带系统仿真误码率由命令窗口给出为7.92%,得到传输信号,观察眼图可知正常张开所以没有码间干扰。

    1. 假设加性噪声不存在,传输 240 个二进制比特,基带系统不采用匹配滤波器,比特间隔为Tb=3T,Tb=5T,Tb=8T,画出接收滤波器的输出信号波形和眼图,判断有无码间干扰。从理论方面解释实验现象。抽样后进行判决,计算误比特率。
      在这里插入图片描述在这里插入图片描述

    表3 眼图分析

    总结: 由于设计为理想系统,故可以达到0误码率,但是在现实中很难存在。还可知4T和8T时没有码间干扰,但是3T和5T则有码间干扰,说明比特间隔为无码间干扰整数倍的情况下,输出依旧无码间干扰,否则有码间干扰,并且眼图睁眼不大。

    1. 传输240个二进制比特,比特速率Rb =1/Tc,信噪比分别取1dB, 5dB,10dB,20dB,时,基带系统分别为匹配滤波器形式和非匹配滤波器形式、滚降系数为 0.35,得到相应的恢复数字信息序列。
      在这里插入图片描述
      在这里插入图片描述

    由图知,
    (1)信噪比越大,误码率越小,星座图越集中,传输质量也就越高;
    (2) 眼图眼睛张开越大信息传输质量越高;
    (3) 采用匹配滤波器的误码率比采用非匹配的小,且数据更集中

    五.总结

    1.问题

    1. 信源不能直接由random得到,原因是每个信号间应该有A=4的码元间隔,因此应该插入三个零点,同理,在接收端判决前,应该去掉加上的三个零点。
      在这里插入图片描述在这里插入图片描述
      图9 发送信号前后对比

    2. 在通过发送滤波器后,由于进行了卷积,点数变为240*4+33=993个点,故应去掉多余的33个点,通过接收滤波器同理。
      在这里插入图片描述在这里插入图片描述
      图10 滤波器前后对比

    3. 设置星座图时刚开始使用scatterplot函数,但是无法将信号分为两组数据.之后重新构造 function [x8,x9]=stars(L,x5,x1),将原信号为1时对应的接收信号组成一个序列,将原信号为-1时对应的接收信号组成一个序列,然后使用以下语句,在一个图里输出星座图
      plot(x8,zeros(1,length(x8)),’.b’,x9,zeros(1,length(x9)),’.r’);
      在这里插入图片描述在这里插入图片描述
      图11 星座图前后对比

    2.对于理论的理解

    这次试验中,通过查阅通信原理以及数字信号处理,参考网上的资料,让我系统的复习了上学期所学的通信原理,并对数字基带传输系统有了更充分的认识,使我更加孰料的掌握了matlab的使用。

    我也更深刻地明白了在数字传输系统中所传输的通常是二元数字信号。设计数字传输系统要考虑的基本想法是选择一组有限个离散的波形来表示数字信息。这些离散波形可以是载波进行调制后的波形,也可以是不经过调制的不同电平信号。来自数据终端的原始数据信号,或者是来自模拟信号经数字化处理后的PCM码组,ΔM序列等等都是基带数字信号。 这些信号往往包含丰富的低频分量。有些场合可以不经过载波调制和解调过程而直接传输,称为基带传输。

    系统基带波形被脉冲变换器变换成适应信道传输的码型后,就送入信道,一方面受到信道特性的影响,使信号产生畸变;另一方面信号被信道中的加性噪声所叠加,造成信号的随即畸变。因此,在接收端必须有一个接收滤波器,使噪声尽可能受到抑制,为了提高系统的可靠性,在安排一个有限整形器和抽样判决器组成的识别电路,进一步排除噪声干扰和提取有用信号。对于抽样判决,必须有同步信号提取电路。在基带传输中,主要采用位同步。同步信号的提取方式采用自同步方式(直接法)。同步系统性能的好坏将直接影响通信质量的好坏,甚至会影响通信能否正常进行。

    3.感悟

    1、 这次实验工作量比较大,而且很多matlab函数不熟悉,经过各种查资料、请教同学,才最终完成。遇到的最大困难是编程有错误还老是查不出来,以后要多熟悉熟悉matlab函数,减少在编程上的困难。这次实验收获良多,学会了不少东西,相信下次实验会轻松不少。

    2、这次实验开始总是仿真不到需要的图形,理论和仿真差距很大。后来通过交流,修改了程序,改变一些变量,才最终仿真出一些比较满意的结果。

    3、最大的收获是一定要冷静,保持平常心,尤其是在调试程序时,要稳重,忌焦忌燥,否则会越来越麻烦。

    都看到这里了不如点个赞哦~

    在这里插入图片描述

    亲爱的朋友,这里是我新成立的公众号,欢迎关注!
    本博客的优秀博文也将陆续搬运到公众号,之后还将推出更多优秀博文,并将优先发在公众号,敬请期待!
    关注起来,让我们一起成长!

    在这里插入图片描述

    展开全文
  • 数字基带传输系统matlab仿真姓名:范浩如 学号:107551400879 数字通信作业:二进制调制最佳接收机的matlab仿真第一章 基础理论知识第一节 知识框架图数字基带信号传输模型第一步:对原始数字序列进行调制典型的调制...
  • 通信笔记——数字基带传输系统

    千次阅读 2020-11-07 18:24:10
    数字基带传输系统:信号不经调制直接在系统中传输。来自数据终端的原始数据信号,这些信号往往含有丰富的低频分量,甚至直流分量,因此称为数字基带信号。在某些具有低通特性的有线信道中,特别是传输距离不太远的...
  • 湘潭大学通信原理 实验报告书 课程名称通信原理 实验一数字基带传输系统的MATLAB仿真 实验二模拟信号幅度调制仿真实验 学生姓名 学 号 班 级 指导教师王仕果 2012年 12 月 实验一 数字基带传输系统的MATLAB仿真 一 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,895
精华内容 3,558
关键字:

数字基带传输系统

友情链接: DML test.zip