主要内容

comm.AWGNChannel

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

描述

awgnchannel为输入信号添加高斯白噪声。

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

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

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

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

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

例子

awgnchan= comm.AWGNChannel创建加性高斯白噪声(AWGN)通道系统对象™awgnchan.然后,该对象将高斯白噪声添加到实或复输入信号中。

例子

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

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

噪声级方法,指定为信噪比(Eb/No)信噪比(Es/No)信噪比(SNR),或“方差”.有关更多信息,请参见Eb/No、Es/No与信噪比模式的关系而且直接或间接指定方差

数据类型:字符

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

可调:是的

依赖关系

此属性适用于NoiseMethod设置为信噪比(Eb/No)

数据类型:

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

可调:是的

依赖关系

此属性适用于NoiseMethod设置为信噪比(Es/No)

数据类型:

信号功率与噪声功率之比,以分贝为单位,用标量或1 × -表示NC向量。NC是通道数。

可调:是的

依赖关系

此属性适用于NoiseMethod设置为信噪比(SNR)

数据类型:

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

依赖关系

此属性适用于NoiseMethod设置为信噪比(Eb/No)

数据类型:

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

可调:是的

依赖关系

此属性适用于NoiseMethod设置为信噪比(Eb/No)信噪比(Es/No),或信噪比(SNR)

数据类型:

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

依赖关系

此属性适用于NoiseMethod设置为信噪比(Eb/No)信噪比(Es/No)

数据类型:

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

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

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

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

依赖关系

此属性适用于NoiseMethod“方差”

数据类型:字符

白高斯噪声方差,用正标量或1 × -表示NC向量。NC是通道数。

可调:是的

依赖关系

此属性适用于NoiseMethod设置为“方差”而且VarianceSource设置为“属性”

数据类型:

随机数流的来源,指定为“全球流”“mt19937ar with seed”

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

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

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

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

依赖关系

此属性适用于NoiseMethod设置为“方差”

数据类型:字符

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

依赖关系

此属性适用于RandomStream设置为“mt19937ar with seed”

数据类型:

使用

描述

例子

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

例子

outsignal= awgnchan (insignalvar为高斯白噪声的方差。属性时应用此语法NoiseMethod“方差”而且VarianceSource输入端口的

例如:

awgnchan = com . awgnchannel ('NoiseMethod','方差',…“VarianceSource”、“输入端口的);Var = 12;...Outsignal = awgnchan(insignal,var);

输入参数

全部展开

输入信号,指定为标量N年代-element vector或anN年代——- - - - - -NC矩阵。N年代是样品的数量和NC是通道数。

数据类型:
复数支持:金宝app是的

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

输出参数

全部展开

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

使用默认配置创建一个AWGN通道系统对象。通过该通道传递信号数据。

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

awgnchan = com . awgnchannel;Insignal = randi([0 1],100,1);

通过通道发送输入信号。

Outsignal = awgnchan(insignal);

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

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

pskModulator = com . pskModulator;

调制信号。

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

通过使信号通过加性高斯白噪声(AWGN)通道,将高斯白噪声添加到调制信号中。

通道= com . awgnchannel (“EbNo”, 20岁,“BitsPerSymbol”3);

通过AWGN信道发送信号。

channelOutput = channel(modData);

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

散点图(modData)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

散点图(channelOutput)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

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

通道。EbNo=10;

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

channelOutput = channel(modData);

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

散点图(channelOutput)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

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

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

通道= com . awgnchannel (“EbNo”15);

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

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

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

rxSig = channel(modData);

画出吵闹的星座。

散点图(rxSig)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

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

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

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

rxSig = channel(modData);

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

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

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

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

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

修改AWGN通道对象,为每个通道应用不同的Eb/No值。要应用不同的值,请设置EbNo属性转换为1 × 2向量。的维数更改时EbNo属性,则必须释放AWGN通道对象。

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

通过AWGN通道传递数据。

rxSig = channel(modData);

画出吵闹的星座。第一个信道由于其较低的Eb/No值而具有更大的噪声。

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

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

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

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

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

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

通道= com . awgnchannel (“NoiseMethod”“方差”...“VarianceSource”输入端口的);

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

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

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

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

为两个通道绘制星座图。第二个信号更嘈杂,因为它的方差大了十倍。

散点图(rxSig (: 1))

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

散点图(rxSig (: 2)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

重复此过程,其中噪声方差输入为标量。相同的方差应用于两个通道。星座图几乎一模一样。

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

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

散点图(rxSig (: 2)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。该对象表示通道1。

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

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

通道= com . awgnchannel (...“NoiseMethod”“方差”...“RandomStream”“mt19937ar with seed”...“种子”, 99);

通过AWGN通道传递数据。

Y1 =通道(零(8,1));

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

Y2 =通道(零(8,1));

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

isequal (y1, y2)
ans =逻辑0

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

重置(渠道);

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

Y3 =通道(零(8,1));

确认两个信号是相同的。

isequal (y1, y3)
ans =逻辑1

算法

全部展开

参考文献

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

扩展功能

版本历史

在R2012a中引入