第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

用傅里葉變換測量聲卡的頻率失真

我希望通过声音而不是无线电频信号来模拟软件定义无线电。我的声卡能否胜任这个任务?这篇文章介绍了一种技术来验证这一点。

使用声卡可以通过低成本且有趣的软件定义无线电(SDR)技术来实验,听听结果。大多数简单的SDR数字调制方案会将数据编码到正弦波的相位或频率。因此,我对声卡再现这些波形的方式很感兴趣,特别是它们对波形相位和频率的失真程度。这些信息对于在声卡的限制下配置调制方法以传输信息很有价值。我可以通过测量正弦波的相位并计算其瞬时频率来量化相位和频率的失真,也就是相位随时间的变化率。对于以固定频率传输的正弦波,相位应以恒定速度随时间变化,类似于一个在无摩擦的水平表面上以恒定速度移动的物体。如果正弦波的频率或物体的速度发生变化,捕捉到的“失真”可以揭示系统中的非理想效应。本文的主题是测量正弦波失真技术,但只关注相位失真,因此该技术必须能够抵抗由声卡引起的幅度波动。

注意:在这篇文章中,术语“正弦波”和“sine wave”将互换使用,指的是具有任意相位偏移的波形。例如,这里的余弦波也可以称为正弦波,因为它是正弦波的一种,相位偏移了90度的正弦波。

对捕获的信号应用反正弦函数是一种找相位的技术;然而,这种方法假设信号是一个完美的正弦波,其幅度在-1到+1之间波动。幅度的波动违背了这一假设,从而排除了直接使用反正弦函数。

从仅将正弦波视为一维实信号,扩展到将其视为二维复平面内旋转矢量的投影。图1A通过展示一个以恒定速度逆时针旋转(因此相位变化恒定)的相位矢量来说明这一概念,其中该矢量在实轴(图1B)和虚轴(图1C)上的投影生成了相位偏移不同的12kHz正弦波。声卡可以每通道传输和记录一个信号。由于我将音频系统限制为单通道(类似于具有单个天线的软件定义无线电),我需要在两个矢量轴中选择一个信号。我任意选择了实部(即x坐标),因为在文中更容易引用。因此,虚部(即y坐标)未在音频通道上被观察到。所以,该技术的目标是通过瞬时频率计算比较记录的旋转矢量的相位角(ϑ)与发送的相位,以揭示声卡引入的任何失真。

图1:展示了用于表示正弦波的复矢量概念的概述。(A)显示了一个以恒定速度逆时针转动的相位矢量,建立了恒定的相位变化速率。(B)描绘了该旋转矢量在实轴投影,生成了一个90度相位偏移的12kHz正弦波。(C)展示了虚轴投影,产生了一个12kHz无相位偏移的正弦波。

仅从记录的正弦波实部来测量相位的挑战在于,仅一个正弦波周期的实部可以对应两个不同的相位值,如果其幅度变化,则对应更多的相位值。图2A和图2D说明了这种情况,即分别标记为向量1和向量2的两个不同的向量,长度固定为一,具有相同的实坐标,但对应的相位偏移不同。虽然反三角函数在这种情况下会给出两个相位值,但如果向量的长度变化,就不能直接使用这些反函数。这个问题在图2B、2C、2E和2F中得到了说明,此时向量长度大于一,导致不同的相位角对应相同的实数值的情况。

图2:此图展示了当不同的向量属性产生相同的实坐标时,相位确定的歧义是如何产生的。(A)展示了一个单位长度的向量(向量1),该向量与另一个相位可能性共用同一个实坐标。(B)显示了一个长度超过一的向量导致多个相位角度对应同一个实数值。(C)进一步说明了向量长度增加对相位测量中的歧义的影响。(D)展示了另一个单位长度的向量(向量2),尽管与相同的实坐标相同,也表现出相位歧义。(E)继续演示了一个长度超过一的向量如何导致相同的实部分量出现重叠的相位。(F)强调了向量长度增加对从实部产生非唯一的相位的影响。

图3A所示,向量长度问题变得更加复杂,因为其旋转速度随时间增加,这种情况可能是由于声卡振荡器组件漂移或放大器增益变化导致的结果。从图3B可见,对应的实部计算向量相位很困难,这使得调整底层向量模型变得必要。

