gongcsf 发表于 2018-11-3 22:43:42

DDS生成正弦序列送DAC,应该用有符号还是无符号数

如图,

我用正弦序列+32768 再去掉符号位,相当于一个无符号数的正弦序列送入DAC

用频谱看,DAC出来很多杂波,完全不可用。


我用FIR的看起来像梯形的数据送入DAC


出来的频谱却是正常的。


请问这是为什么呢。


wye11083 发表于 2018-11-3 22:55:07

dac用移码的比较多吧。补码的差分adc用的比较多。

castiello 发表于 2018-11-4 00:08:19

那得看你的DAC是有符号输入还是无符号输入的

gongcsf 发表于 2018-11-4 00:18:07

castiello 发表于 2018-11-4 00:08
那得看你的DAC是有符号输入还是无符号输入的

ADI AD9767

现在是ADC 和DDS 输出一单一SIN   混频后经过FIR滤波输出DAC的 试验。

学习一下数字混频

之后就是整合成一个DDC 做AM 解调了。



gongcsf 发表于 2018-11-4 02:21:21

搞定了。
信号源输入12M
板子ADC采样后与DDS 23M混频,得11M信号
FIR低通滤波后送DAC
DAC接频谱

现在发现64阶FIR低通过滤不干净,明天加CIC 和HB 再试试看




xycfwrj 发表于 2018-11-4 15:15:20

国内典型的开发方式,撞大运。建议先仔细看器件手册的要求,再补下信号处理的课

huangqi412 发表于 2018-11-5 05:27:01

gongcsf 发表于 2018-11-4 00:18
ADI AD9767

现在是ADC 和DDS 输出一单一SIN   混频后经过FIR滤波输出DAC的 试验。


这是什么

gongcsf 发表于 2018-11-5 16:10:26

xycfwrj 发表于 2018-11-4 15:15
国内典型的开发方式,撞大运。建议先仔细看器件手册的要求,再补下信号处理的课 ...

我都还没被高中上过,只能撞大运了。请不吝赐教啊。

gongcsf 发表于 2018-11-5 16:17:47

信号源-70dbm 输出13MFPGA混频输出11M

DDS 输出 24位,ADC为14位

如果乘法器取16位结果,过CIC FIR 后。如图1 图2,

中频11M反而有-50dbm左右。底噪为-65左右。

如果乘法器取24位结果

中频11M 为-70dbm 底噪为-85左右

等于位宽变化,使中频和底噪相应变化了20dbm

具体原理我不清楚。请了解信号处理的高人能不能讲解一下。

我自己找资料太难了。谢谢



gliet_su 发表于 2018-11-5 16:22:56

有些DAC有设置的,输入方式是补码还是原码

xycfwrj 发表于 2018-11-5 19:25:59

gongcsf 发表于 2018-11-5 16:17
信号源-70dbm 输出13MFPGA混频输出11M

DDS 输出 24位,ADC为14位


读大学不可耻,不是什么都能试啊试啊就行的。

你这个总要看dac输入是多少位吧,满刻度多少伏?
你24位16位数据都是怎么输入dac的?
各种数据都是怎么连接起来的,这里面涉及a-d,d-a转化,
离开转化时的参数,讲dbm没有意义。
另外,down mixing后滤波你要选择截止频率,拒绝不需要的谐波,保留需要的基波,
不是瞎碰就行的。
至于dds位宽,quartus dds本身输出正弦信号时,
ip工具就会有图显示多少位宽对应有多少信噪比,需要根据你对信噪比的需求来确定,
保证比你需要的信噪比高一些就行了

gongcsf 发表于 2018-11-7 12:10:10

本帖最后由 gongcsf 于 2018-11-7 12:58 编辑

xycfwrj 发表于 2018-11-5 19:25
读大学不可耻,不是什么都能试啊试啊就行的。

你这个总要看dac输入是多少位吧,满刻度多少伏?


谢谢。

我改了一下

14位的ADC 125M采样 输出格式0-3fff无符号数。
DDS 输出15位 I/Q                           有符号数。
乘法器相乘,输出有符号数。乘法器把ADC输入ADC端口为无符号数,DDS输入端口为有符号数。
截位成16位,
输入CIC   滤波器。5位抽取
CIC输出也是16位。

FIR输入输出都是16位。采样25M时钟125M

然后FIR输出送去DAC

FIR输出有符号数补码。

请教一下这样有没有什么问题。







页: [1]
查看完整版本: DDS生成正弦序列送DAC,应该用有符号还是无符号数