Matlab信号处理1:模拟去除信号噪声

这篇具有很好参考价值的文章主要介绍了Matlab信号处理1:模拟去除信号噪声。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一个简单的示例:

设计Matlab程序,去掉左图信号中大于20Hz的频率,使其变为右图。

Matlab信号处理1:模拟去除信号噪声,Matlab信号处理,matlab,信号处理,信号系统,数据信号处理

% 1.生成原信号并绘图
% 生成10s的信号,每隔0.0001s生成1次
t1 = 0:0.0001:10; 
% 原信号
y1 = 3*sin(2*pi*10*t1)+sin(2*pi*40*t1)+sin(2*pi*200*t1); 

% 原信号时域图 & 设置横纵轴范围 & 设置图名、横纵轴标签
subplot(321);
plot(t1,y1);
xlim([0 1]);
ylim([-6 6]);
title('原信号时域');
xlabel('时间(s)');
ylabel('幅值');

% 设置横纵轴分度值
set(gca,'XTick',0:0.25:1); 
set(gca,'YTick',-6:3:6);

% 2.模拟采样
% 采样时长1s,采样频率100Hz
t2 = 0:0.01:1;  
y2 = 3*sin(2*pi*10*t2)+sin(2*pi*40*t2)+sin(2*pi*200*t2); 

% 采样信号图 & 设置横纵轴范围 & 设置图名、横纵轴标签 & 设置横纵轴分度值
subplot(322);
plot(t2,y2);
xlim([0 1]);
ylim([-6 6]);
title('采样信号波形');
xlabel('时间(s)');
ylabel('幅值');
set(gca,'XTick',0:0.25:1); 
set(gca,'YTick',-6:3:6);

% 3.fft
% 采样后信号的数据长度
dataLength = length(y2);

% 对采样后的信号进行fft
y2FFT = fft(y2,dataLength);

% 求幅值
mag = abs(y2FFT);

% 幅值归一化
mag = mag*2/dataLength;
pha = angle(y2FFT)*180/pi;

% 无效相位置0
for i = 1:dataLength
    if (mag(1,i)<0.3)
        pha(1,i) = 0;
    end
end

% fft后的序列坐标
n = 0:dataLength-1;

% 采样频率
fs = 1/0.01;

% 序列频率
f = (0:dataLength-1)*fs/dataLength;

% fft频域图
% 绘制幅度谱,stem:绘制离散信号图
subplot(323);
stem(f(1:dataLength/2),mag(1:dataLength/2));
xlim([0 50]);
ylim([0 4]);
set(gca,"XTick",0:10:50);
xlabel("频率(Hz)");
title('幅度谱');

% 绘制相位谱
subplot(324);
stem(f(1:dataLength/2),pha(1:dataLength/2));
xlim([0 50]);
set(gca,'XTick',0:10:50);
xlabel("频率(Hz)");
ylabel("相位");
title('相位谱');

% 低通滤波器滤波  详见下面描述
% 载入设计的滤波器
load("my_filter.mat");  % 另存为的名字

% 滤波
% 滤波器系数存放于filtercoe数组中
filtercoe = my_filter;  % 设计完滤波器,导出的名字
y_Filtered = filter(filtercoe,1,y2);

% 滤波后的时域图
subplot(326);
plot(t2,y_Filtered);
xlim([0 1]);
ylim([-6 6]);
set(gca,'XTick',0:0.25:1); 
set(gca,'YTick',-6:3:6);
title('滤波后时域');
xlabel('时间(s)');
ylabel('幅值');

注:

1. 第85行低通滤波器的设计需要在命令行窗口输入filterDesigner以打开滤波器设计窗口,如下图:

Matlab信号处理1:模拟去除信号噪声,Matlab信号处理,matlab,信号处理,信号系统,数据信号处理

在窗口中设置如下红框中主要参数,然后点击设计滤波器

Matlab信号处理1:模拟去除信号噪声,Matlab信号处理,matlab,信号处理,信号系统,数据信号处理

生成成后,会出现粉框中的波形。

点击文件-导出,点击弹出窗口中的导出,在Num处命名导出到工作区的名字

此时滤波器已经导出到工作区中。

Matlab信号处理1:模拟去除信号噪声,Matlab信号处理,matlab,信号处理,信号系统,数据信号处理

右击工作区中导出的滤波器,另存为,之后便可通过该滤波器的名称导入到程序中使用

运行效果:

Matlab信号处理1:模拟去除信号噪声,Matlab信号处理,matlab,信号处理,信号系统,数据信号处理

遗留问题:

1. 图3中存在频谱泄露,后续学习如何解决;

2. 程序中的相关设计仍在学习;文章来源地址https://www.toymoban.com/news/detail-696854.html

