非整周期截取信号对FFT分析的影响

news2024/11/17 3:29:50

原文出自微信公众号【小小的电子之路】

自然界中的模拟信号大部分都是无限长的,或者说对计算机而言可以说是无限长的,而计算机只能处理有限长的信号,怎么办呢?以快速傅里叶变换为例,我们通常是截取目标信号中有限长的一小段数据进行分析,那么问题来了,FFT在分析的时候是怎么通过那一小段输入数据来推断原始目标信号波形的呢?

以正弦信号为例,该信号是一个无限长的模拟信号,我们在FFT分析的时候只会截取其中有限长的数据,以两个周期为例,这段有限长的数据是FFT分析时实际输入的数据,称之为主值序列,那么FFT是如何推断原始正弦信号波形的呢?这就涉及到数字信号处理领域一个经常出现的名词了--周期延拓FFT分析时真正处理的信号实际是主值序列的周期延拓,即我们所输入数据的周期延拓。

上图是整周期截取时周期延拓的结果,与原始目标信号没有任何区别,不会对FFT结果带来不利影响。但是,非整周期截取时情况就不一样了,下图是非整周期截取时周期延拓的结果,波形出现了十分陡峭的边沿,该边沿包含非常丰富的频率信息,这将导致频谱泄漏频谱混叠。对于其中满足采样定理,但不在FFT输出频点的频率分量,将发生频谱泄漏现象。对于其中不满足采样定理的频率分量,将发生频谱混叠现象。

通过上面的分析我们了解到,非整周期截取信号对FFT分析的不利影响关键在其陡峭的边沿,因此,只要能使其边沿变缓,就能减弱其带来的不利影响,这就涉及到数字信号处理领域另一个经常出现的名词了--窗函数不同窗函数的一个主要区别就在于边沿的陡峭程度不同。

对非整周期截取的信号进行加窗处理,明显看出其边沿变缓,周期延拓后将不会出现十分陡峭的边沿,加窗前后的频域分析结果参考文章--《什么是频谱泄漏?如何降低频谱泄漏?--频谱泄漏与窗函数》。

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

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

相关文章

<Rust>egui学习之小部件(八):如何在窗口中添加滑动条slider部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第八篇博…

虚拟机Linux(Centos7)系统静态IP设置

文章目录 虚拟机Linux系统中通过DHCP获取IP地址的配置和静态IP设置1. 更改网络模式为NAT模式2. 设置虚拟机网络编辑器3. 配置网络文件3.1 修改网络配置文件3.2 添加静态IP、子网掩码和网关3.3 配置DNS 4. 重启网络服务5. 验证IP配置 虚拟机Linux系统中通过DHCP获取IP地址的配置…

LoRAMoE:缓解大模型的世界知识遗忘问题

人工智能咨询培训老师叶梓 转载标明出处 大模型(LLMs)在进行SFT时,通过增加指令数据量来提升其在多个下游任务中的性能或显著改善特定任务的表现。但研究者们发现,这种大规模的数据增加可能会导致模型遗忘其预训练阶段学习到的世…

加密与安全_前后端通过AES-CBC模式安全传输数据

文章目录 Pre概述前端加密是否有意义?环境准备加密方法、MODE和PADDING的选择前端后端应用:从传输到解密的全过程安全性增强动态生成密钥和初始向量1. 前端:动态生成密钥和IV2. 后端:解密动态密钥和IV 结语 Pre 加密与安全_解密A…

TMGM:欧元区通胀放缓将支持9月欧洲中央银行降息

八月份德国通胀率出乎意料的下降超过预期。欧洲中央银行可能会保持其放松的货币政策。美元/欧元矫正性下跌可能在本周结束前继续。 欧洲统计局将在周五公布八月份欧元区消费者价格(调和)指数(HICP)的预估数值,预期结果将支持9月份决策者降息的决定。 因为对经济增…

大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

Python 如何进行声音处理(pydub, wave模块)

Python 是一种功能强大的编程语言,它提供了丰富的库和模块用于各种任务的执行,包括声音处理。对于声音处理,pydub 和 wave 模块是最常用的两个库。 一、Python中的声音处理基础知识 在深入探讨具体的模块之前,我们先了解一些声音…

深度学习基础--损失函数

前三章分别介绍了线性回归、浅层神经网络和深度神经网络。这些都属于函数家族,能够实现从输入到输出的映射,其具体的函数取决于模型参数 ϕ \phi ϕ。在训练这些模型时,我们的目标是找到能够为特定任务提供最优输入输出映射的参数。本章将详…

