一维加噪信号的平滑处理(3)

57 篇文章 2 订阅
15 篇文章 0 订阅


%--------------------------------------------------------------------------
%              调用medfilt1函数对加噪正弦波信号进行平滑处理
%--------------------------------------------------------------------------

%*****************产生加噪正弦波信号,绘制加噪波形图*************************
t = linspace(0,2*pi,500)';  % 产生一个从0到2*pi的向量,长度为500
y = 100*sin(t);  % 产生正弦波信号
% 产生500行1列的服从N(0,152)分布的随机数,作为噪声信号
noise = normrnd(0,15,500,1);
y = y + noise;  % 将正弦波信号加入噪声信号
figure;  % 新建一个图形窗口
plot(t,y);  % 绘制加噪波形图
xlabel('t');  % 为X轴加标签
ylabel('y = sin(t) + 噪声');  % 为Y轴加标签


%***********调用medfilt1对加噪正弦波信号y进行中值滤波,并绘制波形图***********
yy = medfilt1(y,30);  % 指定窗宽为30,对y进行中值滤波
figure;  % 新建一个图形窗口
plot(t,y,'k:');  % 绘制加噪波形图
hold on
plot(t,yy,'k','LineWidth',3);  % 绘制平滑后曲线图,黑色实线,线宽为3
xlabel('t');  % 为X轴加标签
ylabel('中值滤波');  % 为Y轴加标签
legend('加噪波形','平滑后波形');




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中,可以使用一维高斯滤波器对信号进行平滑处理。首先,需要定义一个高斯滤波器模板,模板的大小由参数r决定,标准差由参数sigma决定。然后,将滤波器应用于需要进行平滑处理信号y。下面是一个示例代码: ```matlab % 生成一维高斯滤波模板 GaussTemp = ones(1,r*2-1); for i=1 : r*2-1 GaussTemp(i) = exp(-(i-r)^2/(2*sigma^2))/(sigma*sqrt(2*pi)); end % 高斯滤波 y_filted = y; for i = r : length(y)-r+1 y_filted(i) = y(i-r+1 : i+r-1)*GaussTemp'; end ``` 在这个示例中,我们首先生成了一个一维高斯滤波器模板GaussTemp。然后,通过循环将滤波器应用于信号y的每个元素,计算滤波后的结果y_filted。最后,可以使用plot函数将滤波前后的信号进行对比并作图。 请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体情况进行调整和优化。 #### 引用[.reference_title] - *1* *3* [【信号】用matlab实现一维信号的高斯滤波](https://blog.csdn.net/weixin_30359021/article/details/95696410)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [matlab图像处理——平滑滤波](https://blog.csdn.net/weixin_43418716/article/details/83626814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值