tag 标签: 数字信号处理

相关帖子
相关博文
  • 热度 4
    2024-4-12 14:31
    180 次阅读|
    0 个评论
    在上期文章 如何正确使用数字化仪前端信号调理?(一) 中,我们为大家介绍了数字化仪前端电路所需的特性以及使用过程中需要的输入抗阻和输入耦合,本期文章将为您介绍数字化仪前端信号调理的使用过程中所需的 输入电压范围 ,与您分享一些 改善信号完整性的小技巧 以及数字化仪的 内置校准功能 。 一、输入电压范围 数字化仪内部的核心ADC通常具有固定的输入量程。最简单的直连接口同样也只能提供一个固定量程,该量程与ADC的输入量程匹配。这种方式虽然简单,但在测量仪器中并不实用,除非这单一的量程恰好是用户需要使用的量程。而如果要将输入信号幅值调整到ADC的量程范围内,就需要有一个衰减器或放大器。 1.衰减器 其中衰减器是一种简单的电压分压器,通常为阻性分压,可以降低输入信号的幅值。当使用优质元件设计和制作时,通常不会显著降低信号的完整性。当衰减器在插入到信号路径中时,会出现的一个问题是,仪器内部噪声幅值等效到衰减前的强度会随着前端衰减比的变化而变化。比如,如果原本一个具有58 μV RMS噪声水平的数字化仪,在添加一个 10:1 的衰减器后,噪声水平相等效到输入端则是580 μV。也就是说,在增加衰减后,噪声水平相对于新的全量程范围仍然有相同的百分比比例。 2.放大器 放大器则是另一回事。即使具有正确设计,它们通常也会将额外的噪声引入信号路径,但同时,放大器的增益又会降低内部噪声等效到输入端的幅值,这种现象在某种程度上说也是一种对精度的补偿。放大器还可能引入失真,而进一步降低信号完整性。放大器的另一个限制是它们具有固定的增益带宽积。如果您希望增加它们的增益,则带宽必然会相应地降低。您还可以在高灵敏度范围参数中看到这一点,该参数对应的带宽也会被降低。 输入电压范围的选择是数字化仪设计中的关键课题,因为它会对信号的完整性产生重大影响。但同时,它也为用户提供了更大的灵活性,使用户可以根据可用的信号幅度更好地匹配ADC输入范围。数字化仪制造商提供了各种处理这种权衡的方法。通常,他们会从提供单一固定输入范围开始,然后逐渐将设计工作服务对象从ADC制造商转移到关注应用所需正确量程范围的最终用户,最终提供多种输入路径。多个输入路径配合带缓冲路径,提供了最大的输入范围和终端负载的灵活性,此外50Ω高频(HF)路径,则通过提供较少的输入范围和固定的50Ω负载电阻,提供了最高的带宽和最佳的信号完整性。 图3所示的结构框图展示了德思特TS-M4i系列板卡式数字化仪的模拟输入通道前端架构,该前端部分包括两个输入路径。 图3:德思特TS-M4i数字化仪的前端架构框图,其中含有全功能前端所需的各种元素,包括双输入路径、耦合、终端阻抗、滤波和内部校准源 在我们的设计中,高频路径为提供尽量大的带宽和尽量好的信号保真度而优化。而缓冲路径则通过提供更多的、范围更广的量程选择,为用户提供更大的灵活性。用户可以根据实际测量需求选择最佳的输入路径。 表1展示了14位、500 MS/s数字化仪(TS-M4i.445x型号)中两种路径的参数比较。 表1:14位、500 MS/s数字化仪中高频路径和缓冲路径的特性比较 图4提供了对数字化仪500 mV量程档上256级台阶波形的高频和缓冲路径响应对比。在这张图中,我们看到的是每条路径中的单个台阶数据,请注意,我们为每条路径选择了相邻的台阶,因此它们并不重叠。 图4:高频路径和缓冲路径响应的差异 请注意,尽管缓冲路径的带宽仅为高频路径的一半,但其峰峰值噪声水平还更高一些。 我们可以观察到,缓冲路径的峰峰值噪声水平明显高于高频路径。高频路径的设计为尽可能小的噪声而优化,因此尽管其带宽是缓冲路径的两倍,仍能显示出较少的噪声。而为此性能付出的代价就是减少了可用的输入量程范围数量,并需要使用固定的50Ω终端负载。也因此,如果您选择的其他数字化仪只能提供缓冲路径,或与之等效的前端通道,那么您将被迫引入较高的噪声水平。 接下来,再来看这些波形的直方图(如图5所示),我们可以看到高频路径的平均值的分散度小于缓冲路径的分散度。这意味着高频路径的噪声或畸变更小。 图5:高频和缓冲信号路径的数据值直方图,其中高频路径分布较窄,说明噪声水平更低 而这种现象的度量参数是标准差。在这个例子中,高频路径的标准差为0.125 mV,而缓冲路径的标准差为0.183 mV。这为两个信号路径之间相同的输入信号的噪声水平差异提供了量化依据。当然,我们应当注意,这两个响应之中也包含有信号源和数字化仪本身的噪声成分。 高频信号完整性更高的优势,也可以通过数字化仪分别使用两个输入信号路径获取到的正弦波对应的频率谱中看出,如图6所示。在这里面,左右两个窗格对应的是两个输入路径获取的信号的快速傅立叶变换(FFT)结果。红色和蓝色光标分别标记了频谱峰和最高杂散峰的峰值。从中可得知高频路径的无杂散动态范围为80.9 dB,而缓冲路径为60.7 dB。此外,我们还可以发现,高频信号路径中的噪声基线更低一些。 图6:比较缓冲(左侧)和高频(右侧)路径的频谱 这里测得高频路径的无杂散动态范围为80.9 dB,而缓冲路径为60.7 dB。 二、改善信号完整性的小技巧 无论您选择哪种信号路径,都有一些通用的技巧可以帮助您获得最佳信号完整性。最重要的一点就是尽可能多地利用输入量程范围。如果信号具有稳定的幅度,则选择至少使用90%范围的输入量程。但同时,也应避免超过ADC量程的情况发生。一旦超过满量程范围,结果将是失真或削波,而这将产生我们不希望的谐波并且降低信号的完整性。 如果你选用的数字化仪有内置带通滤波器,可以考虑将其启用,来帮助降低噪声。在德思特数字化仪中,其前端模拟信号处理部分,有一个20 MHz低通滤波器,可以选择启用来限制数字化仪的带宽。如果输入信号在20 MHz以上没有有用内容,则可以使用滤波器减少20 MHz以上的噪声通过,以改善采集到的信号的信噪比。 三、内置校准 德思特推出的所有数字化仪通道在发货前均经过工厂校准。但由于板卡式数字化仪被集成到PC环境中,而PC的电源电压和内部温度可能会存在较大波动,因此这些板卡式数字化仪的软件驱动程序都提供了自动的板上自校准程序,校准对象包括偏置值和增益(缓冲信号路径),并且会针对所有输入量程范围。每张数字化仪板卡上都包含一个高精度的内置校准参考源。这是一个很棒的特性,可以帮助数字化仪在环境变化和本身老化的情况下保持校准状态。推荐的校准程序使用时机是在数字化仪持续运行了足够的时间,达到了稳定的运行温度后再进行校准,这个预热时间通常在10到15分钟。 END 德思特板卡式数字化仪的模拟通道前端提供了确保准确、可重复测量所需的各种必备功能和特性。多量程范围、交流/直流耦合、滤波和内置校准功能都有助于确保信号的最大完整性和准确性。我们坚信,一个设计良好的模拟前端将允许用户恰到好处地处理输入信号,并尽可能确保输入信号能覆盖核心ADC的量程范围,而又不会超限。只有这样,数字化仪才能实现最佳的测量准确性和精度。 关于德思特 德思特 是原虹科测试测量事业部孵化出来的独立公司,基于超过10年的业务沉淀,德思特公司专注提供电子测试/测量解决方案。主要业务范围涵盖:汽车电子仿真及测试、射频微波及无线通信测试、无线频谱监测与规划、无线通信(包括智能网联汽车无线通信、轨道交通、卫星通信、室内无线通信)、半导体测试、PNT解决方案、大物理和光电测试等。 核心成员具有9年以上的测试测量、无线通信及其他相关行业资历;技术团队获得世界五百强PNT解决方案合作伙伴Safran的GNSS技术及信号仿真和软件Skydel培训认证证书、航空航天测试和测量合作伙伴Marvin Test 的自动化测试软件ATEasy培训认证证书。 德思特研发部,核心成员获得国际项目管理师PMP认证资质,并具备LabVIEW、python等多种编程语言能力,优势能力集中于:HIL测试,半导体测试,EOL测试和质量检测等多种系统研发集成,拥有10多个实用新型和专利授权。 围绕汽车电子、射频微波、通信、航空航天等行业提供专业可靠的解决方案,现有客户包括华为、德赛西威、蔚来汽车、理想汽车、航天科工集团、清华大学、北京航空航天大学、中电科集团等。 此外,我们还是中国无线电协会、中国通信企业协会、雷达行业协会、RIS智能超表面技术协会等行业协会的会员。
  • 热度 2
    2023-11-22 14:51
    727 次阅读|
    0 个评论
    一、实验目的 了解信号抽样的基本内容,学习AD7606采集波形的实现,实现外部信号的抽样与恢复并在LCD上显示结果。 二、实验原理抽样定理 抽样定理,又称采样定理,香农采样定理,奈奎斯特采样定理,只要采样频率大于或等于有效信号最高频率的两倍,采样值就可以包含原始信号的所有信息,被采样的信号就可以不失真地还原成原始信号。抽样定理是通信理论中的一个重要定理,是模拟信号数字化的理论依据。时域采样定理: (1)频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),...来表示,只要这些采样点的时间间隔Δt≤F/2,便可根据各采样值完全恢复原来的信号f(t)。 (2)当时间信号函数f(t)的最高频率分量为f_M时,f(t)的值可由一系列采样间隔小于或等于f_M/2的采样值来确定,即采样点的重复频率f≥2f_M。 对连续时间正弦信号考虑下面的表达式: 可以按抽样频率f_s=1/T_s对x(t)抽样来获得离散时间信号: 如果不能满足抽样定理,抽样后信号的频率就会重叠,即高于采样频率一半的频率成分将被重建成低于采样频率一半的信号。这种频谱的重叠导致的失真称为混叠,就不能恢复成原始信号。以下两种措施可避免混叠的发生: (1)提高采样频率,使之达到最高信号频率的两倍以上(本实验使用的方法); (2)引入低通滤波器或提高低通滤波器的参数;该低通滤波器通常称为抗混叠滤波器,抗混叠滤波器可限制信号的带宽,使之满足采样定理的条件。 外部输入信号 本实验中,外部输入信号的抽样实现是通过实验板上的波形发生器AD9833输出正弦波连续信号, AD7606 采集波形后得到对应的离散信号数据,最后DSP对采集到的离散信号进行处理,比如FFT运算,最后LCD显示。 AD9833特性 (1)AD9833是一款低功耗、可编程波形发生器,能够产生正弦波、三角波和方波输出,输出频率和相位可通过软件进行编程,调整简单。 (2)AD9833通过一个三线式串行接口写入数据。该串行接口能够以最高40MHz的时钟速率工作,并且与DSP和微控制器标准兼容。 AD7606特性 (1)8 路16bit采样通道。 (2)支持串行和并行读取方式。 (3)支持全部通道 200K 采样率并行采集和转换。 (4)支持真正±10V 或±5V 的双极性信号输入。 AD7606上8个通道的数据是同时采集,轮流转换的。 模数转换模块的处理过程如下: (1)模数转换模块接到启动转换信号后,按照排序器的设置,开始转换第一个通道的数据; (2)经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存; (3)按顺序进行下一个通道的转换; (4)如果为连续转换方式则从新开始转换过程; (5)否则等待下一个启动信号。 程序流程设计 设计中首先要进行LCD初始化,例如外设使能配置、LCD管脚复用配置、中断配置、显示初始化等。然后初始化AD7606并启动转换,接着初始化AD9833并输出正弦波信号,AD7606对信号进行抽样转换,抽样后将信号转为复数模式,接着对抽样信号进行FFT变换,并在在LCD上显示抽样的结果。最后进行触摸检测,控制AD采样的暂停和启动。 函数源码 FFT运算函数 使用 DSPLIB 的库来进行FFT运算。使用时,直接包含“DSPF_sp_fftSPxSP.h”文件 即可。 API接口 void DSPF_sp_fftSPxSP(int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用 DSPLIB 的库来进行FFT运算,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FFT函数中,第一个参数是样本中 FFT 的长度,第二个参数是指向数据输入的指针。第三个参数是指向复杂旋转因子的指针。第四个参数是指向复杂输出数据的指针。第五个参数是指向包含 64 个条目的位反转表的指针。如果样本的FFT长度可以表示为 4 的幂,第六个参数是4,否则 第六个参数是 2 。第七个参数是从主FFT开始的样本中的子 FFT偏移索引 。 第八个参数是样本中主FFT的大小。 FFT逆变换函数 使用 DSPLIB 的库来进行FFT逆变换。使用时,直接包含“DSPF_sp_ifftSPxSP.h”文件 即可。 API接口 void DSPF_sp_ifftSPxSP (int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用 DSPLIB 的库来进行FFT逆变换,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IFFT函数中,第一个参数是样本中 FFT 的长度。第二个参数是指向数据输入的指针。第三个参数是指向复杂旋转因子的指针。第四个参数是指向复杂输出数据的指针。第五个参数是指向包含 64 个条目的位反转表的指针 。如果样本的FFT长度可以表示为 4 的幂,第六个参数是4,否则第六个参数是2 。第七个参数是从主FFT开始的复杂样本中的子FFT偏移索引 。第八个参数是样本中主FFT的大小。 三、操作现象 实验设备:本实验使用的硬件接口为LCD,所需硬件为实验板、仿真器、公头对公头 SMA 连接线、LCD和电源。 硬件连接 (1)使用公头对公头SMA连接线连接波形发生器和ADC输入的V1通道。 (2)连接仿真器和电脑的USB接口。 (3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 软件操作 导入工程,选择Demo文件夹下的对应工程 编译工程,生成可执行文件 将CCS连接实验箱并加载程序 程序加载完成后点击运行程序 运行程序后,LCD会显示抽样的离散信号波形,上半幅图为离散抽样信号,横坐标X为时间,采样点的时间间隔为1ms。下半幅图为离散抽样信号的频谱图,频谱近似等于AD9833产生的连续信号频谱 100。 实验结束后,先点击左上角的黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验板的连接,最后实验箱断电即可。
  • 热度 4
    2023-11-16 15:07
    619 次阅读|
    0 个评论
    一、实验目的 了解IIR滤波器的特点,掌握Matlab辅助设计滤波器系数的方法,并实现IIR滤波器滤除高频信号,并在LCD上显示结果。 二、实验原理IIR滤波器 IIR无限冲激响应数字滤波器(infinite impulse response digital filter)是对单位冲激的输入信号的响应为无限长序列的数字滤波器。可分为一维、二维或多维无限冲激响应数字滤波器。它的输出y(n)由当前的和过去的输入信号x(n)及过去的输出信号共同决定。IIR的幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上。 对于IIR滤波器,冲激响应理论上应会无限持续,其输出不仅取决于当前和过去的输入信号值,也取决于过去的信号输出值。其系统函数如下: IIR滤波器的一种结构和差分方程可见图示,由IIR的系统函数出发,可视作两个系统的级联,并且合并了公共的延时支路。 IIR滤波器特性 无限冲激响应数字滤波器具有以下特性: (1)系统函数可以写成封闭函数的形式。 (2)采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。 (4)相位特性不好控制,对相位要求较高时,需加相位校准网络。 IIR滤波器的设计 设计IIR数字滤波器实质上就是找到一个使其频率响应H(Z)满足给定的通带截止频率、通带衰减系数、阻带截止频率及阻带衰减系数的可以在物理上实现的系统函数H(Z)。 根据所要设计滤波器的参数去确定一个模拟滤波器的传输函数,然后再根据这个传输函数,通过双线性变换、或脉冲响应不变法来进行数字滤波器的设计。它的设计比较复杂,复杂在于它的模拟滤波器传输函数H(s)的确定。这一点可以让软件来实现。具体实现步骤: (1)先确定需要一个什么样的滤波器,巴特沃斯型,切比雪夫型,还是其它什么型的滤波器。 (2)当选定一个型号后,就可以根据设计参数和这个滤波器的计算公式来确定其阶数、传输函数的表达式。通常这个过程中还存在预扭曲的问题(这只是双线性变换法所需要注意的问题,脉冲响应不变法不存在这种问题)。 (3)确定H(S)后,就可以通过双线性变换得到其数字域的差分方程。 MATLAB FIR 滤波器辅助设计,生成滤波器系数。 打开Matlab 软件,并打开"Filter Designed&Analaysis Tool"工具,在弹出的界面中按照所需滤波器修改以下参数: (1)滤波器类型:低通Lowpass; (2)滤波方式:巴特沃斯IIR(Butterworth); (3)滤波器阶数:Specify order(4+1阶); (4)采样频率:1000Hz; (5)通带截止频率:150Hz; 程序流程设计 设计中首先要进行外设使能配置,然后进行LCD管脚复用配置和LCD中断配置,接着进行LCD显示和触摸的初始化。最后产生带有噪声的原始信号并进行IIR滤波和FFT运算,将结果显示在LCD屏幕上,在循环中进行触摸检测,根据标志位判断显示时域或者频域波形。 程序功能:使用MATLAB 辅助设计滤波器系数实现IIR滤波,并在LCD上显示结果。 数字信号处理库 DSPLIB 包含优化的、C语言可调用的通用信号处理例程,用于计算密集型实时应用程序。 调用这些例程的运行速度比直接用C语言编写的等效代码快得多。使用DSPLIB可以缩短应用程序开发时间。 DSPLIB 3_4_0_0包括适用于 C64x+ 或 C66x 或 C674x 处理器的 Windows 或 Linux 安装可执行文件。 每个可执行文件安装一个组件包存储库、一个文档目录、一个 Eclipse 插件目录和一个扩展的组件目录结构,其中包含组件库、头文件和测试示例。 TMS320C6748处理器使用的是dsplib_c674x_3_4_0_0。 函数源码 程序使用DSPLIB 的库来进行IIR滤波,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IIR滤波函数中, 第一个参数是延迟元素值。 第二个参数是指向输入数组的指针。 第三个参数是指向输出数组的指针。 第四个参数是自回归滤波器系数。 第五个参数是动态平均滤波器系数。 第六个参数是输出样本数。 程序使用DSPLIB 的库来进行FFT运算,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FFT函数中, 第一个参数是样本中FFT 的长度, 第二个参数是指向数据输入的指针。 第三个参数是指向复杂旋转因子的指针。 第四个参数是指向复杂输出数据的指针。 第五个参数是指向包含64 个条目的位反转表的指针。如果样本的FFT长度可以表示为 4 的幂, 第六个参数是4,否则第六个参数是2 。 第七个参数是从主FFT开始的样本中的子 FFT偏移索引 。 第八个参数是样本中主FFT的大小。 程序使用DSPLIB 的库来进行FFT逆变换,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IFFT函数中, 第一个参数是样本中FFT 的长度。 第二个参数是指向数据输入的指针。 第三个参数是指向复杂旋转因子的指针。 第四个参数是指向复杂输出数据的指针。 第五个参数是指向包含64 个条目的位反转表的指针 。如果样本的FFT长度可以表示为 4 的幂, 第六个参数是4,否则第六个参数是 2 。 第七个参数是从主FFT开始的复杂样本中的子FFT偏移索引 。 第八个参数是样本中主FFT的大小。 三、操作现象硬件连接 (1)连接仿真器和电脑的USB接口。 (2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 操作现象 导入工程,选择Demo文件夹下的对应工程 编译工程,生成可执行文件 将CCS连接实验箱并加载程序 程序加载完成后点击运行程序 运行程序后,LCD会显示IIR滤波前后的时域波形,上方为100Hz信号与450Hz噪声组成的混合信号,下方为滤波后得到的结果(保留100Hz信号)。 点击一下LCD屏幕,会切换频域波形,上方显示原始频域信号+噪声,下方显示滤波后的频域波形,输入波形为一个低频率的正弦波与一个高频的正弦波叠加而成,通过观察频域图可知输入波形中的低频波形通过了滤波器,而高频部分被滤除。 实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验板的连接,最后实验箱断电即可。
  • 热度 1
    2023-11-8 15:17
    432 次阅读|
    0 个评论
    一、实验目的 了解FIR滤波器的特点,掌握程序算法生成滤波器系数的方法,并实现FIR滤波器滤除高频信号,并在LCD上显示结果。 二、实验原理FIR滤波器 FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。 有限脉冲响应(FIR)滤波器(N-1阶),不存在输出对输入的反馈支路,其单位脉冲h(n)是有限长。对于一个FIR滤波器系统,它的冲激响应总是有限长的,其系统函数可记为: 其中,N-1为FIR的滤波器的阶数。 带有常系数的FIR滤波器是一种LTI(线性时不变)数字滤波器。冲激响应是有限的意味着在滤波器中没有发反馈。长度为N的FIR输出对应于输入时间序列x(n)的关系由一种有限卷积和的形式给出,最基本的具体形式如下: FIR滤波器特性 有限长单位冲激响应(FIR)滤波器有以下特点: (1)系统的单位冲激响应h (n)在有限个n值处不为零。 0处收敛,极点全部在z = 0处(因果系统)。 (3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。设FIR滤波器的单位冲激响应h (n)为一个N点序列,0 ≤ n ≤N -1,则滤波器的系统函数为:H(z)=∑h(n)* z^(-n),就是说,它有(N-1)阶极点在z = 0处,有(N-1)个零点位于有限z平面的任何位置。 FIR滤波器的设计 FIR滤波器的设计比较简单,就是要设计一个数字滤波器去逼近一个理想的低通滤波器。通常这个理想的低通滤波器在频域上是一个矩形窗。 在数字信号处理中,傅里叶变换用来求取时域信号的频率成分。因此,通过对特定频率幅度和相位的响应,求取傅里叶变换的逆变换(IDFT),就可以求出满足要求的数字滤波器。 设计FIR滤波器需要提供的参数: (1)滤波器的类型:低通、高通、带通、带阻 (2)滤波器的采样频率 (3)滤波器的系数个数 (4)阻带衰减(dB) (5)通带纹波(dB) (6)过渡带带宽(Hz) 算法生成FIR滤波系数 本实验利用Kaiser窗设计一个FIR低通滤波器,有用信号为100Hz,需要滤掉的信号为450Hz。 Kaiser窗是一种应用广泛的可调节窗,它可以通过改变窗函数的形状来控制窗函数旁瓣的大小,从而在设计中可用滤波器的衰减指标来确定窗函数的形状。与其他窗相比,Kaiser窗最大的特点是可以同时调整主瓣和旁瓣宽度。 Kaiser窗的定义如下: 其中n=1,2,⋯,N-1 ,N 表示窗函数的总长度, I_0是第一类贝瑟尔函数。β是一个可调参数,可以通过改变β的值来调整窗函数的形状,从而达到不同的阻带衰减要求。 void filter_coefficient(int n, int band, float fs, float fln, float fhn, float wn, float beta, float h[]) n:滤波器阶数(偶数) band:滤波器类型,1=低通,2=高通,3=带通,4=带阻 Fs:采样频率 fln:通带上边界频率(低通) 、通带下边界频率(高通、带通、带阻) fhn:无意义(低通、高通)、通带上边界频率(带通、带阻) wn:滤波器窗体,1=retangular,2=tapered rectangular,3=triangular,4=Hanning,5=Hamming,6=Blackman,7=Kaiser beta:Kaiser窗口的β参数(3< β <10) h:滤波器系数 程序流程设计: 设计中首先要进行外设使能配置,然后进行LCD管脚复用配置和LCD中断配置,接着进行LCD显示和触摸的初始化。然后通过FIR滤波器系数算法生成滤波因子,最后产生带有噪声的原始信号并进行FIR滤波和FFT运算,将结果显示在LCD屏幕上,在循环中进行触摸检测,根据标志位判断显示时域或者频域波形。 数字信号处理库 DSPLIB 包含优化的、C语言可调用的通用信号处理例程,用于计算密集型实时应用程序。 调用这些例程的运行速度比直接用C语言编写的等效代码快得多。使用DSPLIB可以缩短应用程序开发时间。 DSPLIB 3_4_0_0包括适用于 C64x+ 或 C66x 或 C674x 处理器的 Windows 或 Linux 安装可执行文件。 每个可执行文件安装一个组件包存储库、一个文档目录、一个 Eclipse 插件目录和一个扩展的组件目录结构,其中包含组件库、头文件和测试示例。 TMS320C6748处理器使用的是dsplib_c674x_3_4_0_0。 函数源码 FIR滤波函数 使用DSPLIB 的库来进行FIR滤波。使用时,直接包含“DSPF_sp_fir_r2.h”文件 即可。 API接口 void DSPF_sp_fir_r2(const float * x, const float * h,float *restrict r, const int nh, const int nr); 程序使用DSPLIB 的库来进行FIR滤波,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FIR滤波函数中: 第一个参数是指向大小为nr+nh-1 的输入数组的指针。 第二个参数是指向大小为nh 的系数数组的指针。 第三个参数是指向大小为nr 的输出数组的指针。 第四个参数是系数个数。 第五个参数是输出样本数 FFT运算函数 使用DSPLIB 的库来进行FFT运算。使用时,直接包含“DSPF_sp_fftSPxSP.h”文件 即可。 API接口 void DSPF_sp_fftSPxSP(int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用DSPLIB 的库来进行FFT运算,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FFT函数中: 第一个参数是样本中FFT 的长度, 第二个参数是指向数据输入的指针。 第三个参数是指向复杂旋转因子的指针。 第四个参数是指向复杂输出数据的指针。 第五个参数是指向包含64 个条目的位反转表的指针。如果样本的FFT长度可以表示为 4 的幂, 第六个参数是4,否则 第六个参数是 2 。 第七个参数是从主FFT开始的样本中的子 FFT偏移索引 。 第八个参数是样本中主FFT的大小。 FFT逆变换函数 使用DSPLIB 的库来进行FFT逆变换。使用时,直接包含“DSPF_sp_ifftSPxSP.h”文件 即可。 API接口 void DSPF_sp_ifftSPxSP (int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用DSPLIB 的库来进行FFT逆变换,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IFFT函数中: 第一个参数是样本中FFT 的长度。 第二个参数是指向数据输入的指针。 第三个参数是指向复杂旋转因子的指针。 第四个参数是指向复杂输出数据的指针。 第五个参数是指向包含64 个条目的位反转表的指针 。如果样本的FFT长度可以表示为 4 的幂, 第六个参数是4,否则第六个参数是2 。 第七个参数是从主FFT开始的复杂样本中的子FFT偏移索引 。 第八个参数是样本中主FFT的大小。 三、操作现象实验设备 硬件连接 (1)连接仿真器和电脑的USB接口。 (2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 软件操作 导入工程,选择Demo文件夹下的对应工程 编译工程,生成可执行文件 将CCS连接实验箱并加载程序 程序加载完成后点击运行程序 运行程序后,LCD会显示FIR滤波前后的时域波形,上方为100Hz信号与450Hz噪声组成的混合信号,下方为滤波后得到的结果(保留100Hz信号)。 点击一下LCD屏幕,会切换频域波形,上方显示原始频域信号+噪声,下方显示滤波后的频域波形,输入波形为一个低频率的正弦波与一个高频的正弦波叠加而成,通过观察频域图可知输入波形中的低频波形通过了滤波器,而高频部分被滤除。 实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验板的连接,最后实验箱断电即可。
  • 热度 6
    2023-9-5 10:51
    796 次阅读|
    0 个评论
    1、实验目的 本次实验操作教程是基于创龙教仪DSP教学实验箱:TL6748-PlusTEB演示录制的。 本次实验的目的是了解AAC音频格式,掌握AAC音频编码的原理,并实现将WAV格式的音频编码为AAC格式。 2、实验原理 音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式、有损音乐压缩格式、有损语音压缩格式和合成算法。 本实验中使用的AAC格式属于有损音乐压缩格式。音频编解码的目的是减少传输的信息量和减少储存的信息。 音频编解码格式分类 AAC高级音频编解码,最初是基于MPEG-2的音频编码技术,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术,为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。 AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术,衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码。其中LC-AAC就是比较传统的AAC,相对而言,主要用于中高码率,HE-AAC主要用于中低码,而新近推出的HE-AACv2主要用于低码率。事实上大部分编码器设成 48Kbps就不加PS,就相当于普通的HE-AAC。 AAC共有9种规格,以适应不同的场合的需要:目前使用最多的是LC和HE,适合低码率。 流行的Nero AAC编码程序只支持LC,HE,HEv2这三种规格,编码后的AAC音频,规格显示都是LC。HE其实就是AAC(LC)+SBR技术,HEv2就是AAC(LC)+SBR+PS技术。 3、操作现象硬件连接 本实验所需硬件为实验板、仿真器和电源。 连接仿真器和电脑的USB接口。 将创龙教仪TL6748-PlusTEB教学实验箱拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 3、实验现象 导入工程,选择Demo文件夹下的对应工程。 编译工程,生成可执行文件。 将CCS连接实验箱并加载程序。 点击运行程序。 运行程序后,Console 窗口会打印信息。 大概等待5分钟,编码完成。 可看到工程目录下的song.wav文件编码生成的song.aac文件。 使用播放器播放song.aac,其效果和原WAV文件播放效果一致。
相关资源