大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
简易频谱分析仪[2005年电子大赛二等奖]
作者:国防科技大学 李楠 刘亮 李俊 发布时间:2006-8-29 12:14:43
摘要:本设计以凌阳16位单片机SPCE061A为核心控制器件,配合Xilinx Virtex-II FPGA及Xilinx公司提供的硬件DSP高级设计工具System Generator,制作完成本数字式外差频谱分析仪。前端利用高性能A/D对被测信号进行采集,利用FPGA高速、并行的处理特点,在FPGA内部完成 数字混频,数字滤波等DSP算法。
SPCE061A单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程,包括控制FPGA工作以及控制双路D/A在模拟示波器屏幕上描绘频谱图。人机接口使用128×64液晶和4×4键盘。本系统运行稳定,功能齐全,人机界面友好。
关键字:SPCE061A 简易频谱分析仪
一、方案论证
频谱分析仪是在频域上观察电信号特征,并在显示仪器上显示当前信号频谱图的仪器。从实现方式上可分为模拟式与数字式两类方案,下面对两种方案进行比较:
方案一 :模拟式频谱分析仪
模拟方式的频谱仪以模拟滤波器为基础,通常有并行滤波法、顺序滤波法,可调滤波法、扫描外差法等实现方法,现在广泛应用的模拟频谱分析仪设计方案多为扫描外差法,此方案原理框图如图1.1:
图 1.1 模拟外差式频谱仪原理框图
图中的扫频振荡器是仪器内部的振荡源,当扫频振荡器的频率 在一定范围内扫动时,输入信号中的各个频率分量 在混频器中产生差频信号( ),依次落入窄带滤波器的通带内(这个通带是固定的),获得中频增益,经检波后加到Y放大器,使亮点在屏幕上的垂直偏移正比于该频率分量的幅值。由于扫描 电压在调制振荡器的同时,又驱动X放大器,从而可以在屏幕上显示出被测信号的线状频谱图。这是目前常用模拟外差式频谱仪的基本原理。模拟外差式频谱仪具有 高带宽和高频率分辨率等优点,但是模拟器件调试复杂,短期实现有难度,尤其是在对频谱信息的存储和分析上,逊色于新兴的数字化频谱仪方案。
方案二:数字式频谱分析仪
数字式频谱仪通常使用高速A/D采集当前信号,然后送入处理器处理,最后将得到的各频率分量幅度值数据送入显示器显示,其组成框图如图1.2:
图 1.2 数字式频谱仪组成框图
按照对信号处理方式的不同,数字式频谱仪可分为以下三种:
(1)基于FFT技术的数字频谱仪:
这种频谱仪利用快速傅里 叶变换可以将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果。这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入 信号取样,再经FFT处理后获得频谱分布图。FFT技术的数字式频谱分析仪在速度上明显超过传统的模拟式频谱分析仪,能够进行实时分析。但由于FFT所取 的是有限长度,运算的点数也是有限的,因此,实现高扫频宽度和高频率分辨率需要高速A/D转换器和高速数字器件的配合。
(2)基于数字滤波法的数字式频谱仪
这种频谱仪原理上等同于模拟频谱仪中的并行滤波法或可调滤波法,通过设置多个窄带带通数字滤波器,或是中心频率可变的带通数字滤波器,提取信号经过数字 滤波器的幅度值,实现测量信号频谱的目的,该方法受到数字器件资源的限制,无法设置足够多的数字滤波器,从而无法实现高频率分辨率和高扫频宽度。
(3)基于外差原理的数字式频谱仪
”数字式外差”原理是把模拟外差式频谱分析仪中的各模块利用数字可编程器件实现,其原理框图如图1.3:
图1.3 基于外差原理的数字式频谱仪原理框图
信号经高速A/D采集送入处理器,通过硬件乘法器与本地由DDS产生的本振扫频信号混频,变频后信号不断移入低通数字滤波器,然后提取通过低通滤波器的信号幅度,根据当前频率和提取到的幅度值,即可以绘制当前信号频谱图。
该方案利用数字器件实现传统方式上的外差式扫频仪,不但提高了速度,同时还可以对频谱信息实现存储和分析。理论上,只要数字滤波器的阶数足够高,频率分 辨率可以做到很小,相比FFT数字频谱仪方案和数字滤波法,系统中只要使用一个固定截止频率的低通滤波器,消耗资源少,同时可以省去大容量的存储器,这就 在保证系统精度的前提下提高了系统集成度,节省了宝贵的片内资源。
鉴于系统要求基于超外差原理设计频谱分析仪,权衡超外差频谱仪的模拟方案与数字方案,本系统采取方案二中的数字外差法方案。
二、 详细软硬件设计
系统采用XILINX VIRTEX-II 100万门的FPGA,将本振扫频,混频,放大,低通滤波,提取峰值等工作全部数字化实现。控制方面,由凌阳单片机SPCE061A作为控制核心,实现人机接口和最后频谱图的模拟示波器显示,系统构成框图如图2.1:
图 2.1数字外差式频谱仪系统构成框图
1、硬件设计
(1) 信号采集电路
系统要求输入信号有效值20mV5mV, 输入阻抗为50Ω,对于这种小信号,首先需要经过前级放大才能避免误差和干扰,前端运放采用高速运放THS4501,370MHz单位增益带宽,差分输 出,按照芯片数据手册建议,反馈电阻选取5.1K,此时前级增益为10倍。A/D选用TI公司的10位高速模/数转换器AD5102,AD5102为低功 耗CMOS、1.8V单电源供电、1V峰峰值输入、65MSPS模/数转换器,数据总线为10位并行三态输出,AD5102采用差分输入,可以有效抑制共 模噪声。信号采集部分硬件电路图见图2.2。
图 2.2前端采集系统电路图
(2) 控制核心设计
控制核心采用凌阳16位单片机SPCE061A,实现数据处理、与FPGA通讯、人机交互以及示波器控制。 SPCE061A丰富的中断源、可编程的I/O口及友好的调试环境为我们的设计提供了方便。
凌阳单片机SPCE061A内部结构图如图2.3:
图 2.3 凌阳内部结构图
(3)运算核心设计
本系统以XILINX 100万门 FPGA Virtex-II 为作为运算核心,它除了内含大量可配置逻辑模块(CLB) ,输人输出模块(IOB)逻辑资源和布线资源外,还具有以下特点:
a) 内部时钟速度可达420MHz,且具有丰富的全局时钟资源和数字时钟管理模块(DCM),可以获得较小的时钟抖动。
b)具有为算术运算而特别设计的硬件结构,如18 bit×18 bit嵌入式硬件乘法器、快速进位链等。
c) 包含丰富的模块化RAM。
这些特点简化了逻辑设计,缩短了设计时间,为实现高速、实时DSP处理提供了极大的便利。
(4)示波器显示部分设计
X-Y轴信号输出采用速度为10MHz的TLC7528双路D/A转换器,由凌阳单片机SPCE061A控制,电路图如图2.4:
图 2.4 示波器控制电路
考虑到输出的谱线较为陡峭的情况,为避免因为运放摆率过小,显示时造成拖尾现象,选用压摆率为12V/us的运放LF356。
(5)供电设计
电源系统是影响系统稳定性的重要因素。由于系统上的器件要求供电有1.5V,1.8V,3.3V, 5V, 12V等多种电压,电源系统采用了多路独立供电的方式,1.5V/1.8V/3.3V都由专用电源芯片TPS54613独立供电, 5V由7805/7905提供, 12V由7812/7912提供。
同时,由于整个系统主要有高速的数字器件组成。系统在工作中,数字器件会在电源和地上引入大量的脉冲干扰。对于高精度小信号的A/D转换器,为了保证采 样精度,要求采样A/D的电源和地的噪声很小。解决方案是通过π型滤波隔离数字部分和模拟部分供电,同时对数字地与模拟地实现布线隔离,并且通过电感把两 部分地单点连接。电路图如图2.5:
图 2.5 π型网络
供电部分硬件电路图见图2.6。
图 2.6 供电部分硬件电路图
2、软件设计
(1)单片机部分
软件开发平台:
◆ 操作系统Windows Xp sp2
◆ 开发环境u’nSP IDE 1.8.4
软件流程图如图2.7所示:
图 2.7 单片机软件流程
(2) FPGA部分
软件开发平台:
◆ 操作系统Windows Xp sp2
◆ 开发环境 XILINX System Generator 6.3
◆ XILINX ISE 6.3
◆ MATLAB 6.5
◆ 综合工具Synplify Pro 7.6
◆ 仿真环境ModleSim 6.5Se
◆ 调试工具ChipScope 6.3
本系统FPGA软件设计采用Xilinx 提供的DSP设计工具System Generator。
首先利用System Generator对需要的操作进行数字的描述,然后得出算法的硬件实现。System Generator设计的流程包括以下几个步骤:
(1)用数学语言来描述算法;
(2)在设计环境中实现算法,开始时用双精度;
(3)把双精度算法转换成固定点算法;
(4)把设计翻译成有效的硬件。
Simulink提供了一个可以创建和仿真动态系统的可视化的环境,System Generator以一个被称为Xilinx blockset 块包含在MATLAB/Simulink库里,并且System Generator作为一个软件把Simulink模型翻译成一个硬件可执行的模型。System Generator把在Simulink中定义的系统参数对应成硬件实现时的实体、构造体、输入输出口、信号和属性。此外,System Generator自动地为FPGA的综合,HDL仿真和实现工具生成命令档。System Generator设计流程如图2.8所示:
图 2.8 SG设计流程
扫频源需要输出的频率经过单片机计算得到相对应得DDS相位累加值,通过Gateway In1送入DDS模块。锁存信号经过Gateway In2输入FPGA,其上升沿将Gateway In1输入的相位累加值锁存到DDS中的相位累加值寄存器中。此时DDS模块将会输出对应频率 的扫频信号。
经过前级数据调理的输入信号与扫频信号在混频器Mult中相乘后,频谱被搬移到零频和2 频率处。将该信号经过FIR低通滤波器滤除2 频率处的频率分量。
检波模块Convert用于将零频附近的信号的最大峰值提取出来,经过GateWay Out发送回单片机。
三、 测试说明
1、单频信号的频谱测试
输入信号为单频信号,有效值20mV mV,在10KHz至30MHz范围内测试信号中心频率,并观察示波器显示谱线位置。
表 3.1 单频信号的频谱测试
信号源输出频率 | 10KHz | 500KHz | 1MHz | 5MHz | 10MHz | 30MHz |
实测频率 | 10KHz | 500K | 1000K | 5005K | 10000K | 30005K |
2、调幅信号的频谱测试
输入信号为调幅信号,有效值20mV mV,调制度30%,调制信号频率为20kHz;在10KHz至30MHz范围内测试信号中心频率,并观察示波器显示频谱图。
表 3.2 调幅信号的频谱测试
信号源输出频率 | 10KHz | 500KHz | 1MHz | 5MHz | 10MHz | 30MHz |
实测频率 | 10 KHz | 510 KHz | 1010 KHz | 5010 KHz | 9995 KHz | 29995KHz |
3、调频信号的频谱测试
输入信号为调频信号,有效值20mV mV,调频波频偏为20KHz,调制信号频率为1KHz,在10KHz至30MHz范围内测试信号中心频率,并观察示波器显示频谱图。
表 3.3 调频信号的频谱测试
信号源输出频率 | 10KHz | 500KHz | 1MHz | 5MHz | 10MHz | 30MHz |
实测频率 | 5K | 495K | 995 KHz | 5010 KHz | 9990 KHz | 30010KHz |
4、信号识别准确度测试
输入信号依次为等幅信号,调幅信号,调频信号,有效值20mV mV,调幅波调制度30%,调频波频偏为20KHz,调制信号频率为1KHz,在10KHz至30MHz范围内测试信号识别准确性。
表 3.4 调频信号的频谱测试
信号源输出频率 | 10KHz | 500KHz | 1MHz | 5MHz | 10MHz | 30MHz |
准确度 | 正确 | 正确 | 正确 | 正确 | 正确 | 正确 |
5、测试结果分析
本系统在10KHz到30MHz的频率范围内,可准确测定待测信号中心频率和识别信号调制类型,示波器图像显示清晰,谱线位置准确,达到预期设计要求。
四、结语
本系统利用SPCE061A单片机控制系统的运行和数据处理, 在FPGA内部完成数字混频,数字滤波等DSP算法,实现了”软件超外差”技术,达到了题目要求的设计指标。但是可以看出,本系统比较复杂,对各个模块的 利用率不是很高,有些模块是可以直接利用的,比如10位的A/D转换器是SPCE061A的现有资源,但是作品中用了一个专门的模块;并且涉及到了 FPGA的设计,虽然值得发扬,实际上却增加了设计的难度,在短短的几天竞赛里面,没有直接利用一些现成的模块实现方便,从而也影响了整个作品的质量。
[
源码下载]
- 悬挂运动控制系统[2005年电子大赛二等奖](2006-8-29)
- 悬挂运动控制系统[2005年电子大赛二等奖](2006-8-29)
- 简易频谱分析仪[2005年电子大赛二等奖](2006-8-29)
- 悬挂运动控制系统[2005年电子大赛二等奖](2006-8-29)
- 集成运放参数测试仪[2005年电子大赛一等奖](2006-8-4)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169641.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...