文档库 最新最全的文档下载
当前位置:文档库 › 基于MATLAB的高斯白噪声信道分析报告

基于MATLAB的高斯白噪声信道分析报告

基于MATLAB的高斯白噪声信道分析报告
基于MATLAB的高斯白噪声信道分析报告

基于matlab高斯白噪声信道分析系统的设计

××

(陕西理工学院物理与电信工程学院通信工程专业1202班,陕西汉中 723003)

指导教师:吴燕

[摘要] MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。本文在matlab的环境下构建了BFSK在高斯白噪声信道中传输的系统模型,通过simulink程序仿真,研究系统的误码率与信道质量的关系,找到在高斯白噪声信道上传输的最大信噪比及所需发射功率和调制频率,从而得出该系统在高斯白噪声信道中的最佳传输性能。

[关键词] MATLAB;高斯白噪声;信道分析;simulink仿真

Design and production of the Gauss white noise channel analysis system based on MATLAB

××

(Grade 2012,Class 2,Major of Communication Engineering,School of Physics and Telecommunication Engineering of Shaanxi University of Technology,Hanzhong 723003,Shaanxi)

Tutor: Wu Yan

Abstract: MATLAB is a high-level technical computing language and interactive environment for the development of algorithms, data visualization, data analysis and numerical calculation. This article in the matlab environment build BFSK in AWGN channel model simulation,by running simulation the program on the system of quality of error rate and channel relationships,found in AWGN channel transport of maximum signal-to-noise ratio and the desired transmitter power.

Key words:MA TLAB; Gauss white noise; channel analysis; Simulink simulation

目录

1.绪论 .................................... 错误!未定义书签。

1.1课程研究背景 ............................ 错误!未定义书签。

1.2课程研究目的及意义....................... 错误!未定义书签。

2.MATLAB和SIMULINK的相关介绍 (1)

2.1MATLAB介绍 (1)

2.1.1MATLAB的功能及特点................... 错误!未定义书签。

2.1.2MATLAB应用........................... 错误!未定义书签。

2.1.3学习MATLAB应掌握的基本知识 (3)

2.2SIMULINK简介 (3)

2.2.1SIMULINK的特点....................... 错误!未定义书签。

2.2.2SIMULINK的功能....................... 错误!未定义书签。

3.高斯白噪声 (4)

3.1高斯白噪声的基本概念 (4)

3.2高斯白噪声的数学模型 (4)

3.3高斯白噪声产生及仿真 (4)

4.加性高斯白噪声 (7)

4.1加性高斯白噪声的概念 (8)

4.2BFSK信号的传输性能建模与仿真 (8)

5.仿真程序 (10)

5.1AWGN加性高斯白噪声产生程序.............. 错误!未定义书签。

5.2信噪比与误比特率关系程序................. 错误!未定义书签。结论: . (11)

致谢 (12)

参考文献 (13)

1.绪论

1.1 课程研究背景

本次课程设计的课题是“基于MATLAB/SIMULINK的高斯白噪声信道的设计与仿真”。信道是传送信息的物理性通道,可分为有线信道和无线信道两类,本次课程设计主要研究无线信道。有线信道包括明线、对称电缆、同轴电缆及光缆等。无线信道有地波传播、短波电离层反射、超短波或微波视距中继、人造卫星中继以及各种散射信道等。如果我们把信道的范围扩大,它还可以包括有关的变换装置,比如:发送设备、接收设备、馈线与天线、调制器、解调器等,我们称这种扩大的信道为广义信道,而称前者为狭义信道。

信息是抽象的,但传送信息必须通过具体的媒质。例如二人对话,靠声波通过二人间的空气来传送,因而二人间的空气部分就是信道。邮政通信的信道是指运载工具及其经过的设施。无线电话的信道就是电波传播所通过的空间,有线电话的信道是电缆。每条信道都有特定的信源和信宿。在多路通信,例如载波电话中,一个电话机作为发出信息的信源,另一个是接收信息的信宿,它们之间的设施就是一条信道,这时传输用的电缆可以为许多条信道所共用。在理论研究中,一条信道往往被分成信道编码器、信道本身和信道译码器。人们可以变更编码器、译码器以获得最佳的通信效果,因此编码器、译码器往往是指易于变动和便于设计的部分,而信道就指那些比较固定的部分。但这种划分或多或少是随意的,可按具体情况规定。例如调制解调器和纠错编译码设备一般被认为是属于信道编码器、译码器的,但有时把含有调制解调器的信道称为调制信道;含有纠错编码器、译码器的信道称为编码信道。根据信道中其主要作用的噪声的特点,信道可以分为加性高斯白噪声(AWGN)信道、瑞利(Rayleigh)信道、莱斯(Rician)信道、突发干扰信道以及二进制平衡信道(BSC)等。此次通信原理课程设计主要针对高斯白噪声信道。

