为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

复合频率信号频率计设计

2012-06-03 35页 pdf 1MB 60阅读

用户头像

is_386737

暂无简介

举报
复合频率信号频率计设计 C2000 参赛项目报告(命题组) 题 目: 复合频率信号频率计 学 校: 西安交通大学 指导教师: 宁改娣老师(副教授) 参赛队成员名单(含个人教育简历): 孙志勇、研究生一年级学生、西安交通大学电气工程学院 郑伊飞、研究生一年级学生、西安交通大学电气工程学院 陈文权、研究生一年级学生、西安交通大学电气工程学院 1 摘要 本文介绍了一种复合信号测量...
复合频率信号频率计设计
C2000 参赛项目(命题组) 题 目: 复合频率信号频率计 学 校: 西安交通大学 指导教师: 宁改娣老师(副教授) 参赛队成员名单(含个人教育简历): 孙志勇、研究生一学生、西安交通大学电气工程学院 郑伊飞、研究生一年级学生、西安交通大学电气工程学院 陈文权、研究生一年级学生、西安交通大学电气工程学院 1 摘要 本文介绍了一种复合信号测量系统,该系统基于 TMS320F2808 实现,用来 检测和重建复合频率信号中的主次信号。该系统由计算模块、重建模块和通讯模 块组成。为了在实时运行中自适应地确定采样频率,我们采取了“eCAP+AD” 的方法,eCAP 模块下整形后的复合信号的上升沿过零点时间值并估计出主 频率,从而使系统能自动地选取合适的采样频率完成 AD 采样过程。系统采用了 4096点的FFT算法,能够实现高达0.25Hz的频率分辨率,相对分辨率达到0.05%。 系统采用了频谱校正方法,能高精度地计算出复合信号中的主次信号的频率 与幅值。计算结果通过 SCI 通讯模块送入上位机显示。当 DSP 接收到上位机的 信号重建指令时,则重现出所需的信号,此时 ePWM 实现 AD 芯片的功能。ePWM 模块产生的 SPWM 波送入外围电路滤波后,得到所需的正弦信号。 测试结果表明本设计达到了设定的指标,且有很好的精度和性能。 关键词:“eCAP+AD” 方法,频率分辨率,频谱校正,SPWM,滤波 This paper introduces a measurement system based on TMS320F2808 to realize the detection and reconstruction of the primary and secondary sinusoidal signals in a mixed-frequency signal. This system consists of the calculation module, the reconstruction module and the communication module. In order to self-adaptively determine the suitable sample frequency during the real-time operation, we proposed a eCAP+AD method. The eCAP module records the time of the rising-edge zero-crossing point of the reshaped mixed signals and estimates the value of the max frequency, hence the system automatically selects the right sample frequency to implement the ADC process. By employing the FFT algorithm with 4096 points, it can realize a frequency resolution as high as 0.25Hz with a relative resolution ratio of 0.05%. With the correction methods in the discrete spectrum, the system performs well in calculating the values of the frequency and magnitude of the single signal from the mixed ones with high precision. The results are displayed on the PC through the SCI communication module. When the DSP receives the signal-reconstruction command from the upper PC, the system then reproduces the desired signals. The ePWM module functions as a DA chip. The SPWM signal is generated from the ePWM module and then filtered by the external 4-order Butterworth circuit to yield the desired sinusoidal signal. The test results show that the design realizes the scheduled request with high performance. Keywords: eCAP+AD method, frequency resolution, spectrum correction, SPWM, signal filtering 2 目录 1 引言.................................................................................................................1 2 系统指标.........................................................................................................1 3 系统设计.................................................................................................1 3.1 总体介绍................................................................................................1 3.2 DSP选型 ................................................................................................2 4 算法设计与分析.............................................................................................3 4.1 信号计算部分........................................................................................3 4.1.1 AD采样频率的确定...................................................................3 4.1.2 FFT采样点数的确定..................................................................6 4.2 信号重建部分........................................................................................6 4.2.1 SPWM波形产生.........................................................................6 4.2.2 SPWM滤波.................................................................................8 5 系统硬件设计.................................................................................................9 5.1 信号加法电路........................................................................................9 5.2 信号整形电路........................................................................................9 5.3 直流偏置电路......................................................................................10 5.4 滤波电路..............................................................................................11 6 系统软件设计...............................................................................................12 6.1 信号计算模块......................................................................................12 6.1.1 计算模块初始化.......................................................................12 6.1.2 中断及流程处理.......................................................................13 6.1.3 FFT计算及结果处理................................................................13 6.1.4 幅值校正...................................................................................14 6.2 信号重建模块......................................................................................16 6.2.1 信号重建流程...........................................................................16 6.2.2 重建模块初始化.......................................................................17 6.2.3 中断函数处理...........................................................................17 6.3 通讯模块..............................................................................................18 6.3.1 DSP的SCI串口编程 .................................................................18 6.3.2 上位机串口软件.......................................................................19 6.4 存储器分配与代码优化......................................................................20 6.4.1 存储器分配...............................................................................20 6.4.2 代码优化...................................................................................20 7 测试结果.......................................................................................................21 7.1 信号计算部分......................................................................................21 7.2 信号重建部分......................................................................................24 8 系统关键设计与创新...................................................................................26 9 结论与改进...................................................................................................26 9.1 测量结果评析......................................................................................26 9.2 改进方向..............................................................................................26 10 参考文献.......................................................................................................27 3 11 附录...............................................................................................................28 11.1 测试照片..............................................................................................28 11.2 上位机串口软件说明..........................................................................29 11.3 部分设计说明..............................................................................30 11.3.1 DSP软件代码 ....................................................................30 11.3.2 MATLAB仿真程序文件 ...................................................31 11.3.3 Multisim仿真文件 .............................................................31 11.3.4 VC++串口软件文件 .........................................................31 11.3.5 硬件电路图........................................................................31 4 1 引言 混合信号检测在信号处理领域中占有重要的地位。在故障检测、电谐波信号 测量、噪声监测等应用场合中,人们都需要通过特定的算法对混合信号的频率、 幅值或者其他信号特征量进行测量,从而实现对信号的进一步处理。现实中的信 号一般都是多频率的混合信号,单频信号的测量方法并不适用,此时就需要使用 数字信号处理方法。 在数字信号处理算法中,傅里叶变换是是用于混合信号测量的经典而有效的 方法,它将信号的时域信息转换成频域信息,通过对频谱图的分析,计算出信号 的频率、幅值、相位等特征量。本课题中,要求对含有两个频率的复合信号分别 检测出主次信号的频率与幅值,我们采用了快速傅里叶变换(FFT)算法作为基 本的处理算法,选用 TI 高性能的 DSP 芯片设计了完整的复合信号检测系统,实 现了复合信号的准确测量以及重建。 2 系统指标 本系统完成了设计要求中所提出的各项任务,系统所达到的指标都超过了基 本部分以及发挥部分的设计指标,具体说明如下: (1) 利用设计的硬件电路完成外部信号的叠加、偏置、限幅、整形以及输 出信号的滤波等; (2) 主次信号的测量范围 20Hz~20KHz;若延长测量时间,主次信号的测量 范围可达到 0.25Hz~20KHz; (3) 复合信号频率分辨率最高可达 0.05%,即可分辨出的主信号与次信号频 率差为主信号的 0.05%,远高于设计要求中的 10%指标; (4) 可以准确地检测出主信号与次信号的频率值(几乎达到零误差),在未 发生频谱混叠情况下,主次信号的幅值的检测误差在 0.5%之内;若频 谱混叠使得次信号幅值被主信号展宽的频谱所掩盖,此时仍能准确检测 出主次信号的频率值,主信号的幅值误差在 5%以内; (5) 利用 DSP 内部 PWM 发生器以及外部滤波器实现了主信号重建以及主 次信号的同时重建;重建信号的频率误差在 1.5%以内,幅值误差在 7% 以内; (6) 通过串口实现上位机与 DSP 之间的通讯,上位机发出指令实时控制 DSP,DSP 检测的主、次信号频率和幅度测量结果输入至上位机进行实 时刷新显示。 3 系统设计方案 3.1 总体介绍 题目中要求测量混合正弦信号的幅值与频率,须使用到数字信号处理方法。 1 我们选择经典的 FFT(快速傅里叶变换)算法作为整个设计的基本处理方法。外 围两路正弦信号通过信号叠加电路与偏置电路,经 DSP 的 AD 采样后送入 DSP 进行处理。整个系统由外围信号调理电路、DSP 处理及运算单元、DSP 与 PC 机 通信单元、PWM 滤波电路等组成,相应的总体设计图如下所示。 图 1 系统整体设计图 系统的硬件主要包括信号调理电路(整形、放大、输入滤波等)、通讯电路、 输出滤波电路等外围硬件电路,实现混合信号测量及重现的整个功能。 系统的软件用来实现对信号的采样、信号运算、SPWM 波形生成等。系统 软件设计中主要有三个关键问题:一是如何实时确定采样频率以适应 20~20KHz 的宽频率范围采样,二是如何获得更高的测量精度,三是如何得到较高的信号重 建精度。对于前一个问题我们采用 eCAP+AD 设计方法加以解决,第二个问题我 们充分考虑了信号采样过程中的频谱混叠、频谱泄露等情况,通过细致的试验选 用合理的采样频率分段,并对幅度值进行频谱校正从而得到了很好的测量精度; 最后一个问题我们在产生基本的 SPWM 波的基础上,充分考虑了中断指令执行 时间以及查表点数等因素,进而保证了信号重建精度。 3.2 DSP选型 我们选用 TMS320F2808 处理器作为整个系统的核心平台。TMS320F2808 处 理器属于 TI 推出的 TMS320F28X 定点 32 位处理器系列;本系统涉及到大点数 高运算量的 FFT 计算,而 F2808 虽属于定点处理器,但 TI 提供的浮点数学函数 库,可以在该定点处理上方便地实现浮点运算,从而保证了系统在大量运算下的 实时性要求。 F2808 处理器运算速度最高可达 100MIPS,片上集成了 18K 单周期访问的 SARAM 以及 64K 片内 Flash,它既具有一般 DSP 芯片的高速信号处理和运算能 力,又在片内集成了包括 AD、SCI 串口在内的丰富外设,为系统的设计与应用 提供了更高的灵活性;特别是它的独特的增强型 PWM(ePWM)模块以及增强 型捕获(eCAP)模块等外设模块,为设计提供了更为优越的解决方案。 TI 提供的 DSP 集成式开发环境为 CCS(Code Composer Studio)软件;CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处 2 理程序的编制和测试,配合 TI 所提供的各种算法库,使得开发与设计者可以加 速开发进程,大大提高工作效率。 4 算法设计与分析 4.1 信号计算部分 本设计课题中要求从复合频率信号中分别求出单信号的频率与幅值,故在算 法处理上主要采用快速傅里叶变换(FFT)来处理。本系统中采用的 FFT 算法是 常用的基 2-时间抽取算法,将外部的复合信号采样后送入DSP的存储区进行 FFT 计算,再对 FFT 频谱结果进行处理与分析,最终得到复合信号中主次信号的幅 值与频率。因 FFT 算法的原理与步骤在一般的数字信号处理书籍上都有介绍, 这里不再赘述;本设计中关键点是采样频率和采样点数的确定。 4.1.1 AD采样频率的确定 AD 采样频率反映为 FFT 采样点的采样频率,这对 FFT 计算结果中的频谱 分析而言是影响很大的一个因素。为了能在混合信号中分辨出各信号频率,采样 频率至少应大于各组成信号的最大频率的 2 倍,不然将无法从混合信号中分离出 各个单频信号;然而采样频率并非越大越好,一方面受实际器件的响应速度限制, 另一方面在采样点数确定的情况下采样频率越高频率分辨率越低。本系统在算法 设计与实现上,重点考虑了频率分辨率、频谱泄露以及栅栏效应三个因素对 FFT 计算结果的影响,并由此确定出 AD 采样频率。 设复合信号中的较高频率为 maxf ,采样频率为 sanplef ,采样消耗时间为 sampleT , 频率分辨率为 fΔ ,FFT 计算点数为 N,则根据采样定理及数字信号处理原理, 有 max2 ff sample ×≥ (1) / 1/sample sampleT N f f= = Δ (2) sanpleff N Δ = (3) 因为输入的混合信号的频率范围为 20~20kHz,频率范围较宽,若只用单一 的采样频率进行 AD 采样,根据耐奎斯特采样定理知采样频率至少应为 。假设 FFT 计算点数为 2048 点,则在该采样频率下频率 分辨率为 =2 20kHz=40kHzsanplef × / 19.53sanplef f N HΔ = ≈ z ,这对低频信号而言显得太大,大部分低频信号 将不能被分辨出;若将 FFT 计算点数提高为 4096 点,此时频率分辨率将提高一 倍达到 / 9.76samplef f N HΔ = ≈ z ,然而这对低频信号而言仍显得太大。另外单纯以 增大 FFT 计算点数来提高频率分辨率的方法,又受到 DSP 存储器容量以及运算 速度的限制,故这里考虑应采用实时可变的采样频率。 设混合信号表达式为 3 1 1 2 2( ) 1( ) 2( ) sin(2 ) sin(2 )y t x t x t A f t A f tπ α π= + = + + + β (4) 这里的α β, 分别是主次信号的相位,在在实验测试中主次信号可能在不同的时 间内接入从而形成复合信号,反映到表达式(4)中就是主次信号之间不同的相位 差关系,因此(4) 式更符合一般的复合信号的表达与描述。 原混合信号只由两个频率和幅值范围已知的正弦信号叠加而成,混合信号的 波形在一定程度上包含了原始信号的部分特征。通过仿真实验与电路实验得知, 这里可借鉴单一信号的频率测量方法,即通过计算混合信号波形的过零点时间 值,来估计混合信号的较高频率信号的频率值。 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 -1.5 -1 -0.5 0 0.5 1 1.5 时间 t/s 幅 值 v 复合信号与单频主信号波形对比 双频复合信号 单频主信号 图 2 复合信号与单频主信号波形对比 对于(4)式,不妨设 1 2f f> ,直接令 ( ) 0y t = 无法求解 t值,这里采用MATLAB 仿真与实际电路实验来验证这一想法的有效性。图 2的波形图里,复合信号中主 次信号的特征量分别为:幅值 1 2A 0.85, 0.3A = ,频率 1 250 , 40 ,f Hz f Hz= = = 相位 100, 20α β = ,= 图中分别给出了复合信号波形与单频主信号的波形形状对比, 可看出在零点线附近两个波形几乎很吻合,从直观上来说,可按照复合信号的过 零点时间值来估计主信号的频率值。 下面选取几组复合信号分别进行数值仿真与电路试验验证,设置主次信号的 幅值与相位固定为:主信号 1 1.00, 20A α= = ,次信号 2 0.20, 3A β= = (相位只在 数值仿真中使用,电路实验中因两个信号接入硬件电路中的时间是随机的,并没 有用到相位概念)。在整个频率范围 20Hz~20kHz 内按 1f 分成 7 组,在各组内随 机选取四对频率值进行计算,其中两对 2f 与 1f 的取值之差在 10%之内,另两对 对则在 10%之外。每对按混合信号的 20 个上升沿过零点时间值求平均值来估计 出较大频率 ,并与1( )f 估计 1f 真实值相比较,计算出相对误差,再求出该组的平均 相对误差。 4 表 1 主信号估计频率值与实际频率值的误差 1f 频率范围 数值实验 平均误差 电路实验 1 平均误差 电路实验 2 平均误差 <500Hz 1.5% 167.5% 4.5% 500~1000Hz 1.0% 135.2% 3.7% 1000~2000Hz 0.7% 34.7% % 2000~4000Hz 0.93% 57.93% 2.1% 4000~5000Hz 0.7% 12.7% 1.02% 5000~10000Hz 1.1% 9.1% 1.9% 10000~20000Hz 0.8% 14.8% 1.8% 数值仿真发现估计频率 与实际的1( )f 估计 1f 相差很小,相对误差几乎在 2%以 内,说明这一估计算法有较高的精确度。利用该方法,我们还在电路里进行了实 验实验。利用整形电路将混合信号变成方波信号,并将其送入 DSP 的捕获模块 计算上升沿过零点时间值。电路实验 1 只应用了这个思路,然而误差较大(特别 是低频),调试发现是电路的信号抖动造成,我们在硬件电路上重新设计了迟滞 比较部分消除部分抖动,而且在软件中判断捕获的零点时间值,若捕获两个相邻 的捕获时间差小于某个数则认为是抖动(本系统中设定为 1000,因为若设定 eCAP 捕获模块时钟与 CPU 时钟一致,而复合信号中最高频率为 20KHz,此时 检测的时间差值为 5000)。在软硬件均做改进后,得到电路实验 2 的结果数据, 可看出结果符合预期设想。 在 DSP 编程中,首先开启 eCAP 模块中断捕获混合信号的 20 个上升沿过零 点值,捕获完成后关闭 eCAP 模块,并将捕获得到的过零点时间值求平均,再转 换成频率值,并将此频率值作为混合信号的较大频率值 1f 的一个估计,以此来确 定实际的 AD 采样频率。 考虑到实际捕获以及 AD 采样可能带来的误差等因素,若直接以频率估计值 的 2 倍来确定采样频率,可能会出现 11( )f f<估计 的情况从而使得采样定理不满足, 最终使 FFT 计算错误。根据反复测试,根据 1( )2.05 f× 估计 来保证裕量并确定采样 频率。 实际测试中发现,若设定最小采样频率为 512 或更小时,会出现采样时间过 长以及采样周期不准确的情况。前一点可根据式(5)来理解,后一点经过调试发 现,在 50MHz 的 ePWM 时钟下,512Hz 的采样频率对应 ePWM 周期寄存器值 设定为 9765,实际的周期值为 9765.625,舍去的小数部位 0.625 是造成误差的主 要原因。当采样频率设置得更小时误差越大,故最小采样频率设置为 1024Hz。 采样频率的分级设定中考虑到尽量避免频谱泄露情况,因此采样频率最好设定为 采样点的整数倍(或能整除),这样对于一般的信号频率都能整周期的采样,在 原理上保证能得到较好的频谱。 5 4.1.2 FFT采样点数的确定 TMS320F2808 处理器的片内 18K RAM 被分成 M0 和 M1、L0 和 L1、H0 几 部分,各块既可以作为程序存储区也可以作为数据存储区。FFT 计算涉及到较多 浮点运算,为提高计算速度以及实时性,将计算用到的正弦与余弦值事先做成一 个表,浮点运算转化为 TI 定点处理器中的 Q 格式运算。这里采用了 TI 开发的 FFT 库,并在其基础上做了修正与改进,这样既加快了设计进度,又最大限度地 利用了 DSP 的资源。 FFT 库将计算过程中的输入输出转换成 32 位定点 Q 格式,大大加快了 FFT 计算时间。FFT 库最多能运算 1024 点的 FFT,我们将其改进成 4096 点的 FFT, 另外在存储器上也做了优化。F2808 的片内 RAM 大小为 18K,在实时运算中将 与 FFT 计算有关的代码段从 Flash 中复制到 RAM 里以加快代码执行时间。在 AD 采样中断中,将当次采样值直接放入 FFT 的计算缓冲区中以 32 位格式保存, 4096 个采样值占用 RAM 大小为 8K×16,查表用的正弦余弦表点数优化为 32 位格式的 1536 点,存储空间为 3K。因此在 18K 片内 RAM 里实现 4096 点 FFT, 既最大限度地利用了片内存储资源,又在保证计算实时性的情况下得到了最好的 频率分辨率。 FFT 计算中可能会出现频谱混叠情况,虽说可通过加窗来得到一定缓解,但 窗函数系数对存储空间而言也造成一定负担,故在本系统 FFT 计算中没有采用 加窗方法而是通过其他优化方法来解决,如严格使采样频率为采样点的整数倍等 方法。经过实践及测试,采样频率设为如下的分段;系统运行时,根据求出的 1f 估计值实时自适应地改变采样频率。 表 2 采样频率分段表 1f (估计值 ) 1( )f 估计 sanplef sampleT (估计值) 分辨率 fΔ <500Hz 1024Hz 4s 0.25 Hz 500~1000Hz 2048Hz 2s 0.5 Hz 1000~2000Hz 4096Hz 1.0s 1 Hz 2000~4000Hz 8192Hz 0.5s 2 Hz 4000~5000Hz 10240Hz 0.25s 4Hz 5000~10000Hz 20480Hz 0.2s 5 Hz 10000~20000Hz 40960Hz 0.1s 10 Hz 4.2 信号重建部分 4.2.1 SPWM波形产生 为利用 DSP 本身外设而不借助于 DA 等器件产生正弦波,可行的实现方案 是以 ePWM 模块产生 SPWM 波形,再借助外部滤波实现信号重建,即利用 ePWM 实现 DAC 功能。SPWM 波形的脉冲宽度时间占空比按正弦规率排列,因此将输 出波形经过适当的低通滤波可以做到正弦波输出。此方案设计中通过 ePWM 模 块的比较匹配来产生 SPWM 波形。 为了产生完整的 SPWM 波形,必须适时地按正弦信号的当前相位角调整 PWM 输出信号的脉冲宽度,即需从 0~360°按照一定的递增角度进行计算。计 6 算值正弦信号一般有两种方法:直接计算和查表法。因 F2808 是定点处理器,直 接计算涉及到较复杂的浮点运算,而浮点运算将占用较多的指令时间,满足不了 实时性要求,故一般都采用查表方法。下图给出了利用 ePWM 产生非对称 SPWM 波形的示意图。 TPWM 比较值 比较值 比较值 比较值 周期值 Tpwm/Tcmp Pin 比较匹配 周期匹配 TPWM 图 3 SPWM 波形产生示意图 ePWM 定时器设置为连续递增模式,此时产生非对称的 PWM 信号。由上图 可知,定时器周期值 TnPR 与比较匹配值 TnCMPR 的差值决定了 PWM 的信号 宽度;若要让信号宽度服从正弦规律变化,就需要实时地计算当前周期的比较匹 配 TnCMP 值。在每次定时器周期中断里都及时查找下一点的正弦值,并赋给 TnCMPR;在完成一次完整的查表操作后,将查表指针回到表格最初点,如此循 环反复即可生成 SPWM 波形。 采用 PWM 信号模拟正弦波的频率,主要取决于 PWM 本身的载波频率和每 个正弦波周期的输出点数 N,并且满足下列等式: sin pwmff N = (5) 在实际编程中,事先确定输出正弦信号的频率以及每个正弦周期的输出点 数,并由此确定 PWM 信号的频率,进而确定 PWM 模块的定时周期。 在连续递增计数模式下,其一个 PWM 波的周期时间为 1/ ( 1)pwm pwm nPR TBCLKT f T T= = + × (6) 其中 为 ePWM 模块设定的时间基准时钟。若设 ePWM 模块的时基分 频系数与高速时钟分频系数分别为 CLKDIV 与 HSPCLKDIV ,则有 TBCLKT (TBCLK cpuT CLKDIV HSPCLKDIV f= × ) / (7) 联立上式可推出 ePWM 定时器周期值 TnPR 的计算表达式为 7 1 ( ) cpu nPR pwm f T f N CLKDIV HSPCLKDIV = −× × × (8) 在实际产生SPWM波形中,根据指令执行时间以及需产生的信号频率值来确 定查表点数N。因为是在ePWM的周期匹配中断中计算比较值,若设定的周期小 于中断函数的执行时间的话,将造成中断源源不断的产生并且积压,此时产生的 信号频率将达到一个上界,并且系统因无法进入SCI串口中断中而无法响应上位 机的指令。一种解决方案是间隔查表以减小查表点数,根据(9)式求出TnPR的值 并判断是否小于执行时间,若不满足则加大查表间隔,直到满足条件为止。 4.2.2 SPWM滤波 对 PWM 波进行傅氏变换,可在频域中观察到组成 PWM 波的各谐波分量以 及幅度。SPWM 是按正弦调制脉宽的 PWM 波,了解其谐波特性有助于滤波器的 选取以及参数的设定。 文献[12]给出了SPWM波的谐波分析方法及结论。SPWM波形频谱主要包括 基波幅值、中心频率幅值及边频谐波幅值等。其中基波幅值是滤波后所需要的正 弦波形,其他谐波应当通过滤波器滤去。中心频率以及边频谐波与频率比 密 切相关,因 一般都大于一定数值,谐波次数比较远离基波,因此对SPWM比 一般PWM波更容易设计滤波器从而得到需要的正弦波形。 N N 此处选用的低通滤波器是巴特沃思滤波器。与其他滤波器相比,巴特沃思滤 波器的最大特点是通频带内的频率响应曲线更为平坦,没有幅度起伏变化,而这 正与此处所需的信号滤波要求相符。 巴特沃斯低通滤波器的幅频关系如下 2 2 1| ( ) | 1 ( ) n c H ω ω ω = + (9) 其中 cω 为截止频率(即振幅下降为-3dB 时的频率),n为滤波器的阶数。当 阶数越高时其阻频带振幅衰减速度越快,能获得更好的滤波效果,但此时的滤波 器设计代价也会更高。 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 w/wc |H (jw )|2 巴特沃斯滤波器幅频特性( 4阶) 图 4 巴特沃斯滤波器幅频特性(4 阶) 8 图 4给出了 4 阶巴特沃斯低通滤波器幅频特性曲线,可看出在通频带内幅值曲 线非常平坦,其下降曲线也较为陡峭,能满足本设计中的滤波要求。 利用电路来组建巴特沃斯低通滤波器,可用多级运放按照滤波器参数搭建有 源滤波器,也可用专用的芯片实现。TI 生产的 TLC04 就是这样一款四阶巴特沃 斯开关电容滤波器,且其截止频率可通过外接电容、电阻值进行设定,截止频率 范围 0.1Hz~40kHz。运用该芯片实现 SPWM 滤波,既简化了电路设计,又提高 了硬件电路实现的灵活性;在本系统的硬件电路设计中,就通过选通不同的电容 电阻对,来实时地调整适应 SPWM 滤波的截止频率。 5 系统硬件设计 本系统硬件上选用了 eZdsp F2808 开发板作为硬件平台,因此此处的硬件设 计并不关注电源设计、时钟电路等,下面给出与系统实现密切相关的外围硬件电 路设计。 5.1 信号加法电路 加法电路实现两个信号的叠加,采用运放 OPA2134 构成此加法电路,其电 路图如下: 图 5 信号加法电路 5.2 信号整形电路 在软件设计中,混合信号在进入 AD 采样前先通过 eCAP 模块检测过零点时 间值以便根据算法估计混合信号中的较大频率值。此处用过零比较器对混合信号 的零点进行检测,将输出的矩形波送入 DSP 的捕获模块。 9 图 6 过零点检测电路 过零比较器由LM339 构成。为防止抖动,采用了迟滞比较器的形式,如图 6 所示,其电平跳变电压在 0.1V以下,经调试可以满足预期要求。输出采用两 2.4V 稳压管进行限幅,以满足DSP输入引脚的电平要求。 5.3 直流偏置电路 为将混合信号送入 DSP 进行 A/D 转换,需要加一偏置,以保证混合信号在 送入 AD 引脚采样时在 0V 以上。因赛题中主信号幅值为 0.5 1.0± −± V(偏置为 0V)、次信号幅值为主信号的 1/4-1/6,根据计算分析将偏置电压选为 1.5V 可满 足要求。本系统采用 TL431 构成稳压电路产生 2.5V 电压,经分压后得到 1.5V, 随后加一级电压跟随器起到隔离作用。 图 7 直流 1.5V 偏置电压产生电路 由于对信号相位无要求,混合信号和 1.5V 电压信号采用如下减法电路进行 叠加,输出可直接接入 AD 引脚进行采样。电路图如下所示。 10 图 8 偏置电压叠加电路 5.4 滤波电路 SPWM 输出采用 TLC04 构成的四阶巴特沃斯开关电容滤波器进行滤波,以 便得到重建的正弦波信号。TLC04 是一款通频带内具有最大平坦度、截止边带 单调下降的巴特沃斯四阶开关电容滤波器。该滤波器的截止频率可随时钟编程, 截止频率稳定性依赖于时钟的稳定性, 时钟截止频率比为 100:1,该滤波器可外 接 TTL 或 CMOS 时钟,也可自产生时钟。 INH6 +5V -5V100pF C14 GND PWM1 A29 A110 A011 I1/O114 I0/O013 I2/O215 I3/O312 I4/O41 I5/O55 I6/O62 I7/O74 I/O 3 VDD 16 VEE 7 VSS 8 U5 CD4051 GND +5V -5V GND 10KR18 20KR19 50KR20 100KR21 200KR22 1MR23 LS 3 CLKR2 CLKIN1 AGND6 FILTO 5 VCC- 4 VCC+ 7 FILTIN8 T1 TLC04 GPIO25 GPIO27 GPIO6 图 9 低通滤波电路 TLC04 外围应用电路简单、工作电源灵活、抑制纹波干扰能力强、滤波器 性能稳定,可以取代一般运算放大器构成的低通滤波器。图 9所示右侧为TLC04 11 构成的低通滤波器,其截止频率为 1/(1.69 )f RC= ,通过改变电位器阻值可以调 整滤波器截止频率。因系统重现的信号频率范围为 20Hz~20KHz,无法使用单一 的截止频率进行滤波。本设计中,,在程序里判断频率值的范围,并通过GPIO引 脚来控制CD4051 芯片实现不同的电阻电容对的选通,从而自动地为SPWM信号 选择滤波参数,实现宽频率范围的信号重建。 6 系统软件设计 系统软件实现两个功能:信号计算部分以获得复合信号中主次信号的频率与 幅值,信号重建部分实现主信号的重建以及主次信号的同时重建。考虑到在这两 个功能的实现上,一些外设不能同时使用,特别是中断处理指令众多,为避免中 断互相干扰以及保证实时性,将这两部分功能分时实现,DSP 只在接受上位机指 令后才转入信号重建模块。在软件编程中采取模块化方法,整个系统软件分为 FFT 计算模块、信号重建模块以及通讯模块等,在各模块下又分为各个子模块。 6.1 信号计算模块 信号计算部分实现信号过零点值的捕获、复合信号幅值采样、FFT 运算、FFT 结果处理分析等。 6.1.1 计算模块初始化 程序开始运行时,首先进行系统、系统时钟、PIE 等模块的初始化。本系统 中将 2808 的 CPU 设为 100MHz(PLL 倍频设为 10/2=5 倍频),使能 AD、SCI、 eCAP、ePWM 等时钟。初始化 PIE 模块以便正常使用中断功能。系统初始化中 禁止了看门狗模块,还配置了高速外设时钟和低速外设时钟的预订标器。 整个系统中使用到的外设包括通用 IO 口、AD 模块、eCAP 模块、ePWM 模 块、SCI 通讯模块等,在使用之前先进行初始化及相应的配置。 首先初始化 IO 口,分别根据要求将特定的 IO 口设为第二功能模式。将 GPIO24 设置为 eCAP1 功能,GPIO28、GPIO29 设置为 SCIa 功能等。 在 AD 初始化中,因每次采集只采集一路信号,故只设置 ADCINA0 为每次 采集的唯一输入端,采用 ePWM1 的周期匹配作为启动 AD 的触发信号,最后使 能 SEQ1 中断。利用 ePWM1 定时器来控制 AD 的采样频率,ePWM1 定时器周 期的数值是根据每次捕获模块得出的数值计算得到的。 在 eCAP 初始化中,使用了 CAP1~CAP4 时间标签捕捉寄存器,其边沿极性 均配置为上升沿捕捉模式,同时也均设置为相对时间差模式。在每 4 次捕获后产 生一次中断,以便在中断中读取捕获数值。 在 SCI 初始化中,串口通信参数设置为 8 位数据位、波特率 9600、1 位停止 位、无校验;上位机的通信参数也相应地配置成相同的参数,以便能正确地进行 通信。同时使能发送和接收,使用内部 SCICLK,禁止 SLEEP、TXWAKE 等。 在 ePWM 初始化中,清除时间寄存器中的数值,加载模式设为周期匹配, 不使能死区功能,使用上升计数模式,禁止中断,将周期匹配事件作为 SOC 信 号。 外设初始化完成后,还进行各类系统全局变量的初始化,其中包括各模块所 12 用的存储数组以及相应的标志位的复位等。当这些初始化均完成后,启动 CPU Timer0,定时时间 2s,以便在定时中断中发送结果至上位机刷新显示。 6.1.2 中断及流程处理 本系统中使用到了较多的中断,包括 CPU Timer0、AD、eCAP、ePWM 等 模块的中断,而且各个中断均与时间处理密切相关。为了避免中断处理中指令消 耗时间过多或者各个中断互相影响、从而造成最后计算结果出现较大误差,在程 序编写中尽量采取顺序处理模块化方式,采用较多的标志位来实现各中断模块的 顺序处理。 计算部分完成初始化之后,则进入“捕获ÆAD 采样ÆFFT 计算Æ结果处理 与显示”的计算周期中。首先开启 eCAP 捕获中断,当外部整形后的方波信号出 现上升沿跳变且跳变次数达到 eCAP 的预设次数,eCAP 模块响应中断,进入 eCAP 中断处理函数中,将存储于寄存器中的时间差值读取并保存进数组中,同 时刷新信号上升沿跳变次数。若存储的数组未满,仍然打开中断,继续响应下一 次的中断;若存储已满则关闭捕获中断,捕获过程结束标志置位。 捕获过程结束后,进入捕获结果处理模块,剔除保存的过零点时间值的奇异 值,并进行平均化处理,以此得到主信号频率的估计值,并根据此估计值选择分 段的 AD 采样频率,并将采样周期送入 ePWM1 的定时器。 当 AD 采样频率确定好后,打开 AD 中断。每次 ePWM1 的定时器达到定时 时间后触发 AD 进行采样,采样完成后进入 AD 中断程序里读取转换结果。这里 为节省存储空间,直接将每次的转换结果存入 FFT 的计算缓冲区(in place computation buffer,ipcb)中;同时刷新 AD 转换次数,当转换次数达到 4096 时, 关闭 AD 中断,此时 AD 采样过程结束标志置位。 完成 AD 采样后则进入 FFT 计算模块中,同时对 FFT 计算结果分析处理, 当 CPU Timer0 定时时间到则将结果送入上位机显示。当这些都已完成后,进入 下一轮计算周期中。 6.1.3 FFT计算及结果处理 当 AD 采样完成后,进入 FFT 计算模块中,此时为进一步加快 FFT 计算速 度,将改编后的 FFT 相关的代码仍然做成库文件,库内代码用汇编完成,只留 下可供
/
本文档为【复合频率信号频率计设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索