C语言 ——— 文件读取结束的判定

目录 判定文件读取结束的方式 被错误使用的feof函数 判定文件结束的正确使用 判定文件读取结束的方式 判断文本文件是否读取结束: 利用 fgetc 判断返回值是否为 EOF 利用 fgets 判断返回值是否为 NULL 判断二进制文件是否读取结束: 利用 fread 判…

00 Tkinter学习路线

Tkinter学习路线 此Tkinter以更新完毕,几乎涵盖了Tkinter所有知识点 此文章用于快速找到对应的知识点 01 Tkinter介绍 02 Tkinter窗口的管理与设置 03 Tkinter布局方式 04 Tkinter布局组件 05 Tkinter事件 06 Tkinter可变变量 07 Label 组件 08 Button 组件 09 Entr…

大模型技术 | 基于大模型构建本地知识库

前言 随着人工智能技术的发展,大模型已成为智能系统进步的关键力量。 模型以其庞大的数据容量和深度学习能力,为处理复杂任务提供了前所未有的可能性。但在特定应用场景下仍面临挑战,尤其是在需要快速、准确响应的情境中。为了克服这些限制…

.NET Razor类库-热加载 就是运行时编译

1.新建3个项目 1.1 一个.NET Standard2.1项目 IX.Sdk.SvnCICD4NuGet 1.2 一个.NET Razor类库项目 IX.Sdk.SvnCICD4NuGet.RazorWeb 1.3 一个.NET6 Web项目 IX.Sdk.SvnCICD4NuGet.Web 这3个项目的引用关系 Web引用 Razor类库 和 .NET Standard2.1 Razor类库引用.NET Standard2.1…

VBA学习(65):Excel VBA 凭证打印/SQL连接Eexcel文件/Listview控件/CommandButton命令按钮控件

本期内容信息量相当的大,内容涉及很多方面,请耐心阅读,肯定不会让你失望的!建议收藏! Excel中记账凭证的打印,几种思路 Excel表记账的缺点 最新的打印方法:勾选凭证列表,点打印即可…

OpenCV中使用金字塔LK光流法(下)

接下来通过一个demo来调用calcOpticalFlowPyrLK()实现光流计算,需要注意的是该方法适用于具有丰富特征的像素点的光流计算,平坦区域的像素点往往会得到误差较大的结果。所以我们需要先选取得到一些角点,demo中通过goodFeaturesToTrack()这个接口实现角点提取。 如下有两张图…

nvm切换node版本(windows版本)

如果是win系统,不能直接通过npm来安装nvm(npm install nvm不行!)。需要手动去nvm官网下载安装包安装nvm github官网 先卸载本地的node版本 npm ls -g --depth0 // 查看全局安装中是否有早前安装的node 1.点击进去Github上往下滑会发现有一个download。进…

IP网络协议

目录 一、IP协议简介 二、IP协议报头 三、IP网段划分(子网划分) 四、特殊的IP地址 五、IP地址的数量限制 六、私有IP地址和公网IP地址 七、路由 八、分片与组装 一、IP协议简介 IP指网际互连协议,Internet Protocol的缩写&#xff0…

Vue+ElementUI+Electron环境搭建及程序打包

一.环境 Node.js Element-ui Electron 二.Node.js 1.下载并安装Node.js 2.安装完成后,新建目录”node_cache“ ”node_global“ 3.新建及修改环境变量 4.执行如下命令 npm config set prefix "D:\Source_Install\nodejs\node_global" npm config set cache &q…

设计模式-简单工厂模式工厂方法模式

1. 简单工厂模式定义 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它通过专门定义一个类来负责创建其他类的实例,这个类通常被称为工厂类。简单工厂模式并不是一种正式的设计模式,但它确实是一种常用的…

认识Kubebuilder

认识Kubebuilder 一、什么是Kubebuilder?Kubebuilder,K8s operator创建框架controller-runtime和controller-tools库 二、Kubebuilder,举例来说开源项目kuik 三、使用 kubebuilder init 创建基础项目四、使用kubebuilder create api生成控制器CachedIma…

gitea仓库迁移新服务器 更新远程仓库地址(git remote remove origin)

文章目录 引言I 镜像部署方式迁移案例迁移容器备份gitea服务器配置II 修改​远程仓库地址set-url语法案例III 扩展基于git命令方式进行代码迁移忽略被追踪的文件(update .gitignore)see also引言 由于部署git仓库的机器不稳定,决定进行服务器迁移。更新远程仓库地址的应用场景…