在数字信号载波传输系统中,由于信道噪声的存在会造成误码。在研究通信系统的误码率与信道质量的关系时,最简单的数学模型是加性宽带高斯白噪声信道,该性道模型在通信系统的分析与设计中是一主要的信道模型。本文在MATLAB的环境下,仿真了BFSK(2FSK)信号在加性宽带高斯白噪声信道传输过程,研究了系统的误码率与信道质量的关系,找到加性宽带高斯白噪声信道中传输的最大信噪比及所需发射功率和调制频率,从而得出该系统在高斯白噪声信道中的最佳传输性能。为中、低速数据传输,以及衰落信道和频带较宽的信道应用提供了理论根据。

1.2课程研究目的及意义

在MATLAB的环境下构建了BFSK在高斯白噪声信道中传输的系统模型,通过运行程序仿真,研究系统的误码率与信道质量的关系,找到在高斯白噪声信道上传输的最大信噪比及所需发射功率和调制频率,从而得出该系统在高斯白噪声信道中的最佳传输性能。

而且通过此次实践,巩固了所学的专业技术知识问题的能力,培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力,培养初步的设计能力,通过课程实践,了解并掌握通信系统的一般设计方法,训练并提高学生在理论计算、结构设计、工程绘图、查阅资料的能力,更好的将理论与实践相结合,提高综合运用所学理论知识分析和解决问题的能力,并且掌握Simulink 的操作方法。

2.Matlab和Simulink的相关介绍

2.1 Matlab介绍

Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如

C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

Matlab集成环境下的Simulink:MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制和优化等功能。MATLAB语言采用与数字表达相同的形式,不需要传统的程序设计语言,由于MATLAB

的这些特性,它已成为科研工作和工程仿真中的高效助手。

2.1.1Matlab的功能及特点

Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

(1)简单易用

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB 能够深入到科学研究及工程计算各个领域的重要原因。

(2)强处理能力

MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

(3)图形处理

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

(4)程序接口

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB 的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

(5)应用软件开发

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

2.1.2 MATLAB应用

(1)MATLAB 产品族可以用来进行以下各种工作

数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术

(2)MATLAB在通讯系统设计与仿真的应用

通讯系统设计与仿真、财务与金融工程、管理与调度优化计算(运筹学)。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

(3)常用工具箱

MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

2.1.3学习Matlab应掌握的基本知识

Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似。学习Matlab 需要掌握的基本知识:(1)基本程序元素:变量、特殊值、关键字、运算符;(2)数据类型:数值型、逻辑性、字符数组、结构数组、单元数组、函数句柄、日期与时间;(3)矩阵操作:创建矩阵、连接矩阵、重塑矩阵形状、矩阵元素移位和排序、向量(数集)操作;(4)程序设计:函数参数、循环结构、条件分支结构、try...catch结构、continue、break和return、其他常用函数。

2.2 Simulink简介

Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方

软件和硬件可应用于或被要求应用于Simulink。

2.2.1 Simulink的特点

