音频进阶学习十一——离散傅里叶级数DFS

文章目录


前言

按照傅里叶发展的历史,最先出现的傅里叶公式是傅里叶级数,只不过由于通用性以及核心理论先介绍了DTFT,它描述的是一个连续的频谱,描述了信号在整个频率范围内的频率成分。

对于本章内容离散傅里叶级数DFS,它描述的是离散的频谱,频率成分在周期上重复,本文将深入解析DFS的公式,并对IDFS进行推导,最后会对DFS的性质结合图像进行介绍。

|版本声明:山河君,未经博主允许,禁止转载


一、傅里叶级数

1.定义

傅里叶级数简称为FS,是由法国数学家傅里叶为了进行热解析提出来的——周期信号表示为不同频率的正弦和余弦波的和。它能够将一个复杂的周期函数分解为一系列简单的正弦和余弦函数,从而实现信号的频域分析。

2.周期信号序列

离散周期序列指的是时间域上以固定周期重复出现的离散信号,使用 x ~ [ n ] \tilde{x}[n] x~[n]表示,即:
x ~ [ n ] = x ~ [ n + r T ] , r ∈ Z \tilde{x}[n]=\tilde{x}[n+rT],\quad r\in Z x~[n]=x~[n+rT],rZ
如下图, T = 10 T=10 T=10的周期序列
在这里插入图片描述

3.表达式

DFS

X ~ [ k ] = ∑ n = 0 N − 1 e j ( − 2 π k n N ) x ~ [ n ] \tilde{X}[k]=\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n] X~[k]=n=0N1ej(N2πkn)x~[n]

IDFS

x ~ [ n ] = 1 N ∑ k = 0 N − 1 e j ( 2 π k n N ) X ~ [ k ] \tilde{x}[n]=\frac{1}{N}\sum_{k=0}^{N-1}e^{j(\frac{2\pi kn}{N})}\tilde{X}[k] x~[n]=N1k=0N1ej(N2πkn)X~[k]

参数含义

  • ~:表示为周期序列
  • X ~ [ k ] \tilde{X}[k] X~[k]: 是信号在频域中的分量(傅里叶系数)
  • x ~ [ n ] \tilde{x}[n] x~[n]:是时间域中的周期离散信号
  • N N N:是序列周期
  • k k k:表示频率索引
  • e j ( − 2 π k n N ) e^{j(\frac{-2\pi kn}{N})} ej(N2πkn):复指数,表示信号的频率分量

4.DFS公式解析

1)右边解析

和上一篇解析DTFT一样,我们先解析DFS右边,在此之前,如果对于复指数序列和正交不太理解的同学,还是需要先看音频进阶学习九——离散时间傅里叶变换DTFT这篇文章,里面有对于为什么需要把序列转换成复指数序列的详细解释。
∑ n = 0 N − 1 e j ( − 2 π k n N ) x ~ [ n ] \sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n] n=0N1ej(N2πkn)x~[n]

T T T f f f ω \omega ω的关系

我们来梳理一下周期、频率和角频率的关系

  • 频率:指的是某个周期性事件在单位时间内发生的次数, f = 1 T f=\frac{1}{T} f=T1
  • 周期:是一个周期性信号或事件完成一次完整波动所需的时间, T = 1 f T=\frac{1}{f} T=f1
  • 角频率:表示波动或振动的“速率”,即信号的变化速度, ω = 2 π f = 2 π T \omega = 2\pi f=\frac{2\pi}{T} ω=2πf=T2π
求和公式N的释义

上文中提到 N N N是序列周期,并且根据DFS公式也很容易看出来,对于序列的求和范围 n ∈ [ N − 1 ] n \in [N-1] n[N1],也就是序列的长度为 N N N

T T T f f f ω \omega ω的关系,我们得到 ω = 2 π f = 2 π T = 2 π N \omega = 2\pi f=\frac{2\pi}{T} = \frac{2\pi}{N} ω=2πf=T2π=N2π,也就是该周期序列的基波(一个波形的最低频率,是波形的基本振动频率)为 2 π N \frac{2\pi}{N} N2π

求和公式K的释义

