作者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