丰富的可扩充的预定义模块库;交互式的图形编辑器来组合和管理直观的模块图;以设计功能的层次性来分割模型,实现对复杂设计的管理;通过一些Model Explorer导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码;提供API用于与其他仿真程序的连接或与手写代码集成;图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为;可访问Matlab从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据;模型分析和诊断工具来保证模型的一致性,确定模型中的错误;Embedded Matlab模块在Simulink和嵌入式系统执行中调用Matlab算法;使用定步长或变步长运行仿真,根据仿真模型(Normal ,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型。

2.2.2 Simulink的功能

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。构架在Simulink基础之上的其他产品扩展了Simulink 多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

3.高斯白噪声

3.1高斯白噪声的基本概念

高斯白噪声中“白”指功率谱恒定;高斯指幅度取各种值时的概率p(x)是高斯函数。白噪声是指功率谱密度在整个频域内均匀分布的噪声,即其功率谱密度为常数。功率谱密度恒定的话,自相关系数则是功率谱密度的反变换,高斯白噪声的自相关系数为无延时的冲击函数,则在时间差不等于零的时候,自相关等于0,也就是不同时间的高斯白噪声的幅度是不相关的。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。热噪声和散粒噪声是高斯白噪声。

3.2 高斯白噪声的数学模型

对于高斯随机过程的概率密度分布,首先建立数学模型,然后编程用MATLAB软件进行仿真。高斯白噪声信道的数学模型在通信系统中噪声是一个随机过程,很难通过简单的计算方式预测某个时刻噪声信号的强度,故从概率论的角度去分析噪声.白噪声存在于整个频谱范围内,所以在任何的信道内都存在高斯白噪声.

对于一维的高斯随机变量x,如果它的均值为μ,方差等于σ2,则随机变量取值为x的概率P(x)。

3.3高斯白噪声产生及仿真

Matlab有两个函数可以产生高斯白噪声,wgn( )和awgn( )。

3.3.1 WGN:产生高斯白噪声

y = wgn(m,n,p)

y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。

y = wgn(m,n,p,imp)

y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。

y = wgn(m,n,p,imp,state)

y = wgn(m,n,p,imp,state) 重置RANDN的状态。

在数值变量后还可附加一些标志性参数:

y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或'linear',线性强度(linear power)以瓦特(Watt)为单位。

y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或'complex'。

3.3.2 AWGN:在某一信号中加入高斯白噪声

y = awgn(x,SNR)

y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。

y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。

y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。

y = awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。

注释 1. 分贝(decibel,dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10); 2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值;3. dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW 。

3.3.3 仿真结果如图3.1所示:

图3.1 高斯白噪声的仿真结果

3.3.4 系统的仿真设计模块如图3.2所示:

图3.2 系统仿真设计模块

仿真结果分析:

在BFSK 系统中,发送端产生的数据通过信源编码和信号调制转化成调制信号,然后进入信道,由于噪声表现为一种随机过程,因此关于噪声的各种参数都是一种统计平均值。

程序运行结果如图3.3所示:

图3.3 高斯白噪声信道下误码率与信噪比曲线

从BFSK仿真结果图可以看出,当信噪比为 0dB 时,误比特率最高,当信噪比达到 14dB 时误比特率低于0. 001。既在加性高斯白噪声 ( AWNG) 信道中,BFSK 调制信号的误比特率随着信噪比的增加而降低。确定高斯白噪声的功率,要确定信噪比 E b/N0、输入信号功率以及信号周期。当 Mode 设置为 Signal to noise ( SNR) 时,加性高斯白噪声信道模块根据信噪比SNR 确定高斯白噪声的功率,同时确定参数 SNR 以及周期。所以我们实验过程中要以提高发射功率来换取误码率的降低。

下图为各模块的参数设置:

图3.4 随机整数产生器图 3.5 BFSK基带调制信号

图3.5 误码率计算器图3.6 选择器

4.加性高斯白噪声

4.1 加性高斯白噪声的概念

在通信传输系统中,发送的数字基带信号与随机噪声过程是相加的,此类噪声的统计特性是高斯噪声过程,因此该信道的数学模型称为加性高斯信道,由于其功率谱密度在信号传输带宽内基本是平坦的,所以又称此信道为加性高斯白噪声。加性高斯白噪声信道模块的作用就是在输入信号中加入高斯白噪声。一般情况下,噪声功率越大,信号的波动幅度就越大,接收端接收到的信号的误比特率就越高。信噪比决定了信号传输的质量,信噪比与信道的误码率一般是成反比的。而且加性高斯白噪声是最基本的噪声与干扰模型。加性噪声:叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。高斯分布又名正态分布,是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。若随机变量X服从一个数学期望为μ、方差为σ^2的高斯分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。我们通常所说的标准正态分布是μ = 0,σ = 1的正态分布。

信道是信号的传输媒质,在加性宽带高斯白噪声干扰下,对数字基带信号的接收,有两种解调方案: 一是采用低通滤波器,此滤波器用以限制信道所引入的噪声,让所传输的基带信号波形基本上不失真地通过,然后再进行抽样、判决、输出数据; 第二种解调方案是接收滤波器采用与发送信号相匹配的匹配滤波器,以获得在抽样时刻的最大信噪比,使接收系统的误码率最小。所以,我们采用第二种解调方案,研究BFSK在加性高斯白噪声信道中的传输性能。

4.2 BFSK 信号在加性宽带高斯白噪声信道中的传输性能建模与仿真

在 MATLAB 中用 Simulink 构建系统模型,高斯白噪声信道是通信传输系统中分析抗干扰性常用的抗干扰模型,本文在 MATLAB 环境平台下用 Simulink 构建一个 BFSK 的调制系统模型,研究该系统模型在高斯白噪声信道中的传输特性,而且BFSK信号在不同信道下的性能仿真在了解了信道的特点后,再对信号通过信道后的误比特率进行仿真分析,用MATLAB中自带的Simulink模块,对BFSK 在信道中的性能进行仿真分析。

通信系统一般由三部分组成,即信源、信道和信宿。信源是通信系统的起点,它产生数据并且对这些数据进行编码和调制,产生适合于信道传输的调制信号;信道是数据信号的传输载体,发送端产生的数据通过信源编码和信号调制转化成调制信号,然后进入信道。这些调制信号通过信道到达接收端,在接收端通过与发送端相反的过程得到原始数据。信宿则是通信系统的终点,它从信道中接收信号,通过调制和解调得到信源端产生的原始数据。信源、信道和信宿是通信系统中必不可少的三部分。对此,Simulink提供了众多模块。首先介绍部分信源模块、信道模块及作为信宿的几种常见信号观察设备模块:

(1)Source(信源模块):

由随机信号产生器(RandomIntegerGenerator)产生的数据,一方面作为信源模块的输出信号,另一方面进入BFSK(Binary Frequency Shift Keying)、基带调制器(M2FSKModulatorBase2band)模块,对数进行BFSK调制。

(2)Channel(信道模块):

就是一个AWGNChannel(加性高斯白噪声产生器),它将噪声叠加到信源模块产生的BFSK调制信号中.注意:Initial seed:加性高斯白噪声信道模块的初始化种子。

Mode:模式设定。

Eb/No(dB):加性高斯白噪声信道模块的信噪比Eb/No,单位为dB。

ES/No(dB):加性高斯白噪声信道模块的信噪比ES/No,单位为dB。

SNR(dB):加性高斯白噪声信道模块的信噪比SNR,单位为dB。

umber of bits per symbol:加性高斯白噪声信道模块每个输出字符的比特数。

Input signal power(watts):加性高斯白噪声信道模块输入信号的平均功率,单位为瓦特。

Symbol period(s):加性高斯白噪声信道模块每个输入符号的周期,单位为秒。

Variance:加性高斯白噪声信道模块产生的高斯白噪声信号的方差。

(3)Sink(信宿模块):

基带调制器对接收信号进行解调,然后通过误码率计算器( Err or Rate Calculati on)计算误比特率.误码率计算器产生的是一个三维向量,分别表示误码率、误码个数以及信号总数.因此通过一个选择器(Select or)选择向量的第一个元素作为输出信号,将这个输出信号送入工作区(To Works pace)模块,并且保存为变量误比特率.

注意误码率计算器模块的参数设置方法:

Receive delay:接收端时延设定项。

Computation delay:计算时延设定项。

Computation mode:计算模式项。

Selected samples from frame:掩码设定项。

Output data:设定数据输出方式,有Workspace和Port两种方式。Workspace是将统计数据输出到Matlab工作区。Port时将统计数据从端口中输出。

Variable name:指定用于保存统计数据的工作空间变量的名称,本项只有在“Output data”设定为Workspace时有效。

Reset port:复位端口项。

Stop simulation:仿真停止项。

Target number of symbols:错误门限项。

Maximum number of symbols:比较门限项。

其系统结构框图如图4.1 所示:

图4.1 系统结构框图

5.仿真程序

5.1 AWGN加性高斯白噪声产生程序

程序如下:

clear,clc;

N=0:1000;

fs=1024;

t=N./fs;

y=3*sin(2*pi*t);

x=wgn(1,1001,2);

i=y+x;

% i=awgn(y,2);

subplot(3,1,1),plot(x);

subplot(3,1,2),plot(y);

subplot(3,1,3),plot(i);

5.2 信噪比与误比特率关系程序

x=0:15;

y=x;

FrequencySeparation=24000;

BitRate=10000;

SamplesPerSymbol=2;

Velocity=40;

LightSpeed=3*10^8;

Frequency=825*10^6;

WaveLength=LightSpeed/Frequency; Fd=Velocity*10^3/3600/WaveLength; hold off;

for i=1:length(x);

SNR=x(i);

Sim('untitled3');

y(i)=mean(BitErrorRate);

end

Semilogy(x,y);

hold on;

结论:

本次课程设计是在Matlab环境平台上构建了高斯白噪声信道中的BFSK信号传输系统模型,编写了与系统模型运行相匹配的脚本程序,通过多次运行程序并调试,得出系统仿真结果并对仿真结果分析,找到了在这种信道上传输如何获得最大信噪比和所需的发射功率和调制频率,得出了BFSK在高斯白噪声信道中的最佳传输性能,确定出系统正常通信要求下误比特率和输出信噪比所需的最佳输入信噪比。

而且通过此次课程设计,我充分体会到了熟练运用相关软件的重要性,同时学到了许多东西,如MATLAB/Simulink仿真系统初步的设计方法,也认识到自己存在许多不足以及同学的沟通配合的重要性,做实验的时候我们收集了很多资料,增强了自己对通信原理知识的理解通过课程设计,我得到了很大的收获:通过对程序的设计,我进一步熟悉了MATLAB开发环境,对MATLAB的一些具体操作和应用有了更深入的了解。同时,这次设计使我对数字信号处理和通信原理课本上学到的知识点有了更深入的理解和掌握。比如对信号的调制和解调过程有了更深层的理解,学会了如何使用MATLAB 对信号进行仿真。

致谢:

在此要感谢我们的指导老师对我们悉心的指导与帮助。在设计过程中,我通过查阅有关资料,与同学交流经验和自学等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。感谢我的小伙伴们!在实践中我懂得了许多东西,既培养了我独立工作的能力,也让我懂得了团队之间合作的重要性,一个人的力量再大,他也需要合作展现自己的价值,而与他人合作可以取其长补其短,在为了同一个目标共同努力的过程是最可贵的,相信会对今后的学习工作生活有非常重要的影响,而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

希望今后,也能传承这次课设的精神,充分发挥此次课设的价值,认真提炼课设带给我们的精神,使得我们在通信这条路上,继续坚定不移的走下去!

致谢人:××

2015年11月20日

参考文献

[1]邓华.MATLAB通信仿真及其应用实例详解[M].人民邮电出版社.2003年

[2]郑智琴.Simulink电子通信仿真与应用[M].国防工业出版社.2002年

[3]赵鸿图.通信原理MATLAB仿真教程[M].人民邮电出版社.2010年

[4]刘学勇.详解MATLAB/Simulink通信系统建模与仿真[M].电子工业出版社.2011年

[5]达新宇.通信原理实验与课程设计[M].北京邮电大学出版社.2005年

[6]邵玉斌.MATLAB/Simulink通信系统建模与仿真实例分析[M].清华大学出版社.2008年

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力D随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理o并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论z (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码:码率:约束长度:回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding.An d it has a strong ability to correct e盯ors. As correcting coding theory has a long development,the practice of convolution code is more and more extensive.In由1S由esis,the principle of convolution coding and decoding is introduced simply白rstly. Then由e whole simulation module process of encoding,decoding and the Error Rate Calculation is completed in由is design. Finally,in order to understand 由eir performances of error rate,many changes in parameters of convolution code are calculated in the simulation process.Af ter simulation and me皿UTe,an analysis of test results is presented.Th e following由ree conclusions are draw: (l)Wh en the rate of convolution Code ch皿ges,HER performance of the systemwill change. (2) For a certain rate of convolution code,when由ere is a change in the constraint length of N,BER perfonnance of由e system will change. (3) Re位ospec咀ve length will affect BE R. Key words: convolution code; rate; cons缸aint leng由; retrospective length;

MATLAB中产生高斯白噪声

MATLAB中产生高斯白噪声,涉及到awgn和wgn函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。 在数值变量后还可附加一些标志性参数: y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或 'linear'。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或 'complex'。 2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER 以瓦特为单位。 注释 1. 分贝(decibel,dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。 2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。 3. dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。 0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW 也可直接用randn函数产生高斯分布序列,例如: 程序代码 y=randn(1,2500); y=y/std(y);

高斯白噪声

MATLAB中产生高斯白噪声的两个函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。 在数值变量后还可附加一些标志性参数: y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或'linear'。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或 'complex'。 2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x 的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。 y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的单位。POWERTYPE 可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。 注释 1. 分贝(decibel, dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电

白噪声的测试MATLAB程序

白噪声的测试MATLAB程序 学术篇 2009-11-13 22:18:03 阅读232 评论0 字号:大中小订阅 clear; clc; %生成各种分布的随机数 x1=unifrnd(-1,1,1,1024);%生成长度为1024的均匀分布 x2=normrnd(0,1,1,1024);%生成长度为1024的正态分布 x3=exprnd(1,1,1024);%生成长度为1024的指数分布均值为零 x4=raylrnd(1,1,1024);%生成长度为1024的瑞利分布 x5=chi2rnd(1,1,1024);%生成长度为1024的kaifang分布%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的均值 m1=mean(x1),m2=mean(x2),m3=mean(x3),m4=mean(x4),m5=mean(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的方差 v1=var(x1),v2=var(x2),v3=var(x3),v4=var(x4),v5=var(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的自相关函数 figure(1);title('自相关函数图'); cor1=xcorr(x1);cor2=xcorr(x2);cor3=xcorr(x3);cor4=xcorr(x4);cor5=xcorr(x5); subplot(3,2,1),plot(1:2047,cor1);title('均匀分布自相关函数图'); subplot(3,2,2),plot(1:2047,cor2);title('正态分布'); subplot(3,2,3),plot(1:2047,cor3);title('指数分布'); subplot(3,2,4),plot(1:2047,cor4);title('瑞利分布'); subplot(3,2,5),plot(1:2047,cor5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的概率密度函数 y1=unifpdf(x1,-1,1); y2=normpdf(x2,0,1); y3=exppdf(x3,1); y4=raylpdf(x4,1); y5=chi2pdf(x5,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的频数直方图 figure(2); subplot(3,2,1),hist(x1);title('均匀分布频数直方图'); subplot(3,2,2),hist(x2,[-4:0.1:4]);title('正态分布'); subplot(3,2,3),hist(x3,[0:.1:20]);title('指数分布'); subplot(3,2,4),hist(x4,[0:0.1:4]);title('瑞利分布'); subplot(3,2,5),hist(x5,[0:0.1:10]);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的概率密度估计 figure(3);

Matlab中卷积码译码器的误码率分析

长沙理工大学 《通信原理》课程设计报告 郭林 学院计算机与通信工程专业通信工程 班级540802 学号11 学生姓名郭林指导教师龙敏 课程成绩完成日期2008年1月11日

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:郭林指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

高斯白噪声地matlab实现

通信系统建模与仿真 实验一、高斯白噪声的matlab 实现 要求: 样本点:100 1000 标准差:0.2 2 10 均值: 0 0.2 白噪声 如果噪声的功率谱密度在所有的频率上均为一常数,即 ) /(),(,)(0Hz W f n f P n +∞<<-∞= 式中:0n 为常数,责成该噪声为白噪声,用)(t n 表示。 高斯白噪声的matlab 实现

1.样本点为1000、均值为0、标准差为0.2时,高斯白噪声分布为下图所示: 程序如下所示: % White background nois clear all f = 1:1:1000; for i = 1:length(f) K = (0.2) * randn(1,1) - 0; P(i) = 10.^(K - 3.95*(10^-5)*f(i)); A(i) = sqrt(2*P(i)); end xifft = ifft(A); realx = real(xifft); ti = [1:length(xifft)-1]/1000; realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2) 2.样本点为1000、均值为0、标准差为2时,高斯白噪声分布为下图所示:

程序如下所示: % White background nois clear all f = 1:1:1000; for i = 1:length(f) K = (2) * randn(1,1) - 0; P(i) = 10.^(K - 3.95*(10^-5)*f(i)); A(i) = sqrt(2*P(i)); end xifft = ifft(A); realx = real(xifft); ti = [1:length(xifft)-1]/1000; realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2) 3.样本点为1000、均值为0、标准差为10时,高斯白噪声分布为下图所示:

卷积码matlab程序

卷积编码程序: function [output, len_tal] = cnv_encd(secrettext, encodetext) g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1; % 读入文本文件并计算文件长度 frr = fopen(secrettext, 'r'); [msg, len] = fread(frr, 'ubit1'); msg = msg'; % check to see if extra zero padding is necessary if rem(length(msg), k0) > 0 msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))]; end n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。 % check the size of matrix g if rem(size(g, 2), k0) > 0 error('Error, g is not of the right size.'); end % determine L and n0 L = size(g, 2)/k0; n0 = size(g, 1); % add extra zeros,以保证编码器是从全0开始,并回到全0状态。 u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))]; % generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles. u1 = u(L*k0: -1 :1); for i = 1:n+L-2 u1 = [u1, u((i+L)*k0:-1:i*k0+1)]; end uu = reshape(u1, L*k0, n+L-1); % determine the output output = reshape(rem(g*uu, 2), 1, n0*(L+n-1)); len_tal = n0*(L + n - 1);

matlab产生高斯噪声

%正态分布(normal distribution)又名高斯分布(Gaussian distribution), % MATLAB 命令是normrnd。 %1)R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数。 % 输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。 %2)R=normrnd(MU,SIGMA,m):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数矩阵, % 矩阵的形式由m定义。m是一个1×2向量,其中的两个元素分别代表返回值R中行与列的维数。 %3) R=normrnd(MU,SIGMA,m,n):生成m*n形式的正态分布的随机数矩阵。 %4)randn()是标准正态分布;MA TLAB命令是normrnd 功能:生成服从指定均数和标准差的正态分布的随机数列, %即高斯随机序列。 例如: %高斯噪声为n(m)=nmr+jnmi,其中实虚部均为独立同分布N(0, a)的高斯随机数,信号x(m)=s(m) + n(m) % SNR = 10 lg[1/(2a)] = – 3 – 10 lg(a) (dB) [之所以是2a不是a是因为实虚部] %若有用信号s(n)的最大幅度am,要求得到的信噪比为p,则p=10log10[(am^2)/b^2],用这个公式反推出高斯 %噪声的方差b^2 snr=10; sqrt(a)=10^(-(snr+3)/10); noise=normrnd(0,sqrt(a),1,1000)+1*i*normrnd(0,sqrt(a),1,1000); %或者 noise=sqrt(a)*randn(1,1000)+1*i*sqrt(a)*randn(1,1000);

白噪声产生程序

第二章的白噪声产生程序 例2.2 用乘同余法产生(见光盘FLch2bzsheg2.m) ①编程如下: A=6; x0=1; M=255; f=2; N=100;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声') ②程序运行结果如图2.6所示。 图2.6 采用MA TLAB产生的(-1,+1)均匀分布的白噪声序列 ③产生的(-1,1)均匀分布的白噪声序列 在程序运行结束后,产生的(-1,1)均匀分布的白噪声序列,直接从MATLAB的window 界面中copy出来如下(v2中每行存6个随机数):

v2 = -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 *另外,书中图2.3白噪声的产生如下: 显然,只要在例2.2程序的初始化部分中给N=300,f=6,运行程序就可以得到如图2.3所示的(-3,3)的白噪声过程. ①编程如下: A=6; x0=1; M=255; f=6; N=300;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')

基于MATLAB的高斯白噪声信道分析报告

基于matlab高斯白噪声信道分析系统的设计 ×× (陕西理工学院物理与电信工程学院通信工程专业1202班,陕西汉中 723003) 指导教师:吴燕 [摘要] MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。本文在matlab的环境下构建了BFSK在高斯白噪声信道中传输的系统模型,通过simulink程序仿真,研究系统的误码率与信道质量的关系,找到在高斯白噪声信道上传输的最大信噪比及所需发射功率和调制频率,从而得出该系统在高斯白噪声信道中的最佳传输性能。 [关键词] MATLAB;高斯白噪声;信道分析;simulink仿真

Design and production of the Gauss white noise channel analysis system based on MATLAB ×× (Grade 2012,Class 2,Major of Communication Engineering,School of Physics and Telecommunication Engineering of Shaanxi University of Technology,Hanzhong 723003,Shaanxi) Tutor: Wu Yan Abstract: MATLAB is a high-level technical computing language and interactive environment for the development of algorithms, data visualization, data analysis and numerical calculation. This article in the matlab environment build BFSK in AWGN channel model simulation,by running simulation the program on the system of quality of error rate and channel relationships,found in AWGN channel transport of maximum signal-to-noise ratio and the desired transmitter power. Key words:MA TLAB; Gauss white noise; channel analysis; Simulink simulation

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数

现代通信原理作业一 姓名:张英伟学号:8036 班级:13级理工部3班 利用matlab完成: ●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦 波信号上,绘出波形。 ●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波 形。 一、白噪声区别及产生方法 1、定义: 均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。 高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。 2、matlab仿真函数: rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式: z2=a+(b-(a))*rand(m,n)............(公式1) randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。利用公式: z1=a+b*randn(1,n).................(公式2) 可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。 二、自相关函数与功率谱密度之间的关系 1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。 2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。 3、维纳-辛钦定理: 由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

MATLAB OFDM卷积编码程序及代码

%bin22deci.m function y=bin22deci(x) %将二进制数转化为十进制数 t=size(x,2); y=(t-1:-1:0); y=2.^y; y=x*y'; %************************end of file*********************************** %comb.m %AWGN加噪声程序 function[iout,qout]=comb(idata,qdata,attn) %******************variables************************* %idata:输入I信道数据 %qdata:输入Q信道数据 %iout输出I信道数据 %qout输出Q信道数据 %attn:由信噪比导致的衰减系数 %****************************************************** iout=randn(1,length(idata)).*attn; qout=randn(1,length(qdata)).*attn; iout=iout+idata(1:length(idata)); qout=qout+qdata(1:length(qdata)); %************************end of file*********************************** %crdemapping.m %数据逆映射载波程序 function[iout,qout]=crdemapping(idata,qdata,fftlen,nd); %******************variables************************* %idata:输入I信道的数据 %qdata:输入Q信道的数据 %iout:输出I信道的数据 %qout:输出Q信道的数据 %fftlen:FFT的长度 %nd:OFDM符号数 %***************************************************** iout(1:26,:)=idata(2:27,:); qout(1:26,:)=qdata(2:27,:); iout(27:52,:)=idata(39:64,:); qout(27:52,:)=qdata(39:64,:); %********************end of file*************************** %crmapping.m

MATLAB实现卷积码编译码-

本科生毕业论文(设计) 题目:MATLAB实现卷积码编译码 专业代码: 作者姓名: 学号: 单位: 指导教师: 年月日

目录 前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 2 1.1纠错码基本理论 ----------------------------------------------- 2 1.1.1纠错码概念 ------------------------------------------------- 2 1.1.2基本原理和性能参数 ----------------------------------------- 2 1.2几种常用的纠错码 --------------------------------------------- 6 2. 卷积码的基本理论-------------------------------------- 8 2.1卷积码介绍 --------------------------------------------------- 8 2.1.1卷积码的差错控制原理----------------------------------- 8 2.2卷积码编码原理 ---------------------------------------------- 10 2.2.1卷积码解析表示法-------------------------------------- 10 2.2.2卷积码图形表示法-------------------------------------- 11 2.3卷积码译码原理---------------------------------------------- 15 2.3.1卷积码三种译码方式------------------------------------ 15 2.3.2V ITERBI译码原理---------------------------------------- 16 3. 卷积码编译码及MATLAB仿真---------------------------- 18 3.1M ATLAB概述-------------------------------------------------- 18 3.1.1M ATLAB的特点------------------------------------------ 19 3.1.2M ATLAB工具箱和内容------------------------------------ 19 3.2卷积码编码及仿真 -------------------------------------------- 20 3.2.1编码程序 ---------------------------------------------- 20 3.3信道传输过程仿真-------------------------------------------- 21 3.4维特比译码程序及仿真 ---------------------------------------- 22 3.4.1维特比译码算法解析------------------------------------ 23 3.4.2V ITERBI译码程序--------------------------------------- 25 3.4.3 VITERBI译码MATLAB仿真----------------------------------- 28 3.4.4信噪比对卷积码译码性能的影响 -------------------------- 28

实验三白噪声信道模拟实验

实验三、白噪声信道模拟实验 一、实验目的 1、了解白噪声产生原因。 2、了解多径干扰对信号的影响。 二、实验内容 观察白噪声对信号的干扰。 三、基本原理 在移动通信中,严重影响移动通信性能的主要噪声与干扰大致可分为3类:加性正态白噪声、多径干扰和多址干扰。b5E2RGbCAP 这里加性是指噪声与信号之间的关系服从叠加原理的线性关系,正态则是指噪声分布遵从正态<高斯)分布,而白则是指频谱是平坦的,仅含有这类噪声的信道一般文献上称为AWGN信道。这类噪声是最基本的噪声,非移动信道所特有,一般简称这类噪声为白噪声。这类噪声以热噪声、散弹噪声及宇宙噪声为代表,其特点是,无论在时域内还是在频域内它们总是普遍存在和不可避免的。p1EanqFDPw 热噪声是在电阻一类导体中,自由电子的布朗运动引起的噪声。导体中的每一个自由电子由于其热能而运动。电子运动的途径,由于和其他粒子碰撞,是随机的和曲折的,即呈现布朗运动。所有电子运动的总结果形成通过导体的电流。电流的方向是随机的,因而其平均值为零。然而,电子的这种随机运动还会产生一个交流电流成分。这个交流成分称为热噪声。DXDiTa9E3d

散弹噪声是由真空电子管和半导体器件中电子发射的不均匀性引起的。散弹噪声的物理性质可由平行板二极管的热阴极电子发射来说明。在给定的温度下,二极管热阴极每秒发射的电子平均数目是常数,不过电子发射的实际数目随时间是变化的和不能预测的。这就是说,如果我们将时间轴分为许多等间隔的小区间,则每一小区间内电子发射数目不是常量而是随机变量。因此,发射电子所形成的电流并不是固定不变的,而是在一个平均值上起伏变化。总电流实际上是许多单个电子单独作用的总结果。由于从阴极发射的每一个电子可认为是独立出现的,且观察表明,每1安培多平均电流相当于在1秒钟内通过约6×1018个电子,所以总电流便是相当多的独立小电流之和。于是,根据中心极限定理可知,总电流是一个高斯随机过程。也就是说散弹噪声是一个高斯随机过程。RTCrpUDGiT 宇宙噪声是指天体辐射波对接收机形成的噪声。它在整个空间的分布是不均匀的,最强的来自银河系的中部,其强度与季节、频率等因素有关。实测表明,在20~300MHz的频率范围内,它的强度与频率的三次方成反比。因而,当工作频率低于300MHz时就要考虑到它的影响。实践证明宇宙噪声也是服从高斯分布律的,在一般的工作频率范围内,它也具有平坦的功率谱密度。5PCzVD7HxA 从通信系统来看,白噪声是最基本的噪声来源。但是从调制信道的角度来看,到达或集中于解调器输入端的噪声并不是上述白噪声本身,而却是它的某种变换方式——通常是一种带通型噪声。这是因为,在到达解调器之前,起伏噪声通常要经过接收转换器,而

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数

现代通信原理作业一 姓名:张英伟学号:133320085208036 班级:13级理工部3班 利用matlab完成: ●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦 波信号上,绘出波形。 ●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波 形。 一、白噪声区别及产生方法 1、定义: 均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。 高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。 2、matlab仿真函数: rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式: z2=a+(b-(a))*rand(m,n)............(公式1) randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。利用公式: z1=a+b*randn(1,n).................(公式2) 可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。 二、自相关函数与功率谱密度之间的关系 1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。 2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。 3、维纳-辛钦定理: 由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

M序列的matlab产生方法

M序列是工程中常用的输入信号,它的性质类似于白噪声,而白噪声是理论上最好的输入信号,可见M序列的价值。下面介绍M序列的matlab产生方法。 idinput函数 产生系统辨识常用的典型信号。 格式 u = idinput(N,type,band,levels) [u,freqs] = idinput(N,'sine',band,levels,sinedata) N 产生的序列的长度,如果N=[N nu],则nu为输入的通道数,如果N=[P nu M],则nu指定通道数,P为周期,M*P为信号长度。默认情况下,nu=1,M=1,即一个通道,一个周期。 Type 指定产生信号的类型,可选类型如下 Band 指定信号的频率成分。对于’rgs’、’rbs’、’sine’,band = [wlow, whigh]指定通带的范围,如果是白噪声信号,则band=[0, 1],这也是默认值。指定非默认值时,相当于有色噪声。 对于’prbs’,band=[0, B],B表示信号在一个间隔1/B(时钟周期)内为恒值,默认为[0, 1]。 Levels 指定输入的水平。Levels=[minu, maxu],在type=’rbs’、’prbs’、’sine’时,表示信号u的值总是在minu和maxu之间。对于type=’rgs’,minu指定信号的均值减标准差,maxu指定信号的均值加标准差,对于0均值、标准差为1的高斯白噪声信号,则levels=[-1, 1],这也是默认值。 说明 对于PRBS信号,如果M>1,则序列的长度和PRBS周期会做调整,使PRBS的周期为对应一定阶数的最大值(即2^n-1,n为阶数);如果M=1,PRBS的周期是大于N的相应阶数的值。在多输入的情形时,信号被最大平移,即P/nu为此信号能被估计的模型阶次的上界。 上面的意思可如下理解:对于M=1时, ms = idinput(12, 'prbs', [0 1], [0 1]); figure stairs(ms) title('M序列')

相关文档
相关文档 最新文档