【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真

1.软件版本

matlab2013b

2.本算法理论知识

参考文献:

《广义S变换时频分析的应用研究》

《时频分布与地震信号谱分析研究》

《非平稳信号广义S不变换及其在SAR图像分析中的应用研究》

《S变换时变滤波在去噪处理中的应用研究》

《广义S变换域时频特征分析及微弱目标检测方法研究》

《广义S变换及其时频滤波》

《时频分析在地震信号处理中的研究及应用》

3.部分源码

clc;
clear;
close all;
warning off;
addpath 'func\S\'
addpath 'func\GS\'


%产生线性调频信号
len         = 128; 
t           = 0:len-1;
figure;
subplot(221);
y = cos(2*pi*(10+t/8).*t/len);
plot(y);
title('线性调频信号');


%一维S变换
subplot(222);
[ST_matrix,ST_times,ST_frequencies] = func_ST(y);
contourf(ST_times,ST_frequencies,abs(ST_matrix));
title('一维S变换');

%一维广义S变换
P=0.1;
R=1;
K=2;
subplot(223);
[GST_matrix,GST_times,GST_frequencies] = func_GST(y,P,R,K);
contourf(GST_times,GST_frequencies,abs(GST_matrix));
title('一维广义S变换');


%一维广义S逆变换
subplot(224);
y2 = func_inv_GST(GST_matrix);
plot(y2);
title('线性调频信号');
 




4.仿真分析

         注意,广义S和一般S的区别就是广义S具有调节参数。关于不同参数下广义S变换的窗函数的仿真的结果如下所示:

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真_第1张图片

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真_第2张图片

        基于广义S变换的时频滤波器。对于一个非平稳信号加上噪声,要把噪声滤除掉;而且要知道前后的信噪比。最后,再把设计得时频滤波器用到人工合成的地震信号和实际地震信号里。另外,要对这个信号用阈值滤波、小波软阈值滤波、时频滤波进行比较滤波前的信噪比和滤波后的信噪比。

         这里主要是几个算法的滤波性能的对比。仿真结果如下所示:

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真_第3张图片

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真_第4张图片

 

         用二维广义S变换去除二维图像随机噪声,比较无噪声和加入噪声后去除噪声的图像比较及噪声比。程序要有二维广义S变换的算法实现。

         这里,将使用二维图像的广义S变换处理:

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真_第5张图片

注意,通过仿真可知,如果当图像像素大于50的时候,仿真速度及其缓慢,所以在实际进行二维图像滤波的时候哦,我们一般使用局部滤波的思路,即将图像分为多个局部图像,然后再将其二维的局部图转换为一维序列,然后完成滤波。

5.参考文献

[1]高静怀, 陈文超, 李幼铭,等. 广义S变换与薄互层地震响应分析[J]. 地球物理学报, 2003, 46(4):7.A28-09

你可能感兴趣的:(MATLAB,其他,matlab,开发语言,广义S变换)