主要内容

comm.AWGNChannel

在输入信号中加入高斯白噪声

描述

awgnchannel在输入信号中加入高斯白噪声。

在适用的情况下,如果对象的输入有可变数量的通道,则EbNoEsNo信噪比BitsPerSymbolSignalPowerSamplesPerSymbol,方差属性必须是标量。

在输入信号中加入高斯白噪声:

  1. 创建comm.AWGNChannel对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

例子

awgnchan= comm.AWGNChannel创建一个加性高斯白噪声(AWGN)通道awgnchan.然后这个对象将高斯白噪声添加到真实或复杂的输入信号中。

例子

awgnchan= comm.AWGNChannel (的名字价值创建一个AWGN通道对象,awgnchan,使用指定的属性的名字设置为指定的价值.可以以任意顺序指定其他名称-值对参数,如(Name1Value1、……)。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

噪声级方法,指定为“信噪比(Eb/No)”“信噪比(Es/No)”“信噪比”,或“方差”.有关更多信息,请参见直接或间接指定方差

数据类型:字符

每比特能量与噪声功率谱密度的比值(Eb/No),单位为分贝,指定为标量或1 × -NC向量。NC为通道的数量。

可调:是的

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比(Eb/No)”

数据类型:

每符号的能量与噪声功率谱密度(Es/No)的比值,单位为分贝,指定为标量或1 × -NC向量。NC为通道的数量。

可调:是的

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比(Es/No)”

数据类型:

信号功率与噪声功率的比值,单位为分贝,指定为标量或1 × -NC向量。NC为通道的数量。

可调:是的

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比”

数据类型:

每个符号的位数,指定为正整数。

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比(Eb/No)”

数据类型:

输入信号功率,单位为瓦,指定为正标量或1 × -NC向量。NC为通道的数量。该对象的标称阻抗为1Ω。

可调:是的

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比(Eb/No)”“信噪比(Es/No)”,或“信噪比”

数据类型:

每个符号的样本数,指定为正整数或1-by-NC向量。NC为通道的数量。

依赖关系

此属性适用于以下情况NoiseMethod被设置为“信噪比(Eb/No)”“信噪比(Es/No)”

数据类型:

噪声方差的来源,规定为“属性”输入端口的

  • VarianceSource“属性”来指定噪声方差值方差财产。

  • VarianceSource输入端口的当作为函数调用对象时,使用对象的输入指定噪声方差值。

有关更多信息,请参见直接或间接指定方差

依赖关系

此属性适用于以下情况NoiseMethod“方差”

数据类型:字符

白高斯噪声方差,指定为一个正标量或1-by-NC向量。NC为通道的数量。

可调:是的

依赖关系

此属性适用于以下情况NoiseMethod被设置为“方差”VarianceSource被设置为“属性”

数据类型:

随机数流的源,指定为“全球流”“与种子mt19937ar”

  • 当您设置RandomStream“全球流”,对象使用MATLAB®默认随机流生成随机数。要使用此对象生成可重复的数字,您可以重置MATLAB的默认随机流。例如重置(RandStream.getGlobalStream).有关更多信息,请参见RandStream

  • 当您设置RandomStream“与种子mt19937ar”,该对象使用mt19937ar算法生成正态分布随机数。在这个场景中,当您调用重置函数时,对象将随机数流重新初始化为种子财产。您可以通过重置对象来生成可重复的数字。

对于复杂的输入信号,对象创建的随机数据如下:

噪音randnN年代NC) + 1 (randnN年代NC))
N 年代样品的数量是多少N C为通道的数量。

依赖关系

此属性适用于以下情况NoiseMethod被设置为“方差”

数据类型:字符

mt19937ar随机数流的初始种子,指定为非负整数。每次调用重置函数时,对象将mt19937ar随机数流重新初始化为种子价值。

依赖关系

此属性适用于以下情况RandomStream被设置为“与种子mt19937ar”

数据类型:

使用

描述

例子

outsignal= awgnchan (insignal添加高斯白噪声,如awgnchan,输入信号。返回结果outsignal

例子

outsignal= awgnchan (insignalvar指定高斯白噪声的方差。该语法适用于设置NoiseMethod“方差”VarianceSource输入端口的

例如:

awgnchan = comm.AWGNChannel('NoiseMethod','Variance',…“VarianceSource”、“输入端口的);var = 12;...outsignal = awgnchan (insignal var);

输入参数

全部展开

输入信号,指定为标量N年代元素向量,或N年代——- - - - - -NC矩阵。N年代样品的数量是多少NC为通道的数量。

数据类型:
复数的支持:万博1manbetx是的

加性高斯白噪声的方差,指定为正标量或1 × -NC向量。NC是通道的数量,由输入信号矩阵的列数决定。

输出参数

全部展开

输出信号,以相同的尺寸返回insignal

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

使用默认配置创建一个AWGN channel System对象。通过这个通道传递信号数据。

创建一个AWGN通道对象和信号数据。

awgnchan = comm.AWGNChannel;Insignal = randi([0 1],100,1); / /输出

通过通道发送输入信号。

outsignal = awgnchan (insignal);

调制一个8-PSK信号,添加高斯白噪声,并绘制信号以可视化噪声的影响。

创建M-PSK调制器系统对象™。对象的默认调制顺序是8。

pskModulator = comm.PSKModulator;

调制信号。

modData = pskModulator(randi([0 7],2000,1));

将调制信号通过加性高斯白噪声(AWGN)通道来增加高斯白噪声。

频道= comm.AWGNChannel (“EbNo”, 20岁,“BitsPerSymbol”3);

通过AWGN信道发送信号。

channelOutput =通道(modData);

利用散点图绘制无噪声和噪声数据,以可视化噪声的影响。

散点图(modData)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

散点图(channelOutput)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

改变EbNo属性设置为10分贝,以增加噪音。

通道。EbNo=10;

将调制后的数据通过AWGN通道传输。

channelOutput =通道(modData);

绘制通道输出。你可以看到噪音增加的影响。

散点图(channelOutput)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

通过AWGN通道系统对象™传递单通道和多通道信号。

创建一个AWGN通道系统对象,为单个通道输入设置Eb/No比率。在这种情况下EbNo属性是标量。

频道= comm.AWGNChannel (“EbNo”15);

生成随机数据并应用QPSK调制。

数据= randi([0 3],1000,1);modData = pskmod(数据、4π/ 4);

将调制后的数据通过AWGN通道传输。

rxSig =通道(modData);

绘制有噪声的星座。

散点图(rxSig)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

生成双通道输入数据并应用QPSK调制。

数据= randi([0 3],2000,2);modData = pskmod(数据、4π/ 4);

将调制后的数据通过AWGN通道传输。

rxSig =通道(modData);

画出嘈杂的星座。中的每个通道表示为单个列rxSig.图是几乎相同的,因为相同的Eb/No值应用于两个通道。

散点图(rxSig(: 1)标题(“第一频道”

图散点图包含坐标轴。标题为First Channel的轴包含一个类型为line的对象。这个对象表示通道1。

散点图(rxSig(: 2)标题(“第二频道”

图散点图包含坐标轴。标题为Second Channel的轴包含一个类型为line的对象。这个对象表示通道1。

修改AWGN通道对象,为每个通道应用不同的Eb/No值。要应用不同的值,请设置EbNo一个1 × 2向量的性质。当改变尺寸时EbNo属性,则必须释放AWGN通道对象。

释放通道(通道)。EbNo = [10 20];

通过AWGN通道传递数据。

rxSig =通道(modData);

画出嘈杂的星座。第一个通道由于其较低的Eb/No值,噪声明显更大。

散点图(rxSig(: 1)标题(“第一频道”

图散点图包含坐标轴。标题为First Channel的轴包含一个类型为line的对象。这个对象表示通道1。

散点图(rxSig(: 2)标题(“第二频道”

图散点图包含坐标轴。标题为Second Channel的轴包含一个类型为line的对象。这个对象表示通道1。

应用噪声方差输入作为标量或行向量,其长度等于当前信号输入的通道数。

创建一个AWGN通道系统对象™NoiseMethod属性设置为'方差的VarianceSource属性设置为'输入端口的

频道= comm.AWGNChannel (“NoiseMethod”“方差”...“VarianceSource”输入端口的);

为两个通道生成随机数据,并应用16-QAM调制。

Data = randi([0 15],10000,2);txSig = qammod(数据、16);

将调制后的数据通过AWGN通道传输。AWGN通道对象处理来自两个通道的数据。方差输入是一个1 × 2的向量。

rxSig = channel(txSig,[0.01 0.1]);

绘制两个通道的星座图。第二个信号噪声更大,因为它的方差是10倍。

散点图(rxSig (: 1))

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

散点图(rxSig (: 2)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

重复噪声方差输入为标量的过程。对两个通道应用相同的方差。星座图几乎完全相同。

rxSig =通道(txSig, 0.2);散点图(rxSig (: 1))

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

散点图(rxSig (: 2)

图散点图包含坐标轴。标题为散点图的轴包含一个类型为line的对象。这个对象表示通道1。

当使用指定种子的随机流时,指定种子以产生相同的输出。

创建一个AWGN通道系统对象™。设置NoiseMethod财产“方差”,RandomStream财产“与种子mt19937ar”,种子财产99

频道= comm.AWGNChannel (...“NoiseMethod”“方差”...“RandomStream”“与种子mt19937ar”...“种子”, 99);

通过AWGN通道传递数据。

1日元=通道(0(8日));

通过通道传递另一个全零向量。

y2 =通道(0 (8,1));

因为函数调用之间的种子发生了变化,所以输出是不同的。

isequal (y1, y2)
ans =逻辑0

的方法重置AWGN通道对象重置函数。将随机数据流重置为初始种子99

重置(渠道);

通过AWGN通道传递全零向量。

y3 =通道(0 (8,1));

确认两个信号是相同的。

isequal (y1, y3)
ans =逻辑1

算法

全部展开

参考文献

约翰·G·普罗基斯数字通信.第四版,麦格劳-希尔出版社,2001。

扩展功能

介绍了R2012a