matlab中的measure,关于matlab中awgn函数中参数作用的测试

matlab中加性白噪声awgn函数主要格式是awgn(sig,SNR,sigpower)

对于sigpower参数进行了一下测试,其表示的作用应该是作为SNR参考0db的信号功率

以这段代码对参数作用进行测试:

----------------------------------------------------------------

t = 0:pi/64:10*pi;

sig = sqrt(200)*sin(t);             %产生功率为100的信号

var0 = var(sig);

nsig1 = awgn(sig,10,0) - sig;

nsig2 = awgn(sig,10,'measured') - sig;

var1 = var(nsig1);

var2 = var(nsig2);

----------------------------------------------------------------

得到的结果是

var0 =

100

var1 =

0.0955

var2 =

10.4792

也就是说虽然信号功率为100,SNR设置为10,第二个的SNR仍然以0db作为基准生成了噪声,噪声方差约0.1。

而当采用参数measured的时候,噪声基准则以信号实际功率为准,生成了方差约10的噪声。

----------------------------------------------------------------

----------------------------------------------------------------

进一步验证可以通过下面代码确定,仅供参考:

----------------------------------------------------------------

sig = sqrt(200)*sin(t);              %产生功率为100的信号

var0 = var(sig);

nsig1 = awgn(sig,10,10) - sig;

nsig2 = awgn(sig,10,20) - sig;

var1 = var(nsig1);

var2 = var(nsig2);

----------------------------------------------------------------

得到的结果是

var0 =

100

var1 =

1.0252

var2 =

10.6724

----------------------------------------------------------------

----------------------------------------------------------------

sig1 = sqrt(200)*sin(t);             %产生功率为100的信号

sig2 = sqrt(2)*sin(t);                 %产生功率为1的信号

var0_1 = var(sig1);

var0_2 = var(sig2);

nsig1 = awgn(sig1,10,'measured') - sig1;

nsig2 = awgn(sig2,10,'measured') - sig2;

var1 = var(nsig1);

var2 = var(nsig2);

----------------------------------------------------------------

得到的结果是

var0_1 =

100

var0_2 =

1.0000

var1 =

9.7096

var2 =

0.0995

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值