对于DFS来说,一个周期序列分解为不同频率的正弦和余弦波的和,从上文中 N N N的作用我们首先得到了基波的频率,那么其他频率怎么来表示呢? 我们知道对于谐波是基频的整数倍频率,例如2倍频(第二谐波)、3倍频(第三谐波)等,而谐波和基波组成了周期序列。

对于 k k k代表了频率索引,即:
2 π N k , k ∈ [ 0 , 1 , 2 , . . . . , N − 1 ] \frac{2\pi}{N}k,k\in[0,1,2,....,N-1] N2πkk[0,1,2,....,N1]

  • k = 0 k=0 k=0时,表示的是直波
  • k = 1 k=1 k=1时,表示的是基波(第一谐波)
  • k = 2 k=2 k=2时,表示的是第二谐波
  • k = N / 2 k=N/2 k=N/2时,对应奈奎斯特频率(即采样定理)

此时我们得到了不同的 ω 0 , ω 1 , ω 2 , . . . , ω N − 1 \omega_0,\omega_1,\omega_2,...,\omega_N-1 ω0,ω1,ω2,...,ωN1,从这里也能看出,对于离散傅里叶级数,频域也是离散的。

e j ( − 2 π k n N ) e^{j(\frac{-2\pi kn}{N})} ej(N2πkn)的释义

其实在音频进阶学习九——离散时间傅里叶变换DTFT文章中已经解释过了,这里再简单解释一遍:

对于欧拉公式将极坐标表示为复指数形式:
e j θ = cos ⁡ ( θ ) + j sin ⁡ ( θ ) e^{j\theta}=\cos(\theta)+j\sin(\theta) ejθ=cos(θ)+jsin(θ)
由此可以得到
e − j ω n = > cos ⁡ ( j ω n ) − j s i n ( ω n ) e^{-j\omega n}=>\cos(j\omega n)-jsin(\omega n) ejωn=>cos(jωn)jsin(ωn)
它表示的是随着 n n n的增长,以频率 ω \omega ω在一个单位圆上以顺时针方式进行周期震荡,可以根据之前文章中的图片进行理解。

∑ n = 0 N − 1 e j ( − 2 π k n N ) x ~ [ n ] \sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n] n=0N1ej(N2πkn)x~[n]的释义

而对于序列与复指数相乘,我们可以看作是序列 x ~ [ n ] \tilde{x}[n] x~[n]对于不同谐波上的正交,即求投影。根据欧拉公式的特性,我们可以看到公式
∑ n = 0 N − 1 e j ( ω m − ω l ) n \sum_{n=0}^{N-1}e^{j(\omega_m-\omega_l)n} n=0N1ej(ωmωl)n
ω m ≠ ω l \omega_m\neq \omega_l ωm=ωl时, e j ( ω m − ω l ) n e^{j(\omega_m-\omega_l)n} ej(ωmωl)n表示的是一个周期性复数,几何上表示在复平面上绕原点画圆,如同上文中对于 e − j ω n e^{-j\omega n} ejωn解释的图像,所以对于累加和 ∑ n = 0 N − 1 e j ( ω m − ω l ) n \sum_{n=0}^{N-1}e^{j(\omega_m-\omega_l)n} n=0N1ej(ωmωl)n为0。

也就是说对于 e j ( − 2 π k n N ) × x ~ [ n ] e^{j(\frac{-2\pi kn}{N})} \times \tilde{x}[n] ej(N2πkn)×x~[n],如果 x ~ [ n ] \tilde{x}[n] x~[n]中间不包含特定的 − 2 π k n N \frac{-2\pi kn}{N} N2πkn(当 N , k N,k N,k确定时)的频率,那么对于 ∑ n = 0 N − 1 e j ( − 2 π k n N ) x ~ [ n ] \sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n] n=0N1ej(N2πkn)x~[n],求和为零。

2)左边解释

与DTFT相同,对于 X ~ [ k ] \tilde{X}[k] X~[k]同样包含了幅度与相位,这里也简单回顾一下之前的文章。

实部与虚部

