非平稳信号的傅里叶变换与短时傅里叶变换

一、仿真一个非平稳的时间序列。

N = 10000;
t = 0:N-1;
z1 = 4.2*sin(2*pi/20.*t+5);
z2 = 2.2*sin(2*pi/100.*(1+0.001*t).*t+8);
w1 = randn(length(t),1)';
y=z1+z2+w1;
figure;plot(y,'LineWidth',1.5);grid on;
ylabel('Signal');
xlabel('Time');

 

二、傅里叶变换(FFT)分析

Fs = 1;
Y = fft(y);
L=length(y);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
%--横坐标是频率--
figure;plot(f,P1,'LineWidth',1.5);grid on; 
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')

(1)这里横坐标是频率f(hz),1/0.05=20,对应信号z1周期,如果想将横坐标转换为周期,绘图语句转换为如下即可:

plot(1./f,P1,'LineWidth',1.5);

(2)对于非平稳信号z2,在FFT图中几乎看不出来。

三、短时傅里叶变换(STFT)分析

window=256;
noverlap=16;
nfft=128;
figure;spectrogram(y,window,noverlap,nfft,Fs,'yaxis');

可以改变

window=256;
noverlap=16;
nfft=128;

这些参数,对比分析效果。

如果想根据spectrogram()函数的输出自己绘图,如下:

[scalar,fs,ts] = spectrogram(y,window,noverlap,nfft,Fs);
figure;
pcolor(ts,1./fs,abs(scalar));shading interp;
colorbar
ylabel('Period');
xlabel('Time');

注意:

pcolor(ts,1./fs,abs(scalar));shading interp;

语句中的1./fs将频率转换为了周期。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教育智能化的历史及发展趋势

1. 教育智能化概述 1.1 定义与背景 教育智能化是指利用人工智能、大数据、云计算等现代信息技术,对教育过程进行智能化改造,提升教育质量与效率。随着技术进步,教育智能化已成为全球教育改革的重要趋势。 教育智能化的背景可以追溯到20世纪…

Llama 3超级课堂作业笔记

文章目录 基础作业完成 Llama 3 Web Demo 部署环境配置下载模型Web Demo 部署对话截图 使用 XTuner 完成小助手认知微调Web Demo 部署自我认知训练数据集准备训练模型推理验证 使用 LMDeploy 成功部署 Llama 3 模型环境,模型准备LMDeploy CLI chatLMDeploy模型量化(…

SQL Server 2022安装+SQL Server最新补丁+smss工具连接超详细教程

文章目录 一、SQL Server 2022安装二、SSMS的安装与连接三、最新补丁下载总结 一、SQL Server 2022安装 官网下载安装包:https://www.microsoft.com/en-us/sql-server/sql-server-downloads 打开 选择自定义 更改你要安装到的位置后进行安装 安装程序包下载完后会自…

将本地项目代码上传到别人GitHub的远程分支上流程记录

首先将别人的项目克隆到本地: git clone 项目地址 然后cd进项目中,查看分支名称: git branch git branch -a 切换分支: git checkout 远程分支名 (必须与所要提交代码的远程分支同名) 截图案例&#xff1…

简单的TCP网络程序:英译汉服务器

一、服务器的初始化 下面介绍程序中用到的socket API,这些函数都在sys/socket.h中。 1.创建套接字 socket(): ⭐参数介绍: socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符;应用程序可以像读写文件一样用read/write在网…

AI大模型日报#0523:中国大模型价格战的真相、大模型「上车」、王小川首款 AI 应用

导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE 4.0)、“零一万物”(Yi-Large)生成了今日要点以及每条资讯的摘要。欢迎阅读&#xf…

04. Redis 配置文件

文章目录 单位包含网络 NETWORK通用 GENERAL快照 SNAPSHOTTING主从复制 REPLICATION安全 SECURITY客户端 CLIENTS内存设置 MEMORY MANAGEMENTAPPEND ONLY MODE 模式(aof 的配置) 单位 配置文件对大小写不敏感(unit单位)。 包含 …

Flutter 中的 WillPopScope 小部件:全面指南

