数字信号去噪 基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪含Matlab源码 1025期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号去噪 基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪含Matlab源码 1025期相关的知识,希望对你有一定的参考价值。
一、简介
基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪
二、源代码
clc
clear all
close all
fs = 20e3; % 采样频率
fn = 3e3; % 固有频率
y0 = 5; % 位移常数
g = 0.1; % 阻尼系数
T = 0.01; % 重复周期
N = 4096; % 采样点数
NT = round(fs*T); % 单周期采样点数
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,y0*exp(-g*2*pi*fn*t0).*sin(2*pi*fn*sqrt(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; % 直接置零
三、运行结果
四、备注
版本:2014a
以上是关于数字信号去噪 基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪含Matlab源码 1025期的主要内容,如果未能解决你的问题,请参考以下文章
数字信号去噪基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪含Matlab源码 1025期
数字信号去噪基于matlab硬阈值软阈值半软阈值Maxmin阈值Garrote阈值小波变换心音去噪含Matlab源码 2064期
数字信号去噪基于matlab硬阈值软阈值半软阈值Maxmin阈值Garrote阈值小波变换心音去噪含Matlab源码 2064期
Matlab系列一维信号/数字图像小波阈值去噪(软阈值,硬阈值,固定阈值)