项目要求:
摘要:
本设计是以STM32F103为主控芯片的无线信号传输系统,实现对直达传输信号与多径传输信号的模拟输出,信号合路。载波信号的幅度有效值,调制度可设置;多径信号相对直达信号的时延、相位、幅值有效值可设置。STM32驱动DDS(AD9959)产生两路30~40MHz载波信号,通过鉴相器(AD0832)来同源两路载波信号进行相位相关。FPGA(EP4CE10)内部PLL产生同一采样时钟驱动DAC(AD9764)输出相位相关同源2MHz的两路调制信号。同源载波与同源调制信号两两相乘模拟产生AM,分别为直达信号和多径信号。两路信号的相位,延时,幅度有效值,通过STM32计算向DDS,FPGA,程控放大器(AD8336)传递参数实时调整,以满足参数要求。最后通过加法器将两路直达信号与多径信号合路输出。参数交互显示界面由STM32驱动串口屏实现。
1.方案设计与论证
1.1方案比较与选择
方案一: 利用FPGA在数字域实现本题,FPGA内部用两路DDS产生载波和调制波相乘直接产生一路直达信号引出给DAC输出,同时在FPGA内部对该路信号进行处理产生多径信号引出给DAC输出,最后利用加法器将两路DAC合路。
缺点:数字算法实现复杂,FPGA开发难度大。
优点:载波信号与调制信号的产生与混频都在FPGA内部,便于精确控制,减少难以调理的模拟电路,本队认为这是比较好的方案,但手上缺少满足本题要求高采样率的DAC,故很无奈本方案只能放弃。
方案二:AD9854 DDS模块生成两路固定相位差的AM信号,其中第二路通过移相器调节相位;将AM信号通过THS3201电流反馈型运放放大,使用程控增益放大器对AM信号进行可控增益放大;最后通过加法器进行两路信号的合路输出。
缺点: AD9854的AM调制信号在载波频率高时,调幅输出不稳定,故放弃。
方案三:DSS模块(AD9959)生成两路载波信号,通过鉴相器(AD0832)进行载波信号同源,FPGA内部PLL同一时钟驱动两路DAC实现2Mhz同源调制信号输出,四路同源信号通过乘法器(AD835)两两相乘生成两路AM信号,经过电流反馈型运放THS3201放大,经过宽带加法电路(OPA695)将信号合路输出。
缺点:信号调理部分庞大复杂。
优点:无需使用移相器,幅度与相位在DDS内部数字可调,且满足题目同源要求。故使用方案三作为本题总体设计方案。
1.2 系统总体方案描述
图1 系统方案图
本设计的电路首先使用FPGA内部PLL输出同一时钟驱动AD9764高速DAC生成两路相位相关的同源2MHz调制信号,STM32驱动ADS9959生成两路30MHz载波信号,通过AD8302鉴相器,将相位信息反馈给单片机,确保输出两路载波信号同相进行同源;再将调制信号与载波信号进行相加,得到一路直达信号与一路多径信号;通过继电器选择输出连续波(CW)或者是调幅信号;最后将直达信号与多级信号通过加法器,得到合路信号,系统总体方案框图如上图1所示。
2.理论分析与计算
2.1 DDS工作原理
DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有相对带宽大,频率转换时间短、分辨率高和相位连续性好等优点,广泛应用于通信领域。DDS的基本结构图如图2所示。
图2 DDS的基本结构图
其中相位累加器由 N 位加法器与N 位寄存器构成。每来一个时钟,加法器就将频率控制字与累加寄存器输出的相位数据相加,相加的结果又反馈至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。用相位累加器输出的数据,作为波形存储器的相位采样地址,这样就可以把存储在波形存储器里的波形采样值经查表找出,完成相位到幅度的转换。由 D/A 转换器将数字信号转换成模拟信号输出如图3。
图3 信号转换图
相位累加器位数为N位,相当于把正弦信号在相位上的精度定义为N位,所以其分辨率为1⁄2^𝑁。若DDS的时钟频率为𝐹𝑐𝑙𝑘,频率控制字fword为1,则输出频率为𝐹𝑜𝑢𝑡 =𝐹𝑐𝑙𝑘/2^𝑁 ,这个频率相当于“基频”。若fword 为 B,则输出频率为𝐹𝑜𝑢𝑡 = 𝐵 ×𝐹𝑐𝑙𝑘/2^𝑁 。
2.2 直达与多径信号产生方法
直达信号和多径信号都是由载波信号和调制信号相乘产生。其中多径信号较直达信号有一定的时延、初相改变和幅度衰减。若直达信号为,则多径信号为。
2.3 直达与多径信号的参数控制与信号合成
直达信号与多径信号经过加法器后得到合路信号:
2.4 直达与多径信号相位调整原理
同时调整同源载波之间的相对相位,同时调整同源载波信号之间的相对相位,之后再两两相乘输出AM,这样模拟调整了多径信号相对直达信号的相位差。
2.5 直达信号与多径信号延时调整原理
通过给定的调制信号频率,通过公式变换用调整载波相位的方式,来调整AM信号的延时。
2.6 AM信号调制度
首先我们知道幅度调制指的是用调制信号去控制载波的振幅,使已调制的信号包络按照调制信号的规律线性变换的过程。对于幅度调制信号,表达式如下:
其中为调制信号,为载波幅度。当时,调制后的信号的包络直接对应着调制信号的变化规律。当 时,由于的幅度过大造成相位180度的反转,使得包络与调制信号不一致,产生过调幅失真。
调制度即调制深度,用来反应载波信号与调制信号之间的幅度变化,其计算公式为:
其中,为调制波幅值,为载波幅值。
式中,为信号波峰的值,即最大值,为信号波谷的值。
得到AM调制度的计算公式:
在图4中标明了AM信号波峰与波谷的位置:
图4 波峰与波谷位置
3.主要硬件电路设计
3.1 ADS9959 DDS电路
ADS959包含四个独立的DDS内核,每个内核都可以独立地进行频率、相位和幅度控制。所有通道共享一个公共系统时钟,确保了固有的同步性,支持多个设备间的同步操作。改DDS模块使用双电源供电,频率范围从55KHz-200MHz,足够本次项目使用。且每路输出都带有独立的200MHz巴特沃斯低通滤波器更加平滑。模块原理图如下图5所示:
图5 ADS9959模块原理图
3.2 放大器电路
因ADS9959模块只输出电压信号,输出电流极低,不能直接带载,故经过一级放大器使其信号得到放大,且作为高速信号的缓冲。基于其是30MHz高频信号,且需要放大十倍,GBW > f×Gain,经计算得,GBW > 300MHz,在实际工程中需要留有5倍以上裕量,选取的运放增益带宽积应大于1.5GHz,故选取THS3201电流反馈型运放,THS3201放大电路其具体的原理图如下图6所示:
图6 10倍放大器原理图
3.3 鉴相器电路
DDS生成的两路30MHz载波信号,虽然在模块内部设置为同相位输出,但在每次复位以后,2路信号的初相位都会变化,故使用AD8302鉴相器识别两路信号相位差,并反馈给单片机,单片机再次控制调整相位。电路图如下图7所示:
图7 鉴相器模块原理图
3.4 乘法器电路
AD835是一款高性能模拟乘法器模块,其核心芯片支持高达250MHz的工作频率,具有快速响应时间和低失真特性。该模块能够处理±1V的信号输入,并且在DC至10MHz的频段内失真小于0.5dB,在40MHz时-3dB带宽。它采用了平衡的设计结构以减少串扰和提高共模抑制比,适用于各种精密调制解调、信号合成与检测应用。电路图如下图8所示:
图8 乘法器器模块原理图
3.5 实物组装效果图
图9 实物静态效果图
图10 实物上电效果图
4. 软件设计总体描述
软件主控使用stm32,上电后首先进行初始化,控制ADS9959输出40MHz载波,并校准相位,通过串口向FPGA发送数据控制DAC输出2MHz的调制信号,若通过串口接收到屏幕发来的信息,则进行计算并控制DDS和FPGA实现相应的功能。其系统框图如下图11与图12所示。
图11 STM32软件流程图
图12 FPGA软件流程图
人机交互部分使用淘晶驰串口屏,通过USART HMI设计上位机界面,所有数值都支持预设,如下图13所示:
图13 上位机界面设计图
5. 竞赛工作环境条件
5.1 设计分析软件
Tina-TI:电路仿真
Keil uvision5:STM32F103VET6开发平台
Quartus Ⅱ:FPGA开发平台
USART HMI:串口屏开发平台
Altium Designer:PCB电路板设计
5.2 仪器设备硬件平台
SPD3303X/X-E、SDG 1032X信号源、SDS1102A示波器
6. 作品成效总结分析
6.1 整体分析
设置不同载波幅度,将模拟传输系统的直达信号与多径信号连接到示波器,记录示波器显示的幅度值,计算相对误差,具体数据如表1所示。
表1 测量载波幅度
载波频率 | 设置载波幅度有效值 | 测量值 | 相对误差 | 载波频率 | 设置载波幅度有效值 | 测量值 | 相对误差 |
30MHz | 100mV | 106mV | 6% | 30MHz | 600mV | 627mV | 4.5% |
30MHz | 200mV | 205mV | 2.5% | 30MHz | 700mV | 732mV | 4.6% |
30MHz | 300mV | 308mV | 2.7% | 30MHz | 800mV | 841mV | 5.1% |
30MHz | 400mV | 411mV | 2.75% | 30MHz | 900mV | 949mV | 5.4% |
30MHz | 500mV | 519mV | 3.8% | 30MHz | 1000mV | 1054mV | 5.4% |
设置不同AM调制度,将模拟传输系统的直达信号与多径信号连接到示波器,记录示波器显示的AM调制度,计算相对误差,具体数据如表2所示。
表2 测量AM调制度
设定AM调制度 | 测量值 | 相对误差 | 设定AM调制度 | 测量值 | 相对误差 |
30% | 29% | 3% | 70% | 72% | 2.8% |
40% | 42% | 5% | 80% | 84% | 5% |
50% | 51% | 2% | 90% | 89% | 1.1% |
60% | 61% | 1.7% |
设置不同幅值有效值,将模拟传输系统的直达信号与多径信号连接到示波器,记录示波器显示的幅度值衰减,计算相对误差,具体数据如表3所示。
表3 测量幅度衰减
设定幅度衰减 | 测量值 | 误差 | 设定幅度衰减 | 测量值 | 误差 |
0dB | 0dB | 0dB | 12dB | 12dB | 0dB |
2dB | 2dB | 0dB | 14dB | 14dB | 0dB |
4dB | 3dB | 1dB | 16dB | 17dB | 1dB |
6dB | 5dB | 1dB | 18dB | 18dB | 0dB |
8dB | 8dB | 0dB | 20dB | 20dB | 0dB |
10dB | 10dB | 0dB |
设置不同载波频率,将模拟传输系统的直达信号与多径信号连接到示波器,记录示波器显示的载波频率,计算相对误差,具体数据如表4所示。
表4 测量载波频率
设置载波频率 | 测量值 | 相对误差 | 设置载波频率 | 测量值 | 相对误差 |
30MHz | 30.1MHz | 0.31% | 36MHz | 36.3MHz | 0.83% |
31MHz | 30.9MHz | 0.32% | 37MHz | 37.2MHz | 0.54% |
32MHz | 32MHz | 0% | 38MHz | 37.8MHz | 0.52% |
33MHz | 33.2MHz | 0.6% | 39MHz | 39.1MHz | 0.25% |
34MHz | 33.8MHz | 0.58% | 40MHz | 39.8MHz | 0.5% |
35MHz | 35.4MHz | 1.14% |
设置不同多径信号相对直达信号相位,将模拟传输系统的直达信号与多径信号连接到示波器,记录示波器显示的多径信号相对直达信号相位,计算相对误差,具体数据如表5所示。
表5 测量相位
设置相位 | 测量值 | 相对误差 | 设置相位 | 测量值 | 相对误差 |
0° | 0° | 0% | 120° | 117° | 2.5% |
30° | 29° | 3.3% | 150° | 152° | 1.3% |
60° | 63° | 5% | 180° | 174° | 3.3% |
90° | 97° | 7.8% |
6.2 成效得失对比分析
综上各测量数据可看出参数都在系统要求误差内。由此可知,本系统设计满足本次任务要求。