✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)
⛄一、小波语音降噪简介
对于噪声频谱遍布于语音信号频谱之中的宽带噪声,如果噪声振幅比大部分的语音信号振幅低,则削去低幅度成分也就削去了宽带噪声。基于这种思路,可以在频域中采取中心限幅的方法,即让带噪语音信号通过一限幅滤波器,高幅度频谱可以通过而低幅成分不允许通过,从而实现噪声抑制。需要注意的是中心削波不可避免地要损害语音质量,通常只在频域中进行,而一般不在时域中实施。
小波降噪的原理类似于中心削波法。小波降噪最初是由Donoho和Johnstone提出的, 其主要理论依据是,小波变换具有很强的去数据相关性,它能够使信号的能量在小波域集中在一些大的小波系数中;而噪声的能量却分布于整个小波域内。因此,经小波分解后,信号的小波系数幅值要大于噪声的系数幅值。因此,幅值比较大的小波系数一般以信号为主,而幅值比较小的系数在很大程度上是噪声。于是,采用阈值的办法可以把信号系数保留,而使大部分噪声系数减小至0。小波降噪的具体处理过程为:将含噪信号在各尺度上进行小波分解,设定一个阈值,幅值低于该阈值的小波系数置为0,高于该阈值的小波系数或者完全保
留, 或者做相应的“收缩”(shrinkage) 处理。最后; 将处理后获得的小波系数用逆小波变换进行重构,得到去噪后的信号。
阈值去噪中,阈值函数体现了对超过和低于阈值的小波系数的不同处理策略,是阈值去噪中关键的一步。设w表示小波系数, T为给定阈值, sgn(*) 为符号函数, 常见的阈值函数主要有:
⛄二、部分源代码
clc
clear all
close all
fs = 20e3; % 采样频率
fn = 3e3; % 固有频率
y0 = 5; % 位移常数
g = 0.1; % 阻尼系数
T = 0.01; % 重复周期
N = 4096; % 采样点数
NT = round(fsT); % 单周期采样点数
t = 0:1/fs:(N-1)/fs; % 采样时刻
t0 = 0:1/fs:(NT-1)/fs; % 单周期采样时刻
K = ceil(N/NT)+1; % 重复次数
y = [];
for i = 1:K
y = [y,y0exp(-g2pifnt0).sin(2pifnsqrt(1-g^2)*t0)];
end
y = y(1:N);
Yf = fft(y); % 频谱
y5 = awgn(y,0.5,‘measured’); % Add white Gaussian noise
y10 = awgn(y,1,‘measured’); % Add white Gaussian noise
y15 = awgn(y,5,‘measured’); % Add white Gaussian noise
%%信噪比=0.5--------------------------------------------
mse12=MSE(y5,xdy12);
PSNR12=PSNR(y5,xdy12);
st=sprintf(‘经软阈值函数去噪后的均方差=%.2f,信噪比=%.2f’,mse12,PSNR12);disp(st)
st=sprintf(‘经半软阈值函数去噪后的均方差=%.2f,信噪比=%.2f’,mse13,PSNR13);disp(st)
figure(1);
subplot(511);plot(t,y);axis([0,inf,-4,5]);title(‘原始信号’);xlabel(‘时间e(s)’);ylabel(‘幅度’)
subplot(512);plot(t,y5);axis([0,inf,-4,5]);title(‘加入0.5db高斯白噪声的信号’);xlabel(‘时间e(s)’);ylabel(‘幅度’)
subplot(513);plot(t,xdy11);axis([0,inf,-4,5]);title(‘经硬阈值函数处理后的信号’);xlabel(‘时间e(s)’);ylabel(‘幅度’)
subplot(514);plot(t,xdy12);axis([0,inf,-4,5]);title(‘经软阈值函数处理后的信号’);xlabel(‘时间e(s)’);ylabel(‘幅度’)
subplot(515);plot(t,xdy13);axis([0,inf,-4,5]);title(‘经半软阈值函数处理后的信号’);xlabel(‘时间e(s)’);ylabel(‘幅度’)
function X = denh(x, wname, n, thr)
%硬阈值
[C, S] = wavedec2(x, n, wname); %进行小波分解
dcoef = C( prod(S(1, 😃) + 1 : end); %高频部分系数
ind = find( abs(dcoef) < thr) + prod(S(1, 😃); %小于阈值thr的系数
C(ind)=0; % 直接置零
a=0.6;
ind = find( abs(dcoef) >= thr) + prod(S(1, 😃); %大于阈值thr的系数
C(ind) = C(ind);
%按照公式处理
function X = denr(x, wname, n, thr)
% 软阈值
[C, S] = wavedec2(x, n, wname); %进行小波分解
dcoef = C( prod(S(1, 😃) + 1 : end); %高频部分系数
ind = find( abs(dcoef) < thr) + prod(S(1, 😃); %小于阈值thr的系数
C(ind) = 0; % 直接置零
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合