ZKX's LAB

matlab中高斯白噪声换如何换成2000hz波形 matlab噪声向量叠加

2021-04-27知识5

matlab信号中加入脉冲噪声 最低0.27元开通文库会员,查看完整内容>;原发布者:大向量在信号处理2113中经常需要把噪声叠加到信号5261上去,在叠加噪声4102时往往需要满足一定的信噪比1653,这样产生二个问题,其一噪声是否按指定的信噪比叠加,其二怎么样检验带噪信号中信噪比满足指定的信噪比。在MATLAB中可以用randn产生均值为0方差为1的正态分布白噪声,但在任意长度下x=randn(1,N),x不一定是均值为0方差为1(有些小小的偏差),这样对后续的计算会产生影响。在这里提供3个函数用于按一定的信噪比把噪声叠加到信号上去,同时可检验带噪信号中信噪比。1.把白噪声叠加到信号上去:function[Y,NOISE]=noisegen(X,SNR)%noisegenaddwhiteGaussiannoisetoasignal.%[Y,NOISE]=NOISEGEN(X,SNR)addswhiteGaussianNOISEtoX.TheSNRisindB.NOISE=randn(size(X));NOISE=NOISE-mean(NOISE);signal_power=1/length(X)*sum(X.*X);noise_variance=signal_power/(10^(SNR/10));NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;Y=X+NOISE;其中X是纯信号,SNR是要求的信噪比,Y是带噪信号,NOISE是叠加在信号上的噪声。2.把指定的噪声叠加到信号上去有标准噪声库NOISEX-92,其中带有白噪声、办公室噪声、工厂噪声、汽车噪声。

用matlab怎样生成随机噪声平均值为0.1的1*6的向量? randn(m,n)表示产生m*n的随机数,随机数服从标准正态分布,0均值,方差为1在你的问题中,noise_real=0.1*(randn(1,6)+1);如果要产生复数的随机噪声,用randn分别构造实部与虚部,即:A=randn(2,6)+1;n_real=A(1,:);n_imag=A(2,:);noise_comp=0.1/sqrt(2)*(n_real+j*n_imag);可以用着两行来验证均值跟方差M=mean(noise_comp);N=var(noise_comp);你可以注册一些Matlab的论坛,之后下点别人共享的代码,多读就会了哈。祝好。

matlab中高斯白噪声换如何换成2000hz波形 白噪声在频率范围内能量也是均匀分布的,白噪声在时域范围内是有各种频率的正弦波叠加而成。但像你题中所说的2000Hz固定频率的信号只能是单频正弦波,用正弦函数做向量矩阵叠加到信号即可,sin(x)周期为2pi,转换到2000Hz应该变成sin(pi/1000*x)。

#matlab噪声向量叠加

随机阅读

qrcode
访问手机版