(38)MATLAB分析带噪信号的频谱

文章目录

  • 前言
  • 一、MATLAB仿真代码
  • 二、仿真结果画图
  • 总结


前言

本文给出带噪信号的时域和频域分析,指出频域分析在处理带噪信号时的优势。

首先使用MATLAB生成一段信号,并在信号上叠加高斯白噪声得到带噪信号,然后对带噪信号对其进行FFT变换,得出其频谱,并对其频谱进行分析,阐述加性高斯白噪声对信号频谱的影响。


一、MATLAB仿真代码

代码如下:

f1 = 50;                       % 余弦波1的频率
f2 = 100;                      % 余弦波2的频率
A1 = 0.7;                      % 余弦波的振幅
A2 = 1;                        % 余弦波的振幅
fs = 1000;                     % 采样率                   
Ts = 1/fs;                     % 采样时间间隔    
L = 1500;                      % 信号长度,单位sample
t = (0:L-1)*Ts;                % 时间向量

% 合成信号包含两个正弦波,幅值为0.750Hz正弦波和幅值为1100Hz正弦波
s = A1*sin(2*pi*f1*t) + A2*sin(2*pi*f2*t);

% 信号加白噪声
x = s + 2*randn(size(t));      % 白噪声均值为零、方差为4

% 绘制带噪信号的时域波形。通过时域波形,难以辨认出有用信号。
figure()
plot(1000*t(1:100),x(1:100),'LineWidth',1.5)
grid on
title('被零均值随机噪声污染的信号')
xlabel('t/ms')
ylabel('x(t)')

% 将信号变换到频域
Y = fft(x);

% 计算信号的单边幅度频谱
P2 = abs(Y/L);                 % 计算双边幅度频谱P2
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);   % 基于双边幅度谱P2计算单边幅度频谱P1

% 绘制单边幅度频谱
f = fs*(0:(L/2))/L;            % 频域的频率刻度,单位Hz
figure()
plot(f,P1,'LineWidth',1.5)
grid on
title('带噪信号x(t)的单边幅度谱')
xlabel('频率(Hz)')
ylabel('频谱幅度|P1(f)|')

二、仿真结果画图

时域波形图:

在这里插入图片描述

带噪信号的频谱(单边谱):

在这里插入图片描述

(1)时域分析
从时域波形几乎看不出原始信号,也就是说信号被严重干扰了。

(2)频域分析
观察带噪信号的频谱,可以发现:(1)带噪信号频率与预期相符,即与原始信号一致,因为加性高斯白噪声并不带来信号频移;(2)噪声导致幅值并不精确等于0.7和1。

总结

对于被噪声污染的信号,干扰严重时,我们几乎难以从时域波形看到期待的信号,此时,就需要借助频域分析,从频谱上将很容易发现信号的特征,这对我们做信号分析和提取都非常有帮助。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892838.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:跳表

数据结构:跳表 跳表实现类架构构造函数析构函数查找插入删除 总代码 跳表 在传统的链表中,不论单链表还是双链表,查询时都要O(N)的时间复杂度,就算是一个有序链表,由于无法像数组一样定址,无法进行二分查找…

学习最新vue20.17.0-事件处理

vue中文官网事件处理 | Vue.js (vuejs.org) 我在官网基础上,添加些代码,方便初学者学习,能够快速理解官网内容,掌握自己所需要的知识,以便节省宝贵的时间。 事件处理 监听事件 我们可以使用 v-on 指令 (简写为 @) 来监听 DOM 事件,并在事件触发时执行对应的 JavaScript…

Anaconda3与PyCharm安装配置

参考文章 Anaconda3与PyCharm安装配置保姆教程 参照上面文章,安装好Anaconda3和PyCharm环境 下面重点记录下环境配置 1,在window系统菜单中选择Anaconda Prompt,而不是Anaconda Powershell Prompt 2, 打开Anaconda Prompt,输…

[网络基础]——什么是IP路由,路由优先级,度量值详解

🏡作者主页:点击! 🤖网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年10月14日15点23分 路由器扮演着至关重要的角色,它不仅负责将数据包从源地址转发到目的地址,还…

wsl1升级到wsl2步骤

1、进入到windows功能界面(winr:输入cmd,到界面里面输出control) 这几个选项勾选上,然后自动重启电脑 2、下载WSL2内核安装包 前往此链接,然后点击下图的下载链接,下载这个更新包后用管理员权…

美畅物联丨剖析 GB/T 28181 与 GB 35114:视频汇聚领域的关键协议

我们在使用畅联云平台进行视频汇聚时,经常会用的GB/T 28181协议,前面我们写了关于GB/T 28181的相关介绍,​ 详见《畅联云平台|关于GB28181你了解多少?》。 ​最近也有朋友向我们咨询GB 35114协议与GB/T 28181有什么不同…

