差分編碼解析以及FPGA實現

2021-08-22 08:20:21 字數 625 閱讀 1639

1、差分編碼解析

絕對碼bn(輸入訊號)00

1011

000相當碼dn-1(dn延遲後的相對碼)

0(保證第乙個輸出就是絕對碼本身)00

1101

11相對碼dn(輸出訊號)

0(輸出初始值是絕對碼)01

1011

11差分編碼的原則就是第乙個輸出的相對碼就是絕對碼本身,後面用本時刻的相對碼與前乙個相對碼作差(實際就是異或)得到輸入訊號絕對碼,通過上表可以很清楚看出執行機制

2、差分編碼fpga實現(verilog**)

顯然,要想實現  差分編碼的fpga實現,需要有輸出dn,dn需要初始值(一般為0),需要有dn的延遲值dn-1,而延遲對於verilog來說非常簡單,因為阻塞賦值相對於非阻塞賦值本身就要延遲乙個乙個時鐘,因此思路如下:

output dn;

input bn;

assign dn=dn-1^bn;

reg dn-1;

always@(posedge clk or negedge rst)

begin

if(!rst) dn-1<=0;

else dn-1<=dn;

end

曼徹斯特編碼 差分曼徹斯特編碼

1 曼徹斯特編碼 manchester encoding 位中間電平從低到高跳變表示 0 位中間電平從高到低跳變表示 1 2 差分曼徹斯特編碼 differential manchester encoding 在最初訊號的時候,即第乙個訊號時 如果中間位電平從低到高,則表示0 如果中間位電平從高到低...

FPGA旋轉編碼器的實現

module pmodenc clk,rst n,a,b,btn,a debounce,b debounce,btn debounce,rotary right,rotary left led input wire clk,rst n input wire a,b,btn output wire a...

算術編碼 解碼以及matlab實現

m 2 二元資料p 0.80.2 需要自己給出x 1010 需要編碼的序列,發行方想要傳送的原始序列 low 0 區間下界 high 1 區間上界 for i 1 length x if x i 0 high high high low p 2 elseif x i 1 low low high l...