
摘要
本系统以 fpga 为控制核心设计并制作了信号分离装置。 信号 a、 b 经增益为
1 的加法器得到混合信号 c。 分离电路主要由鉴相器、 射极跟随器、 滤波器和 a/d、
d/a 等模块构成。 射极跟随器用于隔开前后级; 信号 c 经模数转换 ads805, fpga
内部利用 fft 对采样数据进行频谱分析; dds 将信号重构并通过数模转换 dac904 输
出两信号a'和b'。 鉴相器 ad8302 对输出信号a'和混合信号 c 进行相位比较并输出直流
电压, 该直流电压随相差线性变化, 滤波器滤除交流噪声, 直流电压再经数模转换
ads1118, fpga 利用采样数据对 dds 输出信号进行频率调整, 消除信号漂移。 本系
统能分离正弦波和三角波的任意组合, 在频率 20khz~100khz 内 5khz 的整数倍频率,
输出信号无波形失真, 峰峰值均不小于 1v, 且连续稳定同频显示。 当 a’、 b’信号为整
数倍关系时, 实现全部频率的相位控制, 分辨率为 5° , 误差绝对值不大于 5°
总框架:
dds框架输出
加法器电路
思路分享:一般的滤波法做出很好的好像还没看到,本题大多做的比较好的都是fft+重构+去相位漂移
我们也是采用后者方法,但是仅仅只能做完全部,没办法做到500khz,仅供大家参考
fft:通过fpga测量
由于晶振不同fpga输出频率或者dds输出频率与信号源输出有微小的频率差距,因此示波器上会看到很明显的漂移
我们采用的方法是鉴相,具体实施步骤如下:
(1)两路信号a,b经过加法器输出c经过射随,用ad805采样到fpga
(2)fft测信号c的频谱可以根据分布分辨出a,b信号的信号类型与频率
(3)信号重构,可以用fpga的dac输出,也可以用外控dds输出先输出一个a’,b‘,此时的a’,b'与原信号a,b之间有频率差会导致相位漂移从而在示波器上不能同频稳定显示
(4)相位锁定,采用ad8302鉴相器对输出的a‘信号与c信号进行鉴相,将代表相位的ad8302输出幅值输入ad1118输入fpga,我们的目标就是要让ad8302的幅值稳定就能保持相位不飘了,我们设置一个反馈部分,当发现幅值增大或幅值减小时分别微小地增大、减小(这个要自己调一下)输出频率,从而让相位保持稳定,最后几乎稳定在2度之间调动。然后b'信号和a信号由于信号源是满足倍数关系的,所以我们的b’输出也和a‘输出满足关系b’/a‘=b/a,所以微调时变化和a’一样但大小得是pinlvb/pinlva倍数。
(5)最后的输出a,b相位设定只需要通过dds的控制字的起始位置就可以控制相位差了
效果是:基础部分+发挥部分都能做,但是微调负反馈频率太消耗时间了,所以没时间拓展了,用的fpga晶振是200 m,如果不够高可以用dds也行。
方案仅作为思路参考,个人感觉用其他方案如计算过零点检测然后没几个周期直接将相位复原可能会更好,也比较容易做更高频率
发表评论