我们知道对于欧拉公式:
e j θ = cos ⁡ ( θ ) + j sin ⁡ ( θ ) e^{j\theta}=\cos(\theta)+j\sin(\theta) ejθ=cos(θ)+jsin(θ)
它的实部表示了相位(两波之间的时间或空间偏移),虚部表示了幅度,对于DFS中:
X ~ [ k ] = ∑ n = 0 N − 1 e j ( − 2 π k n N ) x ~ [ n ] X ~ [ k ] = ∑ n = 0 N − 1 x ~ [ n ] cos ⁡ ( 2 π N k ) ⏟ R e ( X ~ [ k ] ) − ∑ n = 0 N − 1 j x ~ [ n ] sin ⁡ ( 2 π N k ) ⏟ I e ( X ~ [ k ] ) \tilde{X}[k]=\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]\\ \tilde{X}[k]=\underbrace{\sum_{n=0}^{N-1}\tilde{x}[n]\cos(\frac{2\pi}{N}k)}_{Re(\tilde{X}[k])} - \underbrace{\sum_{n=0}^{N-1}j\tilde{x}[n]\sin(\frac{2\pi}{N}k)}_{Ie(\tilde{X}[k])} X~[k]=n=0N1ej(N2πkn)x~[n]X~[k]=Re(X~[k]) n=0N1x~[n]cos(N2πk)Ie(X~[k]) n=0N1jx~[n]sin(N2πk)

  • R e ( X ~ [ k ] ) Re(\tilde{X}[k]) Re(X~[k])是实部
  • I m ( X ~ [ k ] ) Im(\tilde{X}[k]) Im(X~[k])是虚部
幅度与相位
  • 幅度:幅度是频谱中每个频率分量的强度或大小,实部和虚部的模长,可以得出该频率分量的幅度。使用 ∣ X ~ [ k ] ∣ |\tilde{X}[k]| X~[k]表示信号在频率 ω \omega ω处的能量强度或振幅
    ∣ X ~ [ k ] ∣ = R e ( X ~ [ k ] ) 2 + I m ( X ~ [ k ] ) 2 |\tilde{X}[k]|=\sqrt{Re(\tilde{X}[k])^2+Im(\tilde{X}[k])^2} X~[k]=Re(X~[k])2+Im(X~[k])2
  • 相位:相位是频谱中每个频率分量相对于其他频率分量的相位偏移,通过实部和虚部的比值,可以计算相位。使用 arg ⁡ ( X ~ [ k ] ) 或 ∠ ( X ~ [ k ] ) \arg(\tilde{X}[k])或\angle(\tilde{X}[k]) arg(X~[k])(X~[k])表示:
    ∠ ( X ~ [ k ] ) = tan ⁡ − 1 I m ( X ~ [ k ] ) R e ( X ~ [ k ] ) \angle(\tilde{X}[k])=\tan^{-1}\frac{Im(\tilde{X}[k])}{Re(\tilde{X}[k])} (X~[k])=tan1Re(X~[k])Im(X~[k])

二、IDFS推导

