『壹』 通信原理實驗中,AMI編碼和解碼的數據時延是多少真是太難了!高手指點一下!
這類數據方面的時延應該考慮一個時鍾周期,器件對數據處理位數的多少,一些器件一個時鍾周期只能處理幾位,一些器件可以並行處理更多的位數。個人淺見,供參考。
『貳』 關於AMI、HDB3編譯碼實驗 有個這樣的思考題,示波器看到的HDB3變換規則與書本上和老師講的有什麼不同
示波器上看到的HDB3編碼器的輸出P22點的波形比書本上的理論上的輸出波形要延時5個碼位。原因是實驗電路中採用了由4個移位寄存器和與非門組成的四連零測試模塊去檢測二進制碼流中是否有四連零,因此輸出的HDB3碼有5個碼位的延時。
『叄』 MATLAB: 數字通信系統信道編碼 AMI 編解碼
程序如下,現在原始序列長度20的隨機0,1串,要變自己改。
clc;
clear;
source = randint(1,20);
%%%%%%%%%%%% Encode %%%%%%%%%%%%%
perbit = -1;
for i=1:length(source);
if source(i)==1
encoded(i) = (-1)*perbit;
perbit = encoded(i);
else
encoded(i) = source(i);
end
end
%%%%%%%%%%%% Decode %%%%%%%%%%%%
for i=1:length(source);
if encoded(i)~=0
decoded(i) = 1;
else
encoded(i) = 0;
end
end
source
encoded
decoded
『肆』 AMI編、解碼器的VHDL建模及程序設計
AMI編碼VHDL程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityamiis
port(clk:inbit;
input:inbit;
output1:outbit;
output2:outbit);
endami;
architectureaofamiis
begin
process(clk)
variablec:bit:='0';
begin
ifclk'eventandclk='1『then
ifinput='1『then
ifc='0『then
output1<='1';
output2<='0';
c:=notc;
else
output1<='0';
output2<='1';
c:=notc;
endif;
else
output1<='0';
output2<='0';
endif;
endif;
endprocess;
enda;
AMI解碼程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityamiymis
port(clk:inbit;
input1,input2:inbit;
output:outbit);
endamiym;
architectureaofamiymis
begin
process(clk)
begin
ifclk'eventandclk='0'then
output<=input1orinput2;
endif;
endprocess;
enda;
ps:因為只能傳一張圖片,我就傳了編碼的模擬圖,解碼的簡單一點,你自己試試。