曲线平滑算法 matlab,matlab学习之降噪平滑算法

平滑降噪测试,代码如下

% 平滑降噪

% FFT变换和小波变换

clc

clf

clear

length_of_sig=128;

x=linspace(0,2*pi,length_of_sig);

% signal=5*sin(x)+2*sin(5*x)+randn(x);书上的这个是错的,随机数里的参数要求是整数

raw=5*sin(x)+2*sin(5*x);

signal=5*sin(x)+2*sin(5*x)+randn(1,length_of_sig);

jiequ=16;

transf=fft(signal);

filter_transf(1:jiequ)=transf(1:jiequ);

filter_transf(length_of_sig-jiequ:length_of_sig)=transf(length_of_sig-jiequ:length_of_sig);

filter_signal=ifft(filter_transf);

% before_hist=real(transf);

% after_hist=hist(before_hist);

% after_hist=histogram(before_hist);

[xd1,cxd1,lxd1] = wden(signal,‘sqtwolog‘,‘h‘,‘sln‘,3,‘db3‘);

[xd2,cxd2,lxd2] = wden(signal,‘sqtwolog‘,‘s‘,‘one‘,2,‘db3‘);

plot(x,signal,‘k--‘)

hold on;

% plot(x,raw,‘r‘)‘无噪声信号‘,

plot(x,filter_signal,‘b‘)

plot(x,xd1);

plot(x,xd2);

legend(‘无噪声信号+噪声‘,‘FFT恢复信号‘,...

‘小波1恢复信号‘,‘小波2恢复信号‘)

% 从结果看来小波2和FFT效果都不错。

参考:

1、matlab教程,例1.6 傅里叶变换与信号分析,之后发现改教程是基于matlab5.2的。

2、七中滤波方法测试matlab实现(转)

原文:http://www.cnblogs.com/liq07lzucn/p/6622826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值