matlab 怎么计算sinad
2个回答
展开全部
在matlab关于sinad的帮助文档中有说明和示例,这是一个正弦信号+谐波+噪声的例子
n = 0:159;
x = cos(pi/4*n)+0.025*sin(pi/2*n);
rng default;
y = cos(pi/4*n)+0.025*sin(pi/2*n)+0.05*randn(size(n));
r = sinad(x)
powfund = 1;
powharm = 0.025^2;
thSINAD = 10*log10(powfund/powharm)
r =
32.0412
thSINAD =
32.0412
-----------------------到这为止是不计噪声,只计算由正弦信号和谐波组成信号的sinad,直接采用函数sinad与分别用两部分信号幅值平方的比值求分贝数得到的结果相同。
r = sinad(y)
varnoise = 0.05^2;
thSINAD = 10*log10(powfund/(powharm+varnoise))
r =
23.6793
thSINAD =
25.0515
-----------------到这是在原来的基础上再加上标准差为0.05的高斯噪声,用0.05^2带入计算分贝数,与sinad函数计算结果相近。
n = 0:159;
x = cos(pi/4*n)+0.025*sin(pi/2*n);
rng default;
y = cos(pi/4*n)+0.025*sin(pi/2*n)+0.05*randn(size(n));
r = sinad(x)
powfund = 1;
powharm = 0.025^2;
thSINAD = 10*log10(powfund/powharm)
r =
32.0412
thSINAD =
32.0412
-----------------------到这为止是不计噪声,只计算由正弦信号和谐波组成信号的sinad,直接采用函数sinad与分别用两部分信号幅值平方的比值求分贝数得到的结果相同。
r = sinad(y)
varnoise = 0.05^2;
thSINAD = 10*log10(powfund/(powharm+varnoise))
r =
23.6793
thSINAD =
25.0515
-----------------到这是在原来的基础上再加上标准差为0.05的高斯噪声,用0.05^2带入计算分贝数,与sinad函数计算结果相近。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询