离散傅里叶级数的逆公式(Inverse Discrete Fourier Series, IDFS)是将频域信息转换回时间域信号的过程。其推导过程是基于傅里叶变换的性质。其验证如下:

  • DFS
    X ~ [ k ] = ∑ m = 0 N − 1 e j ( − 2 π k n N ) x ~ [ m ] \tilde{X}[k]=\sum_{m=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[m] X~[k]=m=0N1ej(N2πkn)x~[m]
  • IDFS
    x ~ [ n ] = 1 N ∑ k = 0 N − 1 e j ( 2 π k n N ) X ~ [ k ] \tilde{x}[n]=\frac{1}{N}\sum_{k=0}^{N-1}e^{j(\frac{2\pi kn}{N})}\tilde{X}[k] x~[n]=N1k=0N1ej(N2πkn)X~[k]
  • 将DFS代入IDFS
    x ~ [ n ] = 1 N ∑ k = 0 N − 1 ( ∑ m = 0 N − 1 e j ( − 2 π k n N ) x ~ [ m ] ) e j ( 2 π k n N ) \tilde{x}[n] =\frac{1}{N}\sum_{k=0}^{N-1}\Big(\sum_{m=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[m]\Big)e^{j(\frac{2\pi kn}{N})} x~[n]=N1k=0N1(m=0N1ej(N2πkn)x~[m])ej(N2πkn)
  • 根据交换求和
    x ~ [ n ] = 1 N ∑ m = 0 N − 1 x ~ [ m ] ∑ k = 0 N − 1 e j 2 π k N ( n − m ) \tilde{x}[n] =\frac{1}{N}\sum_{m=0}^{N-1}\tilde{x}[m]\sum_{k=0}^{N-1}e^{j\frac{2\pi k}{N}(n-m)} x~[n]=N1m=0N1x~[m]k=0N1ejN2πk(nm)
  • 内层求和
    ∑ k = 0 N − 1 e j 2 π k N ( n − m ) = { N , n = m 0 , n ≠ m \sum_{k=0}^{N-1}e^{j\frac{2\pi k}{N}(n-m)}=\begin{cases} N, \quad n=m\\ 0,\quad n\neq m\end{cases} k=0N1ejN2πk(nm)={N,n=m0,n=m
  • 将内层求和替换进入
    x ~ [ n ] = 1 N ∑ m = 0 N − 1 x ~ [ m ] × N × δ n , m \tilde{x}[n]=\frac{1}{N}\sum_{m=0}^{N-1}\tilde{x}[m]\times N \times \delta_{n,m} x~[n]=N1m=0N1x~[m]×N×δn,m
  • 简化
    x ~ [ n ] = ∑ m = 0 N − 1 x ~ [ m ] δ ( n − m ) \tilde{x}[n]=\sum_{m=0}^{N-1}\tilde{x}[m]\delta(n-m) x~[n]=m=0N1x~[m]δ(nm)

于是我们有一次得到了冲激分解公式,使用单位冲激序列表示的加权和。

三、DFS的性质

由于DFS和DTFT的相似性,在上一篇文章中音频进阶学习十——DTFT的条件、性质与举例,已经对于各种性质做了详细介绍,并且其推导公式很简单(如果感兴趣推导过程,可以看看北京航空航天大学王俊老师的课程),这里只做简单介绍。

1. 周期性性质

  • 离散傅里叶级数的信号 x [ n ] x[n] x[n] 是周期性的,周期为 N N N
  • 其频域表示 X [ k ] X[k] X[k] 也是周期性的,周期为 N N N,即:
    X ~ [ k ] = X ~ [ k + N ] \tilde X[k]=\tilde X[k+N] X~[k]=X~[k+N]

2.线性性质

离散傅里叶级数具有线性性质,即如果信号 x 1 [ n ] x_1[n] x1[n] x 2 [ n ] x_2[n] x2[n] 的傅里叶系数分别是 X 1 [ k ] X_1[k] X1[k] X 2 [ k ] X_2[k] X2[k],那么任意常数倍的线性组合也满足傅里叶级数的线性性:
x ~ [ n ] = a x ~ 1 [ n ] + b x ~ 2 [ n ] ⟷ D F S X ~ [ k ] = a X ~ 1 [ k ] + b X ~ 2 [ k ] \tilde x[n]=a\tilde x_1[n]+b\tilde x_2[n]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]=a\tilde X_1[k]+b\tilde X_2[k] x~[n]=ax~1[n]+bx~2[n]DFSX~[k]=aX~1[k]+bX~2[k]
在这里插入图片描述

3.时域移位

幅度频不变,相位成线性变化
x ~ [ n − n d ] ⟷ D F S X ~ [ k ] e − j 2 π k N n d \tilde x[n-n_d]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]e^{-j\frac{2\pi k}{N}n_d} x~[nnd]DFSX~[k]ejN2πknd
在这里插入图片描述

4.频域移位

频域的移位相当于时域乘上一个复指数序列
x ~ [ n ] e − j 2 π k N l ⟷ D F S X ~ [ k − l ] \tilde x[n]e^{-j\frac{2\pi k}{N}l}\stackrel{DFS}{\longleftrightarrow}\tilde X[k-l] x~[n]ejN2πklDFSX~[kl]
在这里插入图片描述

5.时间翻转

时域翻转,频域也会相应翻转,即幅度和相位也会翻转
x ~ [ − n ] ⟷ D F S X ~ [ − k ] \tilde x[-n]\stackrel{DFS}{\longleftrightarrow}\tilde X[-k] x~[n]DFSX~[k]
在这里插入图片描述

6.时域卷积

时域卷积等于频域相乘,即 ∗ * 代表卷积运算
x ~ [ n ] ∗ h ~ [ n ] ⟷ D F S X ~ [ k ] × H ~ [ k ] \tilde x[n] *\tilde h[n]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]\times \tilde H[k] x~[n]h~[n]DFSX~[k]×H~[k]
在这里插入图片描述

7.频域卷积

频域卷积等于时域相乘,即 ∗ * 代表卷积运算
x ~ [ n ] × w ~ [ n ] ⟷ D F S 1 N ∑ l = 0 N − 1 X ~ [ l ] ∗ W ~ [ k − l ] \tilde x[n] \times \tilde w[n]\stackrel{DFS}{\longleftrightarrow} \frac{1}{N}\sum_{l=0}^{N-1}\tilde X[l]*\tilde W[k-l] x~[n]×w~[n]DFSN1l=0N1X~[l]W~[kl]
在这里插入图片描述


总结

本篇文章中对于DFS的公式做了详细的介绍,相信对于DFS和IDFS公式的推导和使用有了一定的理解。同时本篇文章也将DFS的性质做了介绍。

DFS和DTFT有着一定的联系和区:对于DFS,它主要用于表示周期性离散时间信号,在频域上是离散的且为周期的,而对于DTFT,它表示非周期性离散时间信号的频谱,在频域上是连续的。也就是说DFS可以看作为 DTFT 在一个周期内的采样。

反正收藏也不会看,请帮忙点个赞吧!

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

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

相关文章

C++ Primer 成员访问运算符

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

基础入门-算法解密散列对称非对称字典碰撞前后端逆向MD5AESDESRSA

知识点: 0、算法类型-单向散列&对称性&非对称性 1、算法识别加解密-MD5&AES&DES&RSA 2、解密条件寻找-逻辑特征&源码中&JS分析 应用场景: 1、发送数据的时候自动将数据加密发送(只需加密即可) 安全…

Qt修仙之路2-1 炼丹初成

widget.cpp #include "widget.h" #include<QDebug> //实现槽函数 void Widget::login1() {QString userusername_input->text();QString passpassword_input->text();//如果不勾选无法登入if(!check->isChecked()){qDebug()<<"xxx"&…

【R语言】环境空间

一、环境空间的特点 环境空间是一种特殊类型的变量&#xff0c;它可以像其它变量一样被分配和操作&#xff0c;还可以以参数的形式传递给函数。 R语言中环境空间具有如下3个特点&#xff1a; 1、对象名称唯一性 此特点指的是在不同的环境空间中可以有同名的变量出现&#x…

【redis】缓存设计规范

本文是 Redis 键值设计的 14 个核心规范与最佳实践&#xff0c;按重要程度分层说明&#xff1a; 一、通用数据类型选择 这里我们先给出常规的选择路径图。 以下是对每个步骤的分析&#xff1a; 是否需要排序&#xff1f;&#xff1a; zset&#xff08;有序集合&#xff09;用…

2021 年 9 月青少年软编等考 C 语言五级真题解析

目录 T1. 问题求解思路分析T2. 抓牛思路分析T3. 交易市场思路分析T4. 泳池思路分析T1. 问题求解 给定一个正整数 N N N,求最小的 M M M 满足比 N N N 大且 M M M 与 N N N 的二进制表示中有相同数目的 1 1 1。 举个例子,假如给定 N N N 为 78 78 78,二进制表示为 …

Windows 中学习Docker环境准备2、Docker Desktop中安装ubuntu

Windows 中学习Docker环境准备1、Win11安装Docker Desktop Windows 中学习Docker环境准备2、Docker Desktop中安装ubuntu Windows 中学习Docker环境准备3、在Ubuntu中安装Docker 需要更多Docker学习视频和资料&#xff0c;请文末联系 一、安装 Docker Desktop 下载 Docker…

LabVIEW2025中文版软件安装包、工具包、安装教程下载

下载链接&#xff1a;LabVIEW及工具包大全-三易电子工作室http://blog.eeecontrol.com/labview6666 《LabVIEW2025安装图文教程》 1、解压后&#xff0c;双击install.exe安装 2、选中“我接受上述2条许可协议”&#xff0c;点击下一步 3、点击下一步&#xff0c;安装NI Packa…

PHP ODBC:深入探索数据库连接与交互技术

PHP ODBC:深入探索数据库连接与交互技术 引言 PHP作为一种广泛使用的服务器端脚本语言,在Web开发中扮演着重要角色。在数据处理方面,PHP与数据库的交互是其核心功能之一。ODBC(Open Database Connectivity)作为一种标准数据库访问接口,允许PHP应用程序与各种数据库系统…

AUTOSAR汽车电子嵌入式编程精讲300篇-基于FPGA的CAN FD汽车总线数据交互系统设计

目录 前言 汽车总线以及发展趋势 汽车总线技术 汽车总线发展趋势 CAN FD总线国内外研究现状 2 系统方案及CAN FD协议分析 2.1系统控制方案设计 2.2 CAN FD总线帧结构分析 2.2.1数据帧分析 2.2.2远程帧分析 2.2.3过载帧分析 2.2.4错误帧分析 2.2.5帧间隔分析 2.3位…

BUU17 [RoarCTF 2019]Easy Calc1

自用 源代码 $(#calc).submit(function(){$.ajax({url:"calc.php?num"encodeURIComponent($("#content").val()),type:GET,success:function(data){$("#result").html(<div class"alert alert-success"><strong>答案:&l…

5. k8s二进制集群之ETCD集群部署

下载etcd安装包创建etcd配置文件准备证书文件和etcd存储目录ETCD证书文件安装(分别对应指定节点)创建证书服务的配置文件启动etcd集群验证etcd集群状态继续上一篇文章《k8s二进制集群之ETCD集群证书生成》下面介绍一下etcd证书生成配置。 下载etcd安装包 https://github.com…

Java并发编程笔记

Java并发基础知识补全 启动 启动线程的方式只有&#xff1a; 1、X extends Thread;&#xff0c;然后X.start 2、X implements Runnable&#xff1b;然后交给Thread运行 线程的状态 Java中线程的状态分为6种&#xff1a; 1. 初始(NEW)&#xff1a;新创建了一个线程对象&…

使用多模态大语言模型进行深度学习的图像、文本和语音数据增强

在过去的五年里&#xff0c;研究方向已从传统的机器学习&#xff08;ML&#xff09;和深度学习&#xff08;DL&#xff09;方法转向利用大语言模型&#xff08;LLMs&#xff09;&#xff0c;包括多模态方法&#xff0c;用于数据增强&#xff0c;以提高泛化能力&#xff0c;并在…

Windows Docker笔记-Docker拉取镜像

通过在前面的章节《安装docker》中&#xff0c;了解并安装成功了Docker&#xff0c;本章讲述如何使用Docker拉取镜像。 使用Docker&#xff0c;主要是想要创建并运行Docker容器&#xff0c;而容器又要根据Docker镜像来创建&#xff0c;那么首当其冲&#xff0c;必须要先有一个…

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-autobatch.py

autobatch.py ultralytics\utils\autobatch.py 目录 autobatch.py 1.所需的库和模块 2.def check_train_batch_size(model, imgsz640, ampTrue, batch-1, max_num_obj1): 3.def autobatch(model, imgsz640, fraction0.60, batch_sizeDEFAULT_CFG.batch, max_num_obj1): …

【文件上传、秒传、分片上传、断点续传、重传】

文章目录 获取文件对象文件上传&#xff08;秒传、分片上传、断点续传、重传&#xff09;优化 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inp…

Office/WPS接入DS等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…

FPGA的IP核接口引脚含义-快解

疑问 手册繁琐&#xff0c;怎样快速了解IP核各输入输出接口引脚的含义。 答疑 不慌不慌&#xff0c;手册确实比较详细但繁琐&#xff0c;如何快速知晓该部分信息&#xff0c;涛tao道长给你们说&#xff0c;简单得很&#xff0c;一般新入门的道友有所不知&#xff0c;往往后面…

GnuTLS: 在 pull 函数中出错。 无法建立 SSL 连接。

提示信息 [root@localhost ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz --2025-02-06 12:45:34-- https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz 正在解析主机 download.docker.com (download.docker.…