作者lovearmani (Go~Go~中华队)
看板Electronics
标题[问题] 资料bits数大於D/A bits该如何输出
时间Tue Jan 18 16:00:46 2011
之前的问题表示得不好,所以这次重新再请教版友。
我目前的工作主要是将卫星打下来的FM讯号(是类比讯号, 非FSK),
经由A/D(8bits)转换为数位信号,再由FPGA做延迟的动作,
然後再用D/A(8bits)送回去。
简单的说就是用FPGA做数位delay line(假设delay n个资料)。
这个FM讯号是重复的, 讯号长度是17us,而我的延迟时间是2.5us, 延迟n笔资料,
同时也希望全部的资料功率都依样大。
目前作法先对这FM讯号AD取样, 然後在FPGA里面跑LOOP来延迟,
每延迟100个clock就得到一组讯号D1,D2,D3....到Dn。(我的FPGA工作时脉是50MHz)
然後希望可以把D1,D2,D3...到Dn输出。
问题是在我的delay时间小於讯号长度17us....所以不能送完一笔再换下一笔资料,
之前有利用多工器去选择,超过100个CLK就换成输出下一个延迟点(约2us),
但是由於延迟时间小於17us,因此到至第一个延迟点的信号还没送完,
就被切到下一个,因而导致功率下降。
所以我才会想说使用加法器,如此一来就可以一起输出,但也由於我的D/A是8bits,
所以做完加法之後,bits数会大於8bits,如此一来输出也就会失真,
所以才想说请问板上的版友,是否知道有什麽方法可以解决,
或者是根本不用使用加法器,而可以从其他地方下手,感谢热心回答^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.76.254.20
1F:推 mosquito520:单纯针对相加後大於DA的问题 请右移一位牺牲LSB 01/18 20:46
2F:→ mosquito520:但如果你的实际讯号相加会大於DA最大输出 01/18 20:47
3F:→ mosquito520:那还是一样会失真 01/18 20:47
4F:→ lovearmani:所以加越多,失真也就越多,是无可避免罗?! 01/18 21:09
5F:推 mosquito520:我不确定你的讯号长怎样 相加之後会怎样= = 01/18 21:21
6F:→ mosquito520:假设两个强度一样的Sine Wave相差180" 01/18 21:21
7F:→ mosquito520:相加後就没啦 可是如果相差相位差0度 01/18 21:22
8F:→ mosquito520:那相加後等於两倍强度 如果这个两倍强度比你的DA最大 01/18 21:23
9F:→ mosquito520:输出还要来的大 自然你没办法输出到原本强度对吧 01/18 21:23
10F:→ lovearmani:恩,对 是第二情形 01/18 21:48
11F:→ lovearmani:其实我不清楚用加法器是否正确,是因为我要送n笔资料 01/18 21:49
12F:→ lovearmani:所以我不知道要如何将它们都送出来 01/18 21:49