信号处理与分析——matlab记录
一、绘制信号分析频谱
1.代码
% 生成测试信号
Fs = 3000; % 采样频率
t = 0:1/Fs:1-1/Fs; % 时间向量
x1 = 1*sin(2*pi*50*t)+ 1*sin(2*pi*60*t); % 信号1
x2 = 1*sin(2*pi*150*t)+1*sin(2*pi*270*t); % 信号2% 绘制信号图
subplot(2,2,1);
plot(t,x1);
title('信号x1 1*sin(2*pi*50*t)+ 1*sin(2*pi*60*t)');
xlabel('时间 (s)');
ylabel('幅度');subplot(2,2,2);
plot(t,x2);
title('信号x2 1*sin(2*pi*150*t)+1*sin(2*pi*270*t)');
xlabel('时间 (s)');
ylabel('幅度');x3=x1.*x2;
x4=conv2(x1,x2);% 计算FFT
N1 = length(x3);
X1 = fft(x3);
f1 = Fs*(0:(N1/2))/N1;% 绘制FFT图
subplot(2,2,3);
plot(f1,abs(X1(1:N1/2+1)));
title('信号x1 × x2 的FFT变换');
xlabel('频率 (Hz)');
ylabel('幅度');% 计算FFT
N2 = length(x4);
X2 = fft(x4);
f2 = Fs*(0:(N2/2))/N2;% 绘制FFT图
subplot(2,2,4);
plot(f2,abs(X2(1:N2/2+1)));
title('信号x1 * x2 的FFT变换');
xlabel('频率 (Hz)');
ylabel('幅度');
2.现象
二、 绘制序列
FS=2000;%采样频率
T=0.1;%采样时间
t=0:1/FS:T-1/FS;%设置对应的步长
%t=linspace(0,T-1/FS,T/(1/FS));linspace也可以生成行向量来使用A=2;
a=0.5;
f0=50;
x=A.*exp(-a.*t).*sin(2*pi*f0.*t);figure(1);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为2000,可以看出完美的还原了波形','FontWeight','bold','FontSize',15,'BackgroundColor','cyan')
hold on
stem(t,x,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd1=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(2);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为1000,此时依然可以很好的还原波形','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS2=1000;%采样频率
T2=0.1;%采样时间
t2=0:1/FS2:T2-1/FS2;%设置对应的步长
x2=A.*exp(-a.*t2).*sin(2*pi*f0.*t2);
stem(t2,x2,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd2=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(3);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为500,得到的信息变少了许多,这并不利于波形的分析','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS3=500;%采样频率
T3=0.1;%采样时间
t3=0:1/FS3:T3-1/FS3;%设置对应的步长
x3=A.*exp(-a.*t3).*sin(2*pi*f0.*t3);
stem(t3,x3,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd3=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(4);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为250,此时可以看出,已经严重失真','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS4=250;%采样频率
T4=0.1;%采样时间
t4=0:1/FS4:T4-1/FS4;%设置对应的步长
x4=A.*exp(-a.*t4).*sin(2*pi*f0.*t4);
stem(t4,x4,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd4=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');
相关文章:

信号处理与分析——matlab记录
一、绘制信号分析频谱 1.代码 % 生成测试信号 Fs 3000; % 采样频率 t 0:1/Fs:1-1/Fs; % 时间向量 x1 1*sin(2*pi*50*t) 1*sin(2*pi*60*t); % 信号1 x2 1*sin(2*pi*150*t)1*sin(2*pi*270*t); % 信号2% 绘制信号图 subplot(2,2,1); plot(t,x1); title(信号x1 1*sin(…...
Android Databinding 使用教程
Android Databinding 使用教程 一、介绍 Android Databinding 是 Android Jetpack 的一部分,它允许你直接在 XML 布局文件中绑定 UI 组件到数据源。通过这种方式,你可以更简洁、更直观地更新 UI,而无需编写大量的 findViewById 和 setText/…...

【每日跟读】常用英语500句(200~300)
【每日跟读】常用英语500句 Home sweet home. 到家了 show it to me. 给我看看 Come on sit. 过来坐 That should do nicely. 这样就很好了 Get dressed now. 现在就穿衣服 If I were you. 我要是你 Close your eyes. 闭上眼睛 I don’t remember. 我忘了 I’m not su…...

【Java开发过程中的流程图】
流程图由一系列的图形符号和箭头组成,每个符号代表一个特定的操作或决策。下面是一些常见的流程图符号及其含义: 开始/结束符号(圆形):表示程序的开始和结束点。 过程/操作符号(矩形)ÿ…...
蓝桥杯刷题-day5-动态规划
文章目录 使用最小花费爬楼梯解码方法 使用最小花费爬楼梯 【题目描述】 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶…...
新概念英语1:Lesson7内容详解
新概念英语1:Lesson7内容详解 如何询问人的个人信息 本课里有两个关于个人信息的问句,一个是问国籍,一个是问工作,句型如下: what nationality are you?询问国籍 回复一般就是我是哪国人,I’m Chinese…...
FASTAPI系列 14-使用JSONResponse 返回JSON内容
FASTAPI系列 14-使用JSONResponse 返回JSON内容 文章目录 FASTAPI系列 14-使用JSONResponse 返回JSON内容前言一、默认返回的JSON格式二、JSONResponse 自定义返回三、自定义返回 headers 和 media_type总结 前言 当你创建一个 FastAPI 接口时,可以正常返回以下任意…...

【版本控制】git使用指南
Git 是一个免费、开源的分布式版本控制系统,最初由 Linus Torvalds 于2005年创建。它旨在管理项目的源代码,并提供了跟踪更改、协作开发、版本控制、分支管理等功能。 一、版本控制概念 版本控制系统(Version Control System,VC…...

Flask 与小程序 的图片数据交互 过程及探讨研究学习
今天不知道怎么的,之前拿编程浪子地作品抄过来粘上用好好的,昨天开始照片突的就不显示了。 今天不妨再耐味地细细探究一下微信小程序wxml 和flask服务器端是怎么jpg图片数据交互的。 mina/pages/food/index.wxml <!--index.wxml--> <!--1px …...

【JavaEE】初识线程,线程与进程的区别
文章目录 ✍线程是什么?✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么? ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…...
Kafka高级面试题-2024
Kafka中的Topic和Partition有什么关系? 在Kafka中,Topic和Partition是两个密切相关的概念。 Topic是Kafka中消息的逻辑分类,可以看作是一个消息的存储类别。它是按照不同的主题对消息进行分类,并且可以用于区分和筛选数据。每个…...
Qt——Qt文本读写之QFile与QTextStream的使用总结(打开文本文件,修改内容后保存至该文件中)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》...
掌握Java中的super关键字
super 是 Java 中的一个关键字,它在继承的上下文中特别有用。super 引用了当前对象的直接父类,它可以用来访问父类中的属性、方法和构造函数。以下是 super 的几个主要用途: 1. 调用父类的构造函数 在子类的构造函数中,你可以使…...

STM32之HAL开发——系统定时器(SysTick)
系统定时器(SysTick)介绍 SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当…...

Redis 不再“开源”:中国面临的挑战与策略应对
Redis 不再“开源”,使用双许可证 3 月 20 号,Redis 的 CEO Rowan Trollope 在官网上宣布了《Redis 采用双源许可证》的消息。他表示,今后 Redis 的所有新版本都将使用开源代码可用的许可证,不再使用 BSD 协议,而是采用…...

刚刚,百度和苹果宣布联名
百度 Apple 就在刚刚,财联社报道,百度将为苹果今年发布的 iPhone16、Mac 系统和 iOS18 提供 AI 功能。 苹果曾与阿里以及另外一家国产大模型公司进行过洽谈,最后确定由百度提供这项服务,苹果预计采取 API 接口的方式计费。 苹果将…...

HTTP系列之HTTP缓存 —— 强缓存和协商缓存
文章目录 HTTP缓存强缓存协商缓存状态码区别缓存优先级如何设置强缓存和协商缓存使用场景 HTTP缓存 HTTP缓存时利用HTTP响应头将所请求的资源在浏览器进行缓存,缓存方式分两种:强缓存和协商缓存。 浏览器缓存是指将之前请求过的资源在浏览器进行缓存&am…...

代码+视频,R语言logistic回归交互项(交互作用)的可视化分析
交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,不仅如此,交互作用还可以使用来进行数据挖掘。在既往文章中,我们已…...

实验3 中文分词
必做题: 数据准备:academy_titles.txt为“考硕考博”板块的帖子标题,job_titles.txt为“招聘信息”板块的帖子标题,使用jieba工具对academy_titles.txt进行分词,接着去除停用词,然后统计词频,最…...

ReentrantLock 原理
(一)、非公平锁实现原理 1、加锁解锁流程 先从构造器开始看,默认为非公平锁实现 public ReentrantLock() {sync new NonfairSync(); } NonfairSync 继承自 AQS 没有竞争时 加锁流程 构造器构造,默认构造非公平锁(无竞争,第一个线程尝试…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...