日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab多项式除法降阶,二进制多项式除法研究

發布時間:2023/12/10 循环神经网络 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab多项式除法降阶,二进制多项式除法研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二進制多項式除法研究

1、伽羅華域二進制除法

matlab演示過程:

>> a = gf([1 0 1

1],1)

a

= GF(2) array.

Array

elements =

1

0

1

1

>> b = gf([1 1

0],1)

b = GF(2)

array.

Array

elements =

1

1

0

>> c = deconv(a,b)

c = GF(2)

array.

Array

elements =

1

1

>> [c,d] =

deconv(a,b)

c = GF(2)

array.

Array

elements =

1

1

d = GF(2)

array.

Array

elements =

0

0

0

1

>>

CRC-32計算舉例:

>> a = gf([0 0 0 0 0 0 0 1 0

0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0

0 0 1 1 0],1);

>> b = gf([1 0 0 0 0 0 1 0 0

1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1],1)

>> [c,d] =

deconv(a,b)

c = GF(2)

array.

Array

elements =

0

0

0

0

0

0

0

1

0

0

0

0

0

1

1

0

d = GF(2)

array.

Array

elements =

Columns 1 through 18

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

Columns 19 through 36

0

1

1

0

0

0

1

0

0

1

1

1

1

1

1

1

1

1

Columns 37 through 48

1

1

1

1

1

0

1

1

0

1

0

0

>>

2、LFS二進制除法

3、用MATLAB實現上面兩種方法

%二進制多項式除法研究

clear

clc

%輸入區域

LFS_L =

4;%LFS長度

g = [1 0 1

1];%線性反饋一位寄存器系數,g=[1 0 1 1]對應g(x)=x^4 + (x^3 + x + 1),最高位默認為1

A1 = [1 0

1 1 1];%輸入序列,A1 = [1 0 1 1 1]對應x^4 + x^2 + x + 1

%下面的代碼實現除法:(A1*x^LFS_L)/g

%舉例:

� = [1 0 1

1 1]對應x^4 + x^2 + x + 1

%g=[1 0 1

1]對應g(x)=x^4 + (x^3 + x + 1),最高位默認為1

%LFS_L =

4

%則:(A1*x^LFS_L)/g = [(x^4 + x^2 + x + 1)*x^4]/[x^4 +

(x^3 + x + 1)]

%除法結果應該為:x^4 + x^3 + 1,二進制格式:[1 1 0 0 1]

%余數結果應該為:x + 1,二進制格式:[0 0 1 1]

%初始化

D =

zeros(1,LFS_L);%寄存器當前狀態

D_next =

zeros(1,LFS_L);%寄存器下一個狀態

A2 =

zeros(1,LFS_L);%填充序列,添加到輸入序列末尾

A =

[A1,A2];%相當于A1*x^LFS_L

LFS_out =

zeros(1,length(A));%線性反饋移位寄存器的輸出,相當于除法結果

k =

0;

m =

0;

%1、伽羅華域方法

A_gf =

gf(A,1);

g_gf =

gf([1,g],1);

disp('%%%用伽羅華域方法實現二進制多項式除法%%%')

[div_rst_gf,div_remainder_gf] =

deconv(A_gf,g_gf)

%2、線性反饋移位寄存器方法

g =

g(end:-1:1);

for k =

1:length(A)

D_next(1) = xor(A(k),D(LFS_L));

for m = 2:LFS_L

if(g(m)==1)

D_next(m) = xor(D(m-1),D(LFS_L));

else

D_next(m) = D(m-1);

end

end

LFS_out(k) = D_next(LFS_L);

D = D_next;

end

disp('%%%用LFS實現二進制多項式除法%%%')

disp('線性反饋移位寄存器結構:')

disp('*************************************************************************')

disp('

_____________________________________________________________');

disp('

|g0

|g1

|g2

|g3

...

|gm');

disp('

v

v

v

v

...

|');

disp('輸入序列--> + -->[D0]-- +

-->[D1]-- + -->[D2]-- +

-->[D3]--...

-->[Dm-1]--');

disp('*************************************************************************')

disp('線性反饋移位寄存器系數(高->低,不包含最高位gm,最高位默認為1):'),g

disp('輸入序列+填充序列(高->低,填充序列長度為LFS寄存器個數):'),A

disp('A/g除法結果(高->低):'),div_rst =

LFS_out(LFS_L:length(LFS_out)-1)%除法結果

disp('A/g余數(高->低):'),div_remainder = D(end:-1:1)%余數

4、MATLAB運行結果

%%%用伽羅華域方法實現二進制多項式除法%%%

div_rst_gf

= GF(2) array.

Array

elements =

1

1

0

0

1

div_remainder_gf = GF(2) array.

Array

elements =

0

0

0

0

0

0

0

1

1

%%%用LFS實現二進制多項式除法%%%

線性反饋移位寄存器結構:

*************************************************************************

_____________________________________________________________

|g0

|g1

|g2

|g3

...

|gm

v

v

v

v

...

|

輸入序列--> +

-->[D0]-- + -->[D1]-- +

-->[D2]-- + -->[D3]--...

-->[Dm-1]--

*************************************************************************

線性反饋移位寄存器系數(高->低,不包含最高位gm,最高位默認為1):

g

=

1

1

0

1

輸入序列+填充序列(高->低,填充序列長度為LFS寄存器個數):

A

=

1

0

1

1

1

0

0

0

0

A/g除法結果(高->低):

div_rst

=

1

1

0

0

1

A/g余數(高->低):

div_remainder =

0

0

1

1

總結

以上是生活随笔為你收集整理的matlab多项式除法降阶,二进制多项式除法研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。