图3:此图强调了随时间变化的旋转速度带来的复杂性对从实部提取相位的影响。(A)说明了由于旋转速度随时间增加而加剧的向量长度问题。(B)展示了在动态条件下恢复相位的难度。

更改底层向量模型的目标是恢复与记录信号相同相位的隐藏向量。如果向量的实部(x坐标)和虚部(y坐标)都能直接获得,相位测量将很简单。然而,由于无法直接获取y坐标,技术上不能依赖未观测到的y坐标。为了消除这种依赖性,增加了一个反向旋转(顺时针)的向量,它将原始向量的y坐标镜像过来,使得结果的y坐标始终保持为零。此外,两个向量都被缩小到原来的一半,以保持正确的x坐标值。图4A展示了两个向量旋转的关系,这种关系消除了y坐标的影响,同时保持了原始的x坐标值。图4B显示,结果信号(即x坐标)与图3B中的单个旋转向量一致。由于x坐标相同,无法区分信号是由一个还是两个向量生成的,因此我假设这是由两个向量模型生成的。

图4:引入了一种修改后的矢量模型来恢复仅观察到实数部分时的隐藏相位。(A)显示了原始的逆时针方向旋转矢量,以及一个相反方向的顺时针方向旋转矢量,其大小是前者的一半,它们被安排以抵消y坐标的值。(B)展示了所得的x坐标信号与之前计算出的单个旋转矢量的x坐标信号一致。(C)通过傅里叶变换峰值来说明如何表示并根据频率的符号来区分这两个相反的两个矢量。

随着第二个向量消除了y分量,任务转变为分离这两个旋转向量各自的贡献。黑色向量按常规的逆时针方向旋转,而灰色向量则按顺时针方向旋转。逆时针向量对应正频率,这只是因为惯例。按照惯例,逆时针向量对应正频率,通常用于解析信号的形成及调制方案中。同样,按惯例顺时针向量对应负频率,这是惯例。通过傅里叶变换可以将这两个向量分离,将信号分解为正频率和负频率。在这个过程中,傅里叶变换将分离顺时针和逆时针旋转的向量。这在图5A中显示,两个旋转向量产生了固定频率和固定幅度的正弦波,图5B显示的实信号。当应用傅里叶变换时,如图5C所示,结果图在水平轴上显示出两个明显幅度的峰值,对应于旋转向量的带符号频率。图4C进一步展示了这些峰值如何代表了这两个相反的向量。在此分析中,仅展示了傅里叶变换的幅度部分(通常以分贝表示),忽略了每个频率的完整复数值。关键在于,当向量以固定速度和幅度旋转时,傅里叶变换有效地分离了逆时针和顺时针部分。这种分离意味着逆时针向量可以被隔离,以便测量其随着时间变化的相位。

图5:从双旋转向量生成实信号并展示其具体内容。 (A) 展示了两个旋转向量(一个逆时针旋转,一个顺时针旋转),它们共同生成一个固定频率和固定幅度的正弦波。 (B) 展示了由这两个向量组合产生的实信号。 (C) 展示了傅里叶变换的结果,在水平轴上显示出明显的幅度峰值,对应于各旋转分量的有符号频率。

在实际场景中,捕获的信号在幅度和频率上都会发生变化,如图4B和6B所示。对这种动态信号应用傅里叶变换后,会产生一个频谱(图6C),显示两个由多个频率组成的宽峰,而不是两个尖峰。这些宽峰的出现是因为傅里叶变换将信号的幅度和频率变化分解为一组固定频率和固定幅度的正弦波之和。

图6:此图展示了幅度和频率可变的信号及其频谱表示的动态变化。(A) 展示了两个旋转向量(一个逆时针旋转,一个顺时针旋转),它们共同生成一个频率和幅度可变的正弦波。(B) 显示了被捕获的信号,其中幅度和频率随时间变化。(C) 展示了对应的傅里叶变换频谱,特点是有一个宽峰,反映了分解成多个固定频率成分。

图7和图8概念性地说明了一个长度和旋转速度都在变化的旋转向量可以被看作多个固定向量的组合,而且逆傅里叶变换可以从这些固定成分中重组原向量的动态特性。

图7:一个概念性的说明,展示一个动态变化的旋转向量可以被表示为多个固定向量的组合。

图8:一个概念示意图,展示了逆傅里叶变换如何将原始向量的动态行为从固定频率分量重新组装起来。

