信号处理与分析——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 没有竞争时 加锁流程 构造器构造,默认构造非公平锁(无竞争,第一个线程尝试…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