详细分析Redisson分布式锁中的renewExpiration()方法

目录 一、Redisson分布式锁的续期 整体分析 具体步骤和逻辑分析 为什么需要递归调用? 定时任务的生命周期? 一、Redisson分布式锁的续期 Redisson是一个基于Redis的Java分布式锁实现。它允许多个进程或线程之间安全地共享资源。为了实现这一点&…

闯关leetcode——118. Pascal‘s Triangle

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/pascals-triangle/description/ 内容 Given an integer numRows, return the first numRows of Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers direct…

2.Java--入门程序

一、开发Java程序 步骤: 1.编写代码 其中第一行的HelloWorld叫类名,下面的框架叫main()方法, 类名要和文件名一致, 2.编译代码 用Javac进行编译,将编写的代码保存之后,打开WindowsR输入cmd 用cd文件夹…

SPP与SPPF的区别?Anchor based和Anchor free的区别?

SPP与SPPF的区别? spp是何凯明提出来的,名为空间金子塔,有效避免了对图像区域的裁剪、缩放操作导致的图像失真等问题。 解决了卷积神经网络对图相关重复特征提取的问题,大大提高了产生候选框的速度,且节省了计算成本。…

razor TagHelper 汇总、HtmlHelper 汇总

Tag Helper Tag Helpers 的范围由 addTagHelper 和 removeTagHelper 进行控制&#xff0c;并且 “!” 为退出字符。 addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers // 手动高亮 asp-for 》》 Label <label asp-for"userName"></label>》》生…

九大排序之选择排序和归并排序

1.前言 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的数据元素排完 。 本章重点&#xff1a; 堆排序和选择排序和归并排序 2.选择排序 基本思路 left和right记录区间的左端和右…

Opencv库的安装与vs项目配置(vs成功配置opencv库)

目录 一、下载安装opencv 1、下载 2、减压安装 3、环境变量配置 二、vs项目配置opencv 1、创建vs项目 2、配置opencv库 3、测试 其中&#xff1a;二、2、配置opencv库是最复杂的&#xff0c;有空需要搞清楚vs中配置不同地方的区别。 以下所有测试是opencv官方4.6.0 w…

差分的数学定义——由泰勒展开式推导

差分是数值分析中的概念&#xff0c;用于近似连续函数的导数。差分可以通过多种方式定义&#xff0c;一阶差分常见的有前向差分、后向差分和中心差分&#xff0c;二阶差分常用的是中心差分法。 一阶差分 1. 前向差分 (Forward Difference) 对于一个函数 f ( x ) f(x) f(x)&…

机器学习数据标准化与归一化:提升模型精度的关键

&#x1f4d8;数据标准化与归一化&#xff1a;提升模型精度的关键 机器学习中的数据处理环节至关重要&#xff0c;其中&#xff0c;数据标准化与归一化是提高模型性能的关键步骤之一。数据的特征尺度往往不一致&#xff0c;直接影响模型的训练效果&#xff0c;因此对数据进行处…

大数据开发基础实训室设备

大数据实验实训一体机 大数据实验教学一体机是一种专为大数据教育设计的软硬件融合产品&#xff0c;其基于华为机架服务器进行了调优设计&#xff0c;从而提供了卓越的性能和稳定性。这一产品将企业级虚拟化管理系统与实验实训教学信息化平台内置于一体&#xff0c;通过软硬件…

【超详细】TCP协议

TCP(Transmission Control Protocol 传输控制协议) 传输层协议有连接可靠传输面向字节流 为什么TCP是传输控制协议呢&#xff1f; 我们以前所看到的write接口&#xff0c;都是把用户级缓冲区的数据拷贝到发送缓冲区中&#xff0c;然后数据就由TCP自主决定了&#xff0c;所以…

番茄工作法计时器:高效时间管理利器

《番茄工作法计时器&#xff1a;高效时间管理利器》 在快节奏的现代生活中&#xff0c;高效管理时间成为每个人的迫切需求。今天&#xff0c;我们为你推荐一款强大的番茄工作法计时器。 这款计时器设计简洁&#xff0c;操作便捷&#xff0c;仅有两个按钮 —— 工作 25 分钟和休…

【未公开0day】RaidenMAILD CVE-2024-32399 路径穿越漏洞【附poc下载】

免责声明&#xff1a;本文仅用于技术学习和讨论。请勿使用本文所提供的内容及相关技术从事非法活动&#xff0c;若利用本文提供的内容或工具造成任何直接或间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果均与文章作者及本账号无关。 fofa语…

【C++】创建TCP服务端

实现了一个基本的 TCP 服务器&#xff0c;可以接受多个客户端连接&#xff0c;然后持续接收客户端发送的信息&#xff0c; 最后将接收到的信息再发送回客户端 。 源码 头文件&#xff08;TCPServerTest.h&#xff09; #include <iostream> #include <winsock2.h&g…