首页 理论教育 如何挑战——增加信号幅度并进行频谱分析

如何挑战——增加信号幅度并进行频谱分析

时间:2023-06-23 理论教育 版权反馈
【摘要】:增加输入信号的幅度直到超过ADC的范围并且发生剪切。使用winDSK6频谱分析器来观察方波测试信号。使用winDSK6频谱分析器,选择不同的窗函数和不同的帧数目进行平均。通常情况下,应尽量选用最快的方式进行连接。变换器的内部对信号的过采样,意味着简单地变化采样频率不一定会导致预计的混叠。通道12将用于板上的编解码器,通道14将用于子板上的编解码器。[29]注意,对于FFT或DFT来说FS/N是最小的频率分辨率。

如何挑战——增加信号幅度并进行频谱分析

思考并扩展你所学到的知识。

(1)使用winDSK6频谱分析器来观察正弦测试信号。增加输入信号的幅度直到超过ADC的范围并且发生剪切。当信号发生剪切时信号的频谱变化和你期望的一样吗?

(2)使用winDSK6频谱分析器来观察方波测试信号。频谱和你从傅里叶变换理论(如你仅观察谐波在幅度上的减小和它们在频率上的增加)中得到的一致吗?

(3)使用winDSK6频谱分析器,选择不同的窗函数和不同的帧数目进行平均。频谱的结果如何变化?

(4)探究Matlab中pwelch函数所有可选择的选项。对于periodogram、spectro-gram、pburg和pmusic函数也是一样的。使用各种已知的输入信号,在加和不加随机噪声的条件下来比较这些不同的频谱评价方法。

(5)加一些特征到本书附录E中的实时谱分析器例子中,像那些在winDSK6中有效的例子一样。

[1]实时(real-time)意味着系统对一些外部事件或者信号正常功能的反应是“足够快的”。CD播放器、数字蜂窝电话、GPS接收机和飞机数字飞行控制都是常见的实时DSP的例子。

[2]信号处理工具箱是Matlab的备选产品,可以从美国Math Works公司获取。读者也可以看一下适用于DSP的图形编程环境,如美国Math Works公司的SIMULINK和美国National Instruments公司的LabVIEW。

[3]如果此时正在使用计算机并口与DSK硬件连接,可以通过在winDSK6并口模式窗口上单击鼠标右键,查看可用连接方式及相关说明。通常情况下,应尽量选用最快的方式进行连接。

[4]这里假设是低通或基带信号。对于带宽为BW的带通信号,我们发现除了FS≥2BW,FS还必须满足其他条件,更多详细信息请参见参考文献[49]。

[5]ADC根据其设计方式处理这种过驱动问题的方式是不同的。这样导致的最常见的结果是出现饱和或者回绕。一些ADC可以通过专门的设计来解决饱和或者回绕问题。

[6]所有支持的编码都可使用sigma-delta变换器。变换器的内部对信号的过采样,意味着简单地变化采样频率不一定会导致预计的混叠。

[7]Microsoft Windows。

[8]对于较早版本的Matlab版本使用help audio命名。

[9]基本上所有的主题范围都被工程和科学研究教科书所覆盖,这里没有普遍并意见一致的标准符号。我们在这里使用了多数人使用的符号,但是在你喜欢的书中也许是不同的。

[10]ejω可以被看做是一个绝对值为1角度为ω的矢量。

[11]你也许需要增加滤波器的阶数到真正听到滤波器输出的区别。通过设置N=31来试一下31阶MA滤波器并且使所有的B的值等于1/32=0.03125。

[12]这里假设你已经使用了Matlab命令,如remez、SPTool或者FDATool,来设计你的滤波器。可使用帮助来探究这些命令。在后面的章节中将更进一步讨论。

[13]在第3章,我们没有提及ccs\FIRrevC目录中的代码,认为它是附带的。(www.xing528.com)

[14]可能需要调整“A[1]”的数值,调节的范围是-0.9到一个数值,例如-0.7或者-0.5,然后听听滤波后的效果。

[15]如果你比较喜欢使用角频率,仅需用ω0代替2πf0

[16]一个调频脉冲是典型的短持续时间信号,在此处频率是时间上单向扫频(由低到高或者由高到低)的。调频有线性扫频或者对数扫频,并用在许多雷达、声纳和通信应用中。

[17]C6711 DSK的时钟频率是150MHz,或者说每时钟周期为6.667ns。

[18]实际上,标准的电视信号每帧使用两个交错的场,并且电影节目使用一个光源斩波器来增加视在更新速率,人的视觉系统将不会察觉到图像闪烁。

[19]一些DSP步骤包含错误修正和调制扩展帧长度到73.5字节(588比特)每帧,这是实际存储在CD上的帧长度。

[20]这与美国核潜艇上的声纳系统的读出形式类似。

[21]当然也可以查看common_code目录中的DSK_Support.c文件,此文件被多个程序的初始化函数共享。

[22]然而许多新式的编译器设置这个最新生成的缓存变量内容为0,可能不知道有此特性可用。

[23]除非缓存非常小,否则它们很显然不适合放在DSP的片内RAM,以后我们还会见到这样的方法。

[24]buffer_ready标志在ProcessBuffer函数结束的时候设为0,表示处理已经完成。

[25]回想“&buffer[2][0]”指的是第一个元素buffer[2]的地址

[26]使用的实际通道由所使用的编解码器决定。通道12将用于板上的编解码器,通道14将用于子板上的编解码器。

[27]KNM等是很有“魔力”的。有时候N用于代表输入数据的长度,如在这里一样,另一些时候N代表滤波器的阶段。从讨论的上下文应该能看出这些字母代表了什么。

[28]也可以查看common_code目录中的DSK_Support.c文件,此文件被多个程序的初始化函数共享。

[29]注意,对于FFT或DFT来说FS/N是最小的频率分辨率

[30]在某一语境下可能使用N作为滤波器的阶数,而在另外一个语境下可能作为滤波器的长度。这在DSP的文中是常有的事。从讨论的内容,读者应该可以清楚使用的是哪一种定义。

[31]我们假定一个基2FFT,这里要求N是2的幂。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