到了这里,关于Matlab信号处理1:模拟去除信号噪声的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB——信号处理仿真功能课程设计报告

    摘    要... I 目    录. II 1 设计目的及内容. 1 1.1 课程设计目的. 1 1.2 课程设计内容. 1 2 课程设计基本原理. 3 2.1 基本信号. 3 2.2 计算原理. 3 3 设计与仿真. 4 3.1 基本信号. 4 3.2计算过程. 6 3.3 matlab仿真原理. 7 3.4 计算结果. 8 3.5结果分析. 10 总    结. 12 参 考 文 献. 13 附录 仿真

    2024年02月11日
    浏览(44)
  • matlab函数转C++(数字信号处理)

    近期主要利用QT完成一个本科的通信教学软件,其中涉及大量matlab转C++的工作,本来是想利用matlab的Coder模块进行转换的,本人小白不太会用,还是自己按着matlab内置函数的代码进行转换,函数写的比较笨,希望大家能够多多指导. 使用的是C++的armadillo矩阵库进行矩阵的运算,

    2024年02月06日
    浏览(42)
  • MATLAB信号处理与应用 读书笔记 一

    完成了基本操作,今天组数也正常,需要对应解决fsctrl文件中的信号处理相关 重点关注4傅里叶变换,6FIR滤波器,10信号处理中的应用 字符的链接[\\\'aa\\\',\\\'bb\\\']; FFT用DFT原理,理解起来还是吃力 FFT绘图部分,原信号: 叠加上随机噪声 plot画图,画连续的也需要进行点数离散化,点

    2024年02月04日
    浏览(43)
  • MATLAB GUI笔记(十):音频信号处理

    选择Blank GUI,然后更改保存路径 改变字体大小和显示内容 更改字体大小和显示内容 注意:以下代码中的部分变量使用global,是全局变量,这样别的控件callback函数也能调用该变量。 可以更改字体大小和显示内容 查看属性并更改字体大小和显示内容 面板 单选按钮 按钮 静态文

    2024年02月09日
    浏览(46)
  • 使用matlab进行回声处理(三重回声)-数字信号处理课设

    1.录制一段声音信号,作为原音频信号,生成频域与时域图形,观察与分析其时域 与频域图形。 2.对该音频信号进行时域处理,并且实现对该声音信号添加第一层回声。 3.对该音频信号再继续一次进行时域处理,实现对该声音信号添加第二层回声。 4.将三段音频信号进行合成

    2024年02月03日
    浏览(48)
  • MATLAB|信号处理的Simulink搭建与研究

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 信号处

    2024年02月13日
    浏览(41)
  • 【Matlab】音频信号谱分析及椭圆滤波处理

    一个使用matlab对音频信号进行频谱分析及滤波处理的学习笔记,本文使用的是椭圆滤波器。 音频下载 demo.mp3 读取音频信号进行傅里叶变换 结果如下 在谱分析中使用matlab自带的快速傅里叶变换函数进行变换 在IIR滤波器设计中使用椭圆低通滤波器 椭圆滤波器使用 入门级教程

    2024年02月12日
    浏览(43)
  • 【数字信号处理】带通采样定理及其MATLAB仿真

    按照奈奎斯特采样定理(低通采样),采样频率 f s f_{s} f s ​ 要大于等于信号中最高频率 f m a x f_{max} f ma x ​ 的2倍,才可以保证采样后的数字信号通过DAC转换后,可以无失真的恢复为原信号。然而,如果信号的频率分布在某一有限频带上,并且信号的最高频率 f m a x f_{max} f

    2024年02月16日
    浏览(49)
  • 【数字图像处理】灰度图像中添加高斯噪声、椒盐噪声、斑点噪声以及利用不同方法(中值、排序、维纳滤波)去除各种噪声的matlab程序

    图像处理问题描述: 1、图像中分别加入不同方差的高斯噪声、不同噪声密度椒盐噪声和不同方差的斑点噪声(Gaussian noise, salt  pepper noise and speckle noise) 2、分别通过函数medfilt2、ordfilt2和 Wiener 2 去除图像中添加的一些噪声(Gaussian noise, salt  pepper noise and speckle noise)。 各部

    2024年02月07日
    浏览(57)
  • 信号处理之FIR数字滤波器(Matlab仿真)

            数字滤波器的作用是滤除不感兴趣的信号,留下想要的信号。数字滤波器可分为无限脉冲响应(IIR)数字滤波器、有限脉冲响应(FIR)数字滤波器两种,两者各有优缺点,其中FIR数字滤波器因其具有良好的线性相位特性受到广泛应用,线性相位是指信号中各频率成分的相对

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包