用MATLAB产生某个数字信号(数字信号处理)
假设信号由单频正弦信号和均值为零的均匀分布白噪声叠加而成,其中正弦信号的幅度为0.1,归一化频率为0.125,信噪比,试利用MATLAB产生该含噪声信号,求MATLAB程...
假设信号由单频正弦信号和均值为零的均匀分布白噪声叠加而成,其中正弦信号的幅度为0.1,归一化频率为0.125,信噪比 ,试利用MATLAB产生该含噪声信号,求MATLAB程序!
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
1 噪声的形式: 可以证明,只要采样带宽足够,带限白噪声可用高斯分布的随机序列产生;但是均匀分布的随机序列似乎一般不认为是白噪声。 我这里选用matlab的randn来做。
rand产生的是[0,1]上的均匀分布的随机序列(据我所知一般不是白噪声)
randn产生均值为0,方差为1的高斯随机序列,也就是白噪声序列(教课书有证明是白噪声)
设信噪比 SNR=20dB 即 10/1, randn的噪声方差就是其统计功率; 正弦信号的幅度为0.1, 功率为PS = 0.5*0.1^2=0.005; randn的功率就是 PN = PS*0.1 = 0.0005 ,则噪声为:
whiteNoise = sqrt(PN)*randn(TEST_LEN,1); % TEST_LEN = 4096 试验序列长度
2 正弦信号的归一化频率指定为0.125, 要仿真,首先确定一个采样率,设 FS = 1024;
toneSig = 0.1*sin(([1:TESTLEN]/TEST_LEN/FS)*2*PI*0.125);
3 试验信号加性合成
sig = toneSig + whiteNoise;
rand产生的是[0,1]上的均匀分布的随机序列(据我所知一般不是白噪声)
randn产生均值为0,方差为1的高斯随机序列,也就是白噪声序列(教课书有证明是白噪声)
设信噪比 SNR=20dB 即 10/1, randn的噪声方差就是其统计功率; 正弦信号的幅度为0.1, 功率为PS = 0.5*0.1^2=0.005; randn的功率就是 PN = PS*0.1 = 0.0005 ,则噪声为:
whiteNoise = sqrt(PN)*randn(TEST_LEN,1); % TEST_LEN = 4096 试验序列长度
2 正弦信号的归一化频率指定为0.125, 要仿真,首先确定一个采样率,设 FS = 1024;
toneSig = 0.1*sin(([1:TESTLEN]/TEST_LEN/FS)*2*PI*0.125);
3 试验信号加性合成
sig = toneSig + whiteNoise;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询