💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
在规定的信噪比水平上向信号添加噪声是一种常见的信号处理技术,常用于模拟实验、仿真和通信系统中。这种技术可以模拟真实世界中信号传输过程中的噪声干扰,以评估系统的性能或测试算法的鲁棒性。首先需要确定待处理的信号类型,例如音频、图像或视频信号。然后,选择适当类型的噪声,常见的噪声类型包括高斯白噪声、脉冲噪声、均匀噪声等。信噪比是衡量信号与噪声之间相对强度的指标。在添加噪声之前,需要确定所需的信噪比水平,这决定了信号与噪声之间的相对能量。将生成的噪声信号与原始信号相加,以在所需的信噪比水平上模拟噪声的影响。这通常通过简单的加法操作来实现。通过在指定的信噪比水平上向信号添加噪声,可以更好地理解信号处理系统在实际环境中的表现,并评估系统在噪声环境下的鲁棒性和性能。
📚2 运行结果
主函数部分代码:
% TEST_ADDNOISE_SINUSOID Speech signal demo for ADDNOISE routine.
%
% See also ADDNOISE, TEST_ADDNOISE_SINUSOID.
clear all; close all; clc; randn('seed',0); rand('seed',0); fprintf('.\n');
% inline function for SNR calculation
SNRdB = @(s,n)( 10*log10(sum(s(:).^2)/sum((n(:)-s(:)).^2)) );
% read target and masker samples from files
[ speech, fs ] = audioread( 'sp10.wav' );
[ noise, fs ] = audioread( 'ssn.wav' );
% desired SNR level (dB)
snr = 5;
% get mixture speech at a desired SNR level
noisy = addnoise( speech, noise, snr );
% compare true and desired SNRs
fprintf( ' Desired SNR: %0.2f dB\n', snr );
fprintf( 'Measured SNR: %0.2f dB\n', SNRdB(speech,noisy) );
% generate time and frequency domain plots
hfig = figure( 'Position', [10 30 550 400], ...
'PaperPositionMode', 'auto', 'Visible', 'on', 'color', 'w' );
% plot time domain waveforms
subplot( 2,1,1 ); hold on;
myspectrogram( speech, fs, [18 1], @hanning, 1024, [-60 -2] );
set( gca, 'ytick', [0:2000:fs/2], 'yticklabel', [0:2:round(0.5E-3*fs)] );
xlabel( 'Time (s)' );
ylabel( 'Frequency (kHz)' );
% plot spectral magnitude responses
subplot( 2,1,2 ); hold on;
myspectrogram( noisy, fs, [18 1], @hanning, 1024, [-60 -2] );
set( gca, 'ytick', [0:2000:fs/2], 'yticklabel', [0:2:round(0.5E-3*fs)] );
xlabel( 'Time (s)' );
ylabel( 'Frequency (kHz)' );
% print figure to png
print( '-dpng', sprintf('%s.png',mfilename) );
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]林仁坤. 基于表面吹/吸气的高速磁浮列车气动噪声研究[D].五邑大学,2023.DOI:10.27376/d.cnki.gwydu.2023.000095.
[2]毛学锋.铁路钢桥的噪声与噪声控制[J].中国科技信息,2011(10):19+25.