[問題] 資料bits數大於D/A bits該如何輸出

看板Electronics作者 (Go~Go~中華隊)時間15年前 (2011/01/18 16:00), 編輯推噓2(2013)
留言15則, 3人參與, 7年前最新討論串1/2 (看更多)
之前的問題表示得不好,所以這次重新再請教版友。 我目前的工作主要是將衛星打下來的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

01/18 20:46, , 1F
單純針對相加後大於DA的問題 請右移一位犧牲LSB
01/18 20:46, 1F

01/18 20:47, , 2F
但如果你的實際訊號相加會大於DA最大輸出
01/18 20:47, 2F

01/18 20:47, , 3F
那還是一樣會失真
01/18 20:47, 3F

01/18 21:09, , 4F
所以加越多,失真也就越多,是無可避免囉?!
01/18 21:09, 4F

01/18 21:21, , 5F
我不確定你的訊號長怎樣 相加之後會怎樣= =
01/18 21:21, 5F

01/18 21:21, , 6F
假設兩個強度一樣的Sine Wave相差180"
01/18 21:21, 6F

01/18 21:22, , 7F
相加後就沒啦 可是如果相差相位差0度
01/18 21:22, 7F

01/18 21:23, , 8F
那相加後等於兩倍強度 如果這個兩倍強度比你的DA最大
01/18 21:23, 8F

01/18 21:23, , 9F
輸出還要來的大 自然你沒辦法輸出到原本強度對吧
01/18 21:23, 9F

01/18 21:48, , 10F
恩,對 是第二情形
01/18 21:48, 10F

01/18 21:49, , 11F
其實我不清楚用加法器是否正確,是因為我要送n筆資料
01/18 21:49, 11F

01/18 21:49, , 12F
所以我不知道要如何將它們都送出來
01/18 21:49, 12F

08/13 19:08, , 13F
其實我不清楚用加法器是 https://muxiv.com
08/13 19:08, 13F

09/17 23:02, , 14F
所以我不知道要如何將它 https://daxiv.com
09/17 23:02, 14F

01/04 22:16, 7年前 , 15F
但如果你的實際訊號相加 http://yofuk.com
01/04 22:16, 15F
文章代碼(AID): #1DDKYo_L (Electronics)
文章代碼(AID): #1DDKYo_L (Electronics)