图9展示了利用傅里叶变换测量瞬时频率的处理流程。首先,使用傅里叶变换将信号(图9A)的原始向量分离成逆时针和顺时针向量。接下来,将负的(顺时针)频率(图9B)设为零,仅保留逆时针旋转的向量。逆傅里叶变换将单个逆时针旋转向量的实部(x坐标)和虚部(y坐标)值重构出来。实部和虚部中还包含了任何振幅波动。通过从坐标中计算相位角(图9D),并将坐标归一化为向量的幅度,去除这些波动,得到单位长度的旋转向量(图9E),其旋转速度的变化反映了相位变化的速率。由于瞬时频率定义为相位随时间的变化率,计算连续相位测量之间的差值,并按采样率除以2π进行缩放,得到瞬时频率图(图9F)。这些分析可以揭示各类相位和频率调制方案的预期误差率。

图9:使用傅里叶变换技术测量瞬时频率的完整处理链如图所示。(A)傅里叶变换分离了底层向量。(B)将顺时针频率分量设为零,以隔离逆时针旋转的向量。(C)逆傅里叶变换重构逆时针向量的实部和虚部。(D)根据归一化的坐标计算相位角,消除幅度波动。(E)结果是一个单位大小的旋转向量,其变化的旋转速度反映了其相位变化。(F)通过连续相位测量的微分并按适当因子缩放得到瞬时频率图。

完整的处理链使用具有已知参数的测试数据进行了验证,如图10所示。在图10A中,一个由旋转频率(rotational frequency)从11,999.5 Hz到12,000.5 Hz变化的向量生成的正弦波加入了噪声。计算出的瞬时频率接近预期值,观察到的最小值为11,996.24 Hz,最大值为12,003.68 Hz。在另一项测试(图10B)中,一个宽带信号的旋转频率范围从11,965 Hz到12,035 Hz,最小值为11,962.70 Hz和最大值为12,037.96 Hz。

通过测试数据取得定性上的成功后,该技术应用于一个由同一声卡以44.1 kHz的采样率和16位样本传输并记录的12 kHz正弦波。生成的正弦波没有添加任何合成噪声,因此观察到的任何波动都来自声卡和量化效应。图10C显示,声卡在测量的一分钟期间,瞬时频率范围在11,999.29 Hz到12,000.64 Hz之间,波动约为1.5 Hz。相位可以通过对瞬时频率进行积分来获取。

图10:使用已知参数的测试数据验证结果,以确认该技术的准确性。(A) 展示了一个频率在11,999.5 Hz到12,000.5 Hz之间变化的正弦波测试数据,包括观察到的瞬时频率最小值和最大值。(B) 展示了宽带信号测试的验证结果,其旋转频率范围更广,频率极值也相应变化。(C) 展示了声卡记录测量结果,在一分钟内频率波动约为1.5 Hz。

结论部分

1.5 Hz的不对称波动在大约一分钟内使用一个价值15美元的USB声卡测量表明,这种硬件对于基本的软件定义无线电(SDR)应用来说是足够稳定的。这些结果表明,基于傅里叶变换的方法可以从记录的正弦波中提取相位信息这一点。未来工作将探索相位和频率调制技术,确保所有的符号调制都保持在可变性的范围之内。初步测试将采用简单的频移键控方法,涉及在12 kHz处,间隔为100 Hz的两个频率,每秒传输几个比特数据。进一步的研究还将考察声卡所能达到的数据传输速率极限,并评估其他调制方案的可行性。

同时,对声卡进行额外的特性分析将有助于理解其局限性并识别潜在的解决办法。除了使用傅里叶变换从噪声背景中分离信号之外,其他分析技术——如频谱图分析、时频分析和噪声建模——可能提供更多关于声卡通道特性的深入见解。这些方法可能揭示噪声频谱中的细微特征,这些特征可以被利用以提高整个系统的性能表现。

消除不需要的顺时针旋转矢量,这些矢量对应于负频率,是通过一个相当于应用希尔伯特变换的过程来实现的。希尔伯特变换在数学和信号处理中用于从实值信号中创建分析信号。本文就是这么做的。通过消除负频率分量,创建了一个分析信号,该信号是逆时针旋转的矢量,从而实现了瞬时频率分析。Python的SciPy工具箱中的Hilbert函数正好可以做到这一点。本文的代码可以在gnuradio-examples/analysis中找到。

写作时使用了ChatGPT的GPT-4o和o3-mini-high。

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消