1.10 DFT示例2

news2024/11/14 14:31:24

1.10 DFT示例2

1.10.2 一个通用正弦波

通过将复正弦波的表达式代入DFT的定义,并按照矩形序列示例中的相同步骤,可以类似地推导出通用正弦波的DFT。

尽管如此,在理解了上述概念后,我们可以通过一种更简单的方法看到一般正弦波的离散傅里叶变换(DFT)的幅度和相位图的样子。因为全为1的矩形序列实际上是一个频率为0、长度为 L = N L = N L=N 的复正弦波,所以一般复正弦波的DFT幅度可以通过在方程(1.67)的sinc信号中,将 L = N L = N L=N(因为它跨越了整个长度)、 n s = 0 n_s = 0 ns=0(从0开始),以及用 k − k ′ k - k' kk代替 k k k 来计算(使sinc中心对齐到零):

$$|S[k]| = \frac{\sin(\pi(k - k'))}{\sin(\pi(k - k')/N)}$$$$\angle S[k] = -2\pi \frac{k - k'}{N} \left(\frac{N - 1}{2}\right) \tag{1.70}$$

类似地,实数正弦波 cos ⁡ [ 2 π ( k ′ / N ) n ] \cos\left[2\pi\left(k'/N\right)n\right] cos[2π(k/N)n] 的DFT可以看作是上述表达式的和,其中将 k − k ′ k - k' kk 替换为 k + k ′ k + k' k+k,因为每个实数正弦波由两个复数正弦波组成,并且缩放了一半,参见方程 (1.27)。

例如,考虑图1.68中显示的信号,它由两个频率分别为1 kHz 和 2 kHz 的正弦波组成,如下所示:

$$s(t) = s_1(t) + s_2(t)$$$$= \sin(2\pi 1000t) + 0.75 \sin(2\pi 2000t + 120^\circ)$$

image-20240902165217-vfgqxju

图 1.68: 一个由两个正弦波组成的信号 s ( t ) s(t) s(t)

上述信号以采样率 1 / T S = F S = 8 1/T_S = F_S = 8 1/TS=FS=8 kHz 生成:

$$s[n] = \sin(2\pi1000nT_S) + 0.75 \sin(2\pi2000nT_S + 120^\circ)$$$$= \sin\left( 2\pi \frac{1}{8} n \right) + 0.75 \sin\left( 2\pi \frac{2}{8} n + 120^\circ \right) \quad (1.71)$$

我们DFT分析的频率 F = F S ( k / N ) F = F_S(k/N) F=FS(k/N) 对于一个8点的DFT,结果为:

  • k = 0 k = 0 k=0: 8000 ⋅ 0 8 = 0 8000 \cdot \frac{0}{8} = 0 800080=0 kHz
  • k = ± 1 k = \pm 1 k=±1: 8000 ⋅ ± 1 8 = ± 1 8000 \cdot \frac{\pm 1}{8} = \pm 1 80008±1=±1 kHz
  • k = ± 2 k = \pm 2 k=±2: 8000 ⋅ ± 2 8 = ± 2 8000 \cdot \frac{\pm 2}{8} = \pm 2 80008±2=±2 kHz
  • k = ± 3 k = \pm 3 k=±3: 8000 ⋅ ± 3 8 = ± 3 8000 \cdot \frac{\pm 3}{8} = \pm 3 80008±3=±3 kHz

因此,在这种情况下,频段 1 对应于实际频率 1 kHz,频段 2 对应 2 kHz,依此类推。DFT S [ k ] S[k] S[k] 的 IQ 形式和幅度相位图如图 1.69 所示。

image-20240902165705-lz5or84

图 1.69: 由两个正弦波组成的 s [ n ] s[n] s[n] 的 DFT

从图的幅度图中可以观察到,DFT检测到了信号中的两个实际正弦波,因为在频段 1 和 -1 处的脉冲指示了两个复数正弦波的存在,这些复数正弦波组合形成了频率为 8000 ⋅ 1 8 = 1 8000 \cdot \frac{1}{8} = 1 800081=1 kHz 的一个实数正弦波。类似的情况适用于另一频率 2 kHz 的正弦波。

直流或平均值

该信号的直流(DC)或平均值 1 N ∑ s [ n ] \frac{1}{N} \sum s[n] N1s[n] 为0,这可以从方程(1.71)中看出,因为正弦波在整数个周期上的平均值为0。

幅度

当输入信号包含一个峰值幅度为 A A A 且在 N N N 个输入样本中具有整数个周期的复正弦波时,该特定正弦波的离散傅里叶变换(DFT)的输出幅度为 A N A N AN。这可以通过将幅度为 A 0 A_0 A0 的复正弦波的表达式代入DFT定义来验证。

$$I \rightarrow \sum_{n=0}^{N-1} \left[ A_0 \cos \frac{2 \pi k}{N} n \cdot \cos \frac{2 \pi k}{N} n + A_0 \sin \frac{2 \pi k}{N} n \cdot \sin \frac{2 \pi k}{N} n \right]$$$$Q \uparrow \sum_{n=0}^{N-1} \left[ A_0 \sin \frac{2 \pi k}{N} n \cdot \cos \frac{2 \pi k}{N} n - A_0 \cos \frac{2 \pi k}{N} n \cdot \sin \frac{2 \pi k}{N} n \right]$$

利用恒等式 cos ⁡ A cos ⁡ B + sin ⁡ A sin ⁡ B = cos ⁡ ( A − B ) \cos A \cos B + \sin A \sin B = \cos (A - B) cosAcosB+sinAsinB=cos(AB) sin ⁡ A cos ⁡ B − cos ⁡ A sin ⁡ B = sin ⁡ ( A − B ) \sin A \cos B - \cos A \sin B = \sin (A - B) sinAcosBcosAsinB=sin(AB)

$$I \rightarrow \sum_{n=0}^{N-1} A_0 \cos 0 = A_0 N$$$$Q \uparrow \sum_{n=0}^{N-1} A_0 \sin 0 = 0$$

因此,DFT的输出幅度被证明为 A 0 N A_0 N A0N

对于一个实正弦波, s Q [ n ] s_Q[n] sQ[n] 为0,以上等式中只有部分 I I I 的第一项保留下来。由于 cos ⁡ 2 A = 1 / 2 ( 1 + cos ⁡ 2 A ) \cos^2 A = 1/2 (1 + \cos 2A) cos2A=1/2(1+cos2A),实正弦波的DFT输出幅度为 A 0 N / 2 A_0 N/2 A0N/2

考虑到 s [ n ] s[n] s[n] 是由两个幅度为1和0.75的实正弦波组成的,我们可以在图1.69b中看到,1kHz的正弦波具有幅度 1 × N / 2 = 4 1 \times N/2 = 4 1×N/2=4,而2kHz的正弦波具有幅度 0.75 × N / 2 = 3 0.75 \times N/2 = 3 0.75×N/2=3

相位

要解读图1.69b的相位图,我们需要回到图1.32,在其中生成一个在时间I轴上的正弦波,我们看到在三维中,两个脉冲分别代表两个复正弦波,位于+F和-F处,并分别被旋转了-90度和+90度。换句话说,相位参考是I轴上的余弦。

因此,图1.69b中频率为1的第一个频段在8000 * 1/8 = 1 kHz处的相位为-90度。根据恒等式 cos ⁡ ( A − 90 ° ) = sin ⁡ ( A ) \cos(A - 90°) = \sin(A) cos(A90°)=sin(A),它确实是一个相位为-90度的余弦波。对应的频段-1的相位显然是-(-90°) = +90°。

至于第二项 0.75 sin ⁡ 2 π ( 2 / 8 ) n + 120 ° 0.75 \sin {2\pi(2/8)n + 120°} 0.75sin2π(2/8)n+120°,它是一个相位偏移为120度的2kHz正弦波,或者是一个相位为-90° + 120° = +30°的余弦波,如图1.69b的频段2所示。

参考图1.68中的时域图,第一个正弦波 s 1 ( t ) s_1(t) s1(t)根据其-90度余弦(或0度正弦)相位“定位”在原点周围,而第二个正弦波 s 2 ( t ) s_2(t) s2(t)则根据其30度余弦(或120度正弦)相位定位在原点周围。正如之前所分析的,通过相位图,DFT实际上在频率 F s ⋅ k / N F_s \cdot k / N Fsk/N处找到了所有正弦波在时间上的对齐方式。

请记住,图1.69b中的图像——再一次——是重叠的sinc函数。然而,由于信号由两个精确的分析频率组成,频域被采样在零交叉点的精确位置。因此,sinc函数变得不可见,看起来像是两组脉冲。

1.10.3 单位脉冲

在知道矩形信号的DFT后,我们有两种方法可以找到单位脉冲的傅里叶变换。

$$s[n] = \delta[n]$$

时频双重性: 仔细观察DFT和IDFT方程可以发现,正变换和逆变换几乎完全相同,除了缩放因子 1 / N 1/N 1/N 和分析正弦波旋转方向。因此,时间域和频率域是对偶的,时间域信号的DFT可以由频率域信号的IDFT得到。例如,图1.60中的频率bin 0处的单个脉冲在时间域中是一个全为1的矩形序列。反之亦然:时间域中的单个脉冲对应于频率域中的一个全为1的矩形序列。

矩形信号: 从图1.59中可以明显看出,单位脉冲也是一个长度为 L = 1 L = 1 L=1的矩形序列。因此,

$$I \rightarrow S_I[k] = |S[k]| = \frac{\sin \pi k / N}{\sin \pi k / N} = 1$$$$Q \uparrow S_Q[k] = \angle S[k] = 0$$

由于起始样本 n s = 0 n_s = 0 ns=0,信号是对称的,角度等于0。这个DFT在图1.55的顶部以图形方式说明。

移位单位脉冲

移位单位脉冲的DFT可以从单位脉冲的DFT是一个全为1的序列这一结果中导出。

$$\tilde{s}[n] = \delta[(n + n_0) \mod N]$$

然后,我们利用等式(1.60):

$$I \rightarrow \tilde{S}_I[k] = \cos\frac{2\pi k}{N}n_0$$$$Q \uparrow \tilde{S}_Q[k] = \sin\frac{2\pi k}{N}n_0 \tag{1.72}$$

这正是图1.56中早先发现的复正弦波。

1.10.4 采样序列

采样序列是一个以周期 M M M 重复的单位脉冲序列,位于我们的观察窗口内(由于DFT输入的周期性,也在观察窗口外)。图1.70显示了时间域中 N = 15 N = 15 N=15 M = 3 M = 3 M=3 时的采样序列。

image

图1.70:时间域中采样序列( N = 15 N = 15 N=15 M = 3 M = 3 M=3

为了计算它的DFT,假设 p I [ n ] = p [ n ] p_I[n] = p[n] pI[n]=p[n] p Q [ n ] = 0 p_Q[n] = 0 pQ[n]=0。于是,

$$P_I[k] = \sum_{n=0}^{N-1} p[n] \cos\left(2 \pi \frac{k}{N} n\right)$$

由于除了 n = M n = M n=M之外, p [ n ] = 0 p[n] = 0 p[n]=0,我们可以写成 p [ M m ] = 1 p[Mm] = 1 p[Mm]=1,其中 m = 0 , 1 , ⋯   , N / M − 1 m = 0, 1, \cdots, N/M - 1 m=0,1,,N/M1。我们假设 N / M N/M N/M 为整数,因为否则 p [ n ] p[n] p[n] 在观察窗口外将不再是周期性的。因此在上面的例子中,

$$m = 0, 1, 2, 3, 4\ \ \ \ \ \ \ \ n = Mm = 0, 3, 6, 9, 12$$

并且

$$P_I[k] = \sum_{m=0}^{N/M-1} \cos\left(2 \pi \frac{k}{N} Mm\right) = \sum_{m=0}^{N/M-1} \cos\left(2 \pi \frac{k}{N/M} m\right)$$

请注意,上述方程与计算矩形序列的DFT时遇到的等式(1.63)非常相似。在这里,我们有:

$$n_s \rightarrow 0, \quad N \rightarrow \frac{N}{M}, \quad L \rightarrow \frac{N}{M}$$

因此,采样序列的离散傅里叶变换(DFT)可以类似于矩形序列的DFT写为:

$$|P[k]| = \frac{\sin \pi k}{\sin \pi k M/N}$$$$\angle P[k] = 0 \tag{1.73}$$

幅度和相位

序列在图 1.71 中以频域显示,并由 M M M 个脉冲组成,其中显示了 M = 3 M = 3 M=3 N = 15 N = 15 N=15 的 I 和 Q 分量。尽管由于分子对所有 k k k 都是 π \pi π 的倍数,似乎频谱应为零,但我们很快会看到为什么事实并非如此。此外,如上所述,由于序列在时域中关于零是实数且对称的,频域中的相位为零,因此幅度图与 I 分量相同。

image

图 1.71: 在频域中采样序列,参数 N = 15 N = 15 N=15 M = 3 M = 3 M=3

主瓣峰值

在矩形信号的离散傅里叶变换 (DFT) 中,我们看到当 k = 0 k = 0 k=0 时,分子和分母都变为零。在这种情况下,主瓣的峰值等于序列的长度 L L L。我们通过将 k = 0 k = 0 k=0 代入 DFT 定义得到了这个值,并推断出结果仅是所有时域样本的和,因为 cos ⁡ ( 2 π k / N ) = 1 \cos(2\pi k / N) = 1 cos(2πk/N)=1 sin ⁡ ( 2 π k / N ) = 0 \sin(2\pi k / N) = 0 sin(2πk/N)=0。在这种情况下,峰值可以很容易地看作是 N / M N / M N/M 个单位脉冲的和,因此等于 N / M = 5 N / M = 5 N/M=5

请记住在 1.10.2 节中提到的,具有幅度 A 0 A_0 A0 的复正弦波在时域中具有 A 0 N A_0N A0N 的幅度,在频域中也是如此。在这里,频谱副本的峰值幅度为 5 而不是 15,这表明由于中间零值样本的影响,实际频谱已缩小了 1 / M = 1 / 3 1/M = 1/3 1/M=1/3 倍。这在图 1.71 中显示。

主瓣位置

这里在频域中有多个脉冲:在一个全为1的矩形序列的DFT中比一个多,但在单位脉冲的DFT中比 N N N少。注意从等式(1.73)中可以看出,当分母不为零时,由于整数 k k k的存在,频谱显然为零。当分子和分母都为零时,峰值为如上所述的 N / M N/M N/M。为了找到这些位置,检查分母为零的地方,即为 π \pi π的整数倍。

$$\pi k_{\text{peak}} \frac{M}{N} = \text{整数} \cdot \pi$$$$k_{\text{peak}} = \text{整数} \cdot \frac{N}{M}$$

在我们的例子中,由于选定的 N N N M M M值,这些峰值变为0和 ± 5 \pm5 ±5,如图1.71所示。在大多数DSP应用中,我们对从 − 0.5 -0.5 0.5到0.5的频率轴感兴趣。在这种情况下,这些位置由 N N N归一化,因此由1/M的整数倍给出,即1/3。

如果你猜测这些频域中的脉冲实际上是在峰值和零值处采样的Sinc函数,你是对的(例如,计算一个长度为32的DFT而不是长度为15的序列)。

一个位移采样序列

当上面研究的采样序列被移位一个或多个样本时,会发生什么,如图1.72a所示。我们已经在第1.9节中看到,时间域中信号的移位会使其频谱与一个具有与该移位相等的逆周期的复数正弦信号相乘。随后,我们可以看到,右移1个采样序列的离散傅里叶变换(DFT)可以通过应用公式(1.58)或公式(1.61)得到,即一个采样序列的DFT被旋转了 − 2 π ( k / N ) -2\pi(k/N) 2π(k/N)的相位。这在图1.72b中展示,其中相位移可以被表示为:

$$\pm 2\pi \frac{k}{N} n_0 = \pm 2\pi \frac{5}{15} (-1) = \mp 120°$$

image

图1.72:在时间域移位的采样序列的频谱包含了相位旋转的脉冲

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

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

相关文章

校园二手数码交易系统小程序的设计

管理员账户功能包括:系统首页,个人中心,卖家管理,用户管理,二手商品管理,商品类型管理,商品求购管理,用户通知管理,退货管理 微信端账号功能包括:系统首页&a…

索尼发布新款PS5 Pro主机 算力与定价齐飞 9成玩家感叹“价格贵”

北京时间周二深夜,消费电子大厂索尼如期发布游戏主机PlayStation 5的升级版本PS5 Pro。虽然机器参数与事前预期完全一致,但发布会后仍然出现了舆论争议——索尼的定价超出预期了。 (PS5首席架构师马克塞尔尼发布新机器,来源&#…

Python编码系列—Python项目维护与迭代:持续进化的艺术

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

面试官:聊聊MySQL的binlog

前言 MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。 其中,比较重要的还要属二进制日志 binlog(归档日志)和事务日志 redo log(重做日志)和 undo log(回滚日志&#…

idea中git提交的代码回退到指定版本

一.先在本地仓库回退到指定版本的代码 选中项目,右键依次点击【Git】——>【Show History】,如下图: 2. 查看提交到远程仓库的git记录,下图中为每次提交的git记录,回退到其中一个指定的即可,如下图&…

ICM20948 DMP代码详解(13)

接前一篇文章:ICM20948 DMP代码详解(12) 上一回完成了对inv_icm20948_set_chip_to_body_axis_quaternion函数第2步即inv_rotation_to_quaternion函数的解析。回到inv_icm20948_set_chip_to_body_axis_quaternion中来,继续往下进行…

开放式激光振镜运动控制器在Ubuntu+Qt下的文本标刻

开放式激光振镜运动控制器在UbuntuQt下的文本标刻 上节课程我们讲述了如何通过UbuntuQt进行振镜校正(详情点击→开放式激光振镜运动控制器在UbuntuQt下的激光振镜校正),本节文本标刻是在振镜校正的前提下实现的。 在正式学习之前&#xff0…

首个大模型供应链安全领域的国际标准,WDTA《大模型供应链安全要求》标准解读

9月6日,WDTA世界数字技术院在2024 外滩大会上正式发布了国际标准《大模型供应链安全要求》。这一标准为管理大型语言模型(LLM)供应链中的安全风险提出了系统性的框架,涵盖了LLM的整个生命周期,从开发、训练到部署和维护,为每个阶段提供了详尽的指导。 文末附标准获取方式 一…

re题(17)BUUCTF-[BJDCTF2020]JustRE

BUUCTF在线评测 (buuoj.cn) 放到ida,shiftF12可以直接看到有个类似flag的字符串,可以跳转过去 这里我们先不跳转,进入main()的各个函数看一下 找到flag 本题学到一堆c的系统库函数

ImDisk Toolkit将一部分RAM模拟成硬盘分区

ImDisk Toolkit 是一个用于虚拟磁盘管理的工具,它可以将 RAM(一部分内存)模拟成硬盘分区,从而创建一个高速的临时存储空间,通常称为“RAM Disk”。以下是如何使用 ImDisk Toolkit 来将一部分 RAM 模拟成硬盘分区的步骤…

C++ | Leetcode C++题解之第398题随机数索引

题目&#xff1a; 题解&#xff1a; class Solution {vector<int> &nums; public:Solution(vector<int> &nums) : nums(nums) {}int pick(int target) {int ans;for (int i 0, cnt 0; i < nums.size(); i) {if (nums[i] target) {cnt; // 第 cnt 次…

Python OpenCV精讲系列 - 高级图像处理技术(三)

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;Python OpenCV精讲⚡️⚡️&#x1f496;&#x1f496; 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计&#xff0c;从基础概念入手&#xff0c;逐步深入到图像处理、特征检测、物体识…

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日&#xff0c;万博智云推出了基于AWS的无代理跨云容灾解决方案&#xff0c;并与拉丁美洲&#xff0c;中东&#xff0c;亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础&#xff0c;将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合&a…

HAProxy--高性能反向代理

文章目录 Web架构负载均衡介绍为什么使用负载均衡负载均衡类型 HAProxy简介应用场景HAProxy是什么HAProxy功能 脚本安装HAProxy基础配置global多进程和线程HAProxy日志配置项 Proxies配置-listen-frontend-backendserver配置 frontendbackend配置实例子配置文件 HAProxy调度算法…

SRS流媒体服务器从入门到精通(其一,环境搭建)

欢迎诸位来阅读在下的博文~ 在这里&#xff0c;在下会不定期发表一些浅薄的知识和经验&#xff0c;望诸位能与在下多多交流&#xff0c;共同努力! 江山如画&#xff0c;客心如若&#xff0c;欢迎到访&#xff0c;一展风采 文章目录 一、SRS简介二、SRS的应用场景三、环境搭建…

(计算机网络)应用层

1.为什么需要应用层 应用层提供使用tcp&#xff0c;udp使用的方式 协议就是制定的规则 2.域名服务器概述 域名是唯一的 新增域名&#xff0c;大家都要修改这个文本文件&#xff0c;所以要进行集中管理这个文本文件&#xff0c;而不是使用本地的hosts文件 hosts文件在Windows系统…

智能厕所系统高科技打造公厕新生态丨深圳讯鹏科技

从人们踏入智能厕所的那一刻起&#xff0c;便能深切感受到科技的力量。智能感应门悄然无声地开启&#xff0c;仿佛在欢迎每一位使用者。这种感应门不仅方便快捷&#xff0c;更避免了传统公厕门的直接接触&#xff0c;减少了细菌交叉感染的风险。走进厕所内部&#xff0c;智能灯…

Golang | Leetcode Golang题解之第397题整数替换

题目&#xff1a; 题解&#xff1a; func integerReplacement(n int) (ans int) {for n ! 1 {switch {case n%2 0:ansn / 2case n%4 1:ans 2n / 2case n 3:ans 2n 1default:ans 2n n/2 1}}return }

掌握Flux的各种风格表现,另外,flux也有了滑块Lora

在AIGC知识库通过#flux标签&#xff0c;汇总了下最近整理的内容&#xff0c;部分如下&#xff0c;更多可见AIGC知识库。 shadow&#xff1a; 经常在画图的时候&#xff0c;会有选择困难症&#xff0c;这下可以直接翻阅查看自己喜欢的风格&#xff0c;参考使用 ↓ Flux Style Te…

安装oh-my-zsh后报错zsh: command not found: conda问题解决

zsh: command not found: conda问题解决 一、问题介绍与环境介绍 系统为macOS Sonoma 14.5 所用终端为zsh 主要问题&#xff1a;安装了oh-my-zsh之后conda命令在终端中不可用。 二、原因分析 终端中zsh的可访问的程序一般放在/bin, /usr/bin, /usr/local/bin&#xff0c;~/bi…