Flutter 中的 WillPopScope 小部件:全面指南 在 Flutter 应用开发中,WillPopScope 是一个非常有用的小部件,它允许开发者拦截和处理用户尝试退出当前页面的操作。这在需要确认用户是否真的想要离开当前页面,或者在离开前需要执行…

京东h5st加密参数分析与批量商品价格爬取(文末含纯算法)

文章目录 1. 写在前面2. 接口分析3. 加密分析4. 算法还原【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与开发工作! 【🌟作者推…

罗德与施瓦茨ZNB20矢量网络分析仪怎么读取Trace?

矢量网络分析仪(VNA)是电子测量领域广泛应用的重要仪器,可以帮助工程师精确测量各种射频和微波设备的参数,为设计优化、故障诊断等提供关键数据支持。作为业界领先的VNA制造商,罗德与施瓦茨的ZNB20型号在测量精度、动态范围、扫描速度等方面都…

家政预约小程序05服务管理

目录 1 设计数据源2 后台管理3 后端API4 调用API总结 家政预约小程序的核心是展示家政公司提供的各项服务的能力,比如房屋维护修缮,家电维修,育婴,日常保洁等。用户在选择家政服务的时候,价格,评价是影响用…

中国网对话神工坊创始人任虎: 先进计算技术赋能,领跑自主CAE新时代

随着"中国制造2025"收官在即,智能制造和工业互联网的发展势头更劲。作为现代工业的基石,工业软件已成为推动工业数字化转型的关键力量。 近日,神工坊创始人&CEO任虎先生接受了中国网记者的专访,就“国产CAE软件的崛…

C++中的Lambda的定义与使用

文章目录 前言Lambda的定义与使用方式总结 Lambda的使用和细节 前言 在C11引入了Lambda表达式,它是一种方便的匿名函数,可以在需要时临时定义函数,并且可以捕获局部变量。下面是Lambda表达式的定义与使用方式,并对其进行总结 La…

【东山派Vision K510开发板试用笔记】nncase的安装

概述 最近试用了百问网提供的东山派Vision开发板,DongshanPI-Vision开发板是百问网针对AI应用开发设计出来的一个RSIC-V架构的AI开发板,主要用于学习使用嘉楠的K510芯片进行Linux项目开发和嵌入式AI应用开发等用途。DongshanPI-Vision开发板采用嘉楠公司…

持续总结中!2024年面试必问 20 道 Redis面试题(三)

上一篇地址:持续总结中!2024年面试必问 20 道 Redis面试题(二)-CSDN博客 五、Redis的持久化机制是什么?各自的优缺点? Redis的持久化机制主要有三种:RDB持久化、AOF持久化以及混合持久化。下面…

Android 13 QSSI和TARGET编译时间不一致导致recovery升级失败

环境 $ cat /etc/os-release NAME"Ubuntu" VERSION"20.04.4 LTS (Focal Fossa)" IDubuntu ID_LIKEdebian PRETTY_NAME"Ubuntu 20.04.4 LTS" VERSION_ID"20.04" HOME_URL"https://www.ubuntu.com/" SUPPORT_URL"https:/…

寡姐不高兴了:这次可能会让 OpenAI 遇到真正的麻烦|TodayAI

寡姐这次真不高兴了 演员斯嘉丽约翰逊(Scarlett Johansson)近日表示,她拒绝了 OpenAI 的邀请,不愿为对话式 ChatGPT 系统配音,却发现公司仍然使用了一个听起来非常像她的声音。对此,她感到“震惊”和“愤怒…

react状态管理

状态管理的实现 组件之外,可以在全局共享状态/数据 closure(闭包) 可以解决 有修改这个数据的明确方法,并且,能够让其他的方法感知到。 本质上,就是把监听函数放在一个地方,必要时拿出来执行一…

Java数据结构与算法(最小栈)

前言 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。i…

Educational Codeforces Round 160 C. Game with Multiset (贪心之尽量选最大来填满)

在这个问题中,最初会给你一个空的多集。您必须处理两种类型的查询: ADD x x x - 在多集合中添加一个等于 2 x 2x 2x 的元素; GET w w w - 询问是否可以求当前多集的某个子集的和,并得到等于 w w w 的值。 输入 第一行包含一…