300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > randn函数加噪声_Matlab笔记——AWGN函数详解与实例——AWGN加性高斯白噪声+QPSK调制...

randn函数加噪声_Matlab笔记——AWGN函数详解与实例——AWGN加性高斯白噪声+QPSK调制...

时间:2019-07-28 23:01:03

相关推荐

randn函数加噪声_Matlab笔记——AWGN函数详解与实例——AWGN加性高斯白噪声+QPSK调制...

加性高斯白噪声(Additive White Gaussian Noise)

awgn函数向信号中添加高斯白噪声

1.Y = awgn(X,SNR)

向信号“X”添加高斯白噪声,信噪比大小为“SNR”,单位是dB;信号“X”的功率假定为 0 dBW;如果“X”是复数,则添加的是复高斯白噪声;

Example 1:

X = sqrt(2)*sin(0:pi/8:6*pi);% 设定一输入信号X

% 假定X的功率为0 dBW,加入高斯白噪声,加入后信噪比SNR=10 dB

Y = awgn(X,10);% 等价为2中的Y = awgn(X,10,0);

2.Y = awgn(X,SNR,SIGPOWER)

当参数“SIGPOWER”是一个数值的时候,代表输入信号“X”的功率,单位是dBW;当参数“SIGPOWER”是“measured”的时候,在添加噪声前会测量(计算)输入信号“X”的功率;

Example 2:

X = sqrt(2)*sin(0:pi/8:6*pi);% 设定一输入信号X

% 设定X的功率为5 dBW,加入高斯白噪声,加入后信噪比SNR=10 dB

Y = awgn(X,10,5);

% 在加入噪声前先测量信号X的功率,然后加入高斯白噪声,加入后信噪比SNR=10 dB

Y = awgn(X,10,’measured’);

3.Y = awgn(X,SNR,SIGPOWER,S)

使用随机流句柄“S”,用RANDN函数生成随机噪声样本。如果“S”是整数,则将RANDN的状态重置为“S”。如果想要生成可重复的噪声样本,那么提供一个随机流的句柄(‘RandStream’),或者在默认随机流上使用reset方法。

Y = awgn(X,SNR,SIGPOWER,STATE)

将RANDN状态重置为参数“STATE”指定的状态。这种用法是不赞成的,可能在将来的版本中被删除。

Example 3:

X = sqrt(2)*sin(0:pi/8:6*pi);% 设定一输入信号X

S = RandStream('mt19937ar','seed',5489);% 由RandStream随机数据流产生随机数据

% 指定X的功率为0 dBW,添加要产生的噪声,SNR为10dB,利用本地随机流

Y = awgn(X,10,0,S);

4.Y = awgn(…, POWERTYPE)

使用参数“POWERTYPE”来指定信噪比“SNR”和信号功率“SIGPOWER”的单位。参数“POWERTYPE”可以选择为“db”或“linear”。如果“POWERTYPE”为“db”,则信噪比“SNR”以db为单位进行表示,“SIGPOWER”用dBW为单位进行表示。如果“POWERTYPE”是“linear”,那么信噪比“SNR”是按比例来测量的,而“SIGPOWER”是按瓦特来测量的。

Example 4:

X = sqrt(2)*sin(0:pi/8:6*pi);% 设定一输入信号X

% 指定X的功率为3瓦,并向其添加噪声,设定线性信噪比为4

Y = awgn(X,4,3,'linear');

% 指定X的功率为3 dBW,并向其添加噪声,信噪比SNR为4 dB

Y = awgn(X,4,3,'dB');

% 在加入噪声前先测量信号X的功率,然后加入高斯白噪声,设定线性信噪比为4,

Y = awgn(X,4,'measured','linear');

5.pskmod(data_in, M)

M = 4;%调制阶数

data = randi([0 M-1],1000,1);%生成随机序列作为待调制信号

txSig = pskmod(data,M,pi/M);%调制,频偏pi/4

rxSig = awgn(txSig,20);%白噪声,SNR=20dB

scatterplot(txSig)%绘制发送信号的星座图

scatterplot(rxSig)%绘制接收信号的星座图

FPGA探索者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。