📄 shiyanxinhao_fft.m
字号:
clc;
clear;
cd E:\Denoise_wavelet_Mod
load d1_ys;
load d1_qyz;
x=d1_qyz;
% xxref = fft(xref) ; %对原始信号进行傅里叶变换
% xxref = abs(xxref) ;
% % clc;
% % clear;
% % cd E:\Denoise_wavelet_Mod
% % load d_qyz;
% % x=dd';
[n,p]=size(x)
xx = fft(x) ; %对含噪声进行傅里叶变换
absxx = abs(xx);
%下面画出傅里叶变换后的频谱图
figure (3)
% subplot(3,2,1) ; plot(xxref) ;
% title ('原始信号的谱图') ;
plot(absxx) ;
title ( '含噪声信号的谱图') ;
%进行低通滤波,滤波频率0~
for i=100:2400
xx(i)=0;
end
% for i=2400:2500
% xx(i)=0;
% end
xifft=ifft(xx);
magx=real(xifft);
figure
plot(magx)
title ( '傅里叶变换消噪结果') ;
% SNR=snr(dd',magx)
% re=sum((magx-dd').^2)
% RMSE=sqrt(1/n*re)
%将变量名转换为公共名称
signal=d1_ys;
% % signal=x;
denoising=magx;
%求信噪比
SNR=snr(signal,denoising)
re=sum((denoising-signal).^2)
RMSE=sqrt(1/n*re)
% % % % % % % % % % % % % % % % % %
%求平滑度
for i=1:(n-1)
sig(i)=(signal(i+1)-signal(i)).^2; %信号差分数的方差根
den(i)=(denoising(i+1)-denoising(i)).^2; %噪声差分数的方差根
end
Ps=sum(sig)
Pd=sum(den)
r=Pd/Ps %平滑度指标
%求偏差
for i=1:n
re(i)=signal(i)-denoising(i); %原始信号与消噪后信号差
end
BIAS=mean(re) %原始信号与估计信号的偏差
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -