亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CCSDS標(biāo)準(zhǔn)Turbo碼編碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)*

        2014-09-06 10:51:08藺吉順劉東華
        電子器件 2014年6期
        關(guān)鍵詞:碼率交織存儲器

        藺吉順,劉東華

        (內(nèi)蒙古民族大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古 通遼 028000)

        ?

        CCSDS標(biāo)準(zhǔn)Turbo碼編碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)*

        藺吉順*,劉東華

        (內(nèi)蒙古民族大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古 通遼 028000)

        Turbo碼因其具有優(yōu)異的編譯碼性能而成為國際空間數(shù)據(jù)咨詢委員會(CCSDS)建議的衛(wèi)星通信和深空通信編碼標(biāo)準(zhǔn)。針對CCSDS標(biāo)準(zhǔn)Turbo碼結(jié)構(gòu),設(shè)計(jì)了支持多碼率、多幀長的優(yōu)化編碼器FPGA實(shí)現(xiàn)結(jié)構(gòu)并在Altera Stratix Ⅲ系列FPGA芯片上進(jìn)行了驗(yàn)證,在資源占用很小的情況下達(dá)到了100 MHz以上的處理速率,該編碼器已應(yīng)用于某衛(wèi)星上實(shí)現(xiàn)10 Mbit/s以上速率的數(shù)據(jù)編碼。

        Turbo碼;編碼器;CCSDS;FPGA

        Turbo碼[1-2]是1993年由法國不列顛通信大學(xué)的兩位教授Berrou C和Glavieux A提出的,它因?yàn)楹芎玫胤狭薙hannon有噪信道編碼定理的隨機(jī)性編譯碼條件而獲得了接近Shannon理論極限的性能。Turbo碼通過迭代譯碼提高性能,通常譯碼延時較大,不適合實(shí)時通信系統(tǒng)應(yīng)用。但對于通信距離較遠(yuǎn)、傳輸延時和信號衰減都比較大的通信系統(tǒng),Turbo碼具有非常好的應(yīng)用潛力[3]。因此,CCSDS將Turbo碼作為衛(wèi)星通信和深空通信的編碼標(biāo)準(zhǔn)[4]并在遙測應(yīng)用中得到了很好的應(yīng)用。在遙測系統(tǒng)中,Turbo碼編碼器運(yùn)行在航天器上,因此對穩(wěn)定性和片上資源使用規(guī)定較為嚴(yán)格。此設(shè)計(jì)研究了一種優(yōu)化的Turbo編碼器的FPGA實(shí)現(xiàn)結(jié)構(gòu),支持CCSDS標(biāo)準(zhǔn)Turbo碼的多碼率、多幀長編碼。

        1 CCSDS標(biāo)準(zhǔn)Turbo碼

        CCSDS標(biāo)準(zhǔn)建議的Turbo碼編碼結(jié)構(gòu)如圖1所示。

        圖1 CCSDS建議的Turbo碼編碼器

        該編碼器采用系統(tǒng)并行級聯(lián)編碼形式,由兩個狀態(tài)數(shù)為16(4個移位寄存器)的遞歸系統(tǒng)卷積碼(RSC碼)組成。編碼時每個輸入幀的k個信息比特保存在一個幀緩存器中,然后按照不同的順序讀出送到兩個分量編碼器。分量編碼器1的輸入是未置亂順序的信息比特(用a表示),而分量編碼器2接收相同的信息比特,但是順序是經(jīng)過交織器置亂之后的(用b表示)。a的讀出尋址是一個簡單的計(jì)數(shù)器,而b的讀出尋址由后面定義的交織算法確定。

        編碼時兩個分量碼都初始化為寄存器全零,且均運(yùn)行k+4比特次,得到長度為(k+4)/R的編碼符號,其中k是編碼信息塊長度,R是規(guī)則化碼率。對于前面的k比特次,輸入開關(guān)在下面位置,接收輸入數(shù)據(jù)。對于最后4比特次,開關(guān)移到上面位置,接收移位寄存器的反饋,實(shí)現(xiàn)編碼網(wǎng)格圖歸零。在編碼器網(wǎng)格圖歸零期間,編碼器繼續(xù)輸出非零編碼符號。特別地,“系統(tǒng)的未編碼”輸出(out 0a)包括4個來自反饋線的附加比特,補(bǔ)充到k個信息比特之后。

        該Turbo碼支持1/2、1/3、1/4和1/6規(guī)則化碼率,通過校驗(yàn)輸出的取舍實(shí)現(xiàn)。支持的編碼數(shù)據(jù)幀長度包括1784、3568、7136和8920。交織器采用固定形式,通過給定算法計(jì)算實(shí)現(xiàn)。編碼時根據(jù)選擇的碼率,編碼符號從上到下復(fù)用輸出線,得到Turbo碼的碼塊,為通信同步,在每個Turbo碼碼塊前面添加輔助同步標(biāo)記(ASM),幀同步器通過檢測ASM實(shí)現(xiàn)同步。添加了ASM的Turbo碼碼塊結(jié)構(gòu)如圖2所示。

        圖2 添加了ASM的Turbo碼碼塊結(jié)構(gòu)

        其中添加的ASM對于每種碼率長度不同,但取值是固定的。

        2 分量碼編碼過程的優(yōu)化實(shí)現(xiàn)

        分量碼采用遞歸系統(tǒng)卷積碼的形式,其編碼輸出不僅與當(dāng)前時刻的輸入有關(guān),還與當(dāng)前編碼器中移位寄存器的內(nèi)容有關(guān),在每個輸入比特編碼完成后還要更新移位寄存器的狀態(tài)[5]。傳統(tǒng)編碼過程包括以下幾步:

        ①獲取輸入信息比特的值u和各移位寄存器的內(nèi)容Di,i=0,1,2,3;

        ②計(jì)算x=u+D2+D3;

        ③計(jì)算校驗(yàn)輸出:1a=x+D0+D2+D3;

        2a=x+D1+D3;3a=x+D0+D1+D2+D3;

        ④更新寄存器狀態(tài):D2→D3;D1→D2;D0→D1;x→D0;D2→D3;

        在每幀編碼結(jié)束時還要考慮對結(jié)尾比特的編碼,使編碼器狀態(tài)歸零。

        上述編碼過程中,涉及多個模2加法運(yùn)算,不利于硬件實(shí)現(xiàn)。

        考慮到分量碼編碼器的移位寄存器狀態(tài)數(shù)有限,且輸入僅有“0”和“1”兩種情況,編碼輸出與寄存器狀態(tài)有關(guān),而寄存器狀態(tài)變化與當(dāng)前輸入和D2、D3兩個移位寄存器的輸出有關(guān),輸入和寄存器狀態(tài)之間的關(guān)系是確定的,因此考慮建立查找表,通過查表實(shí)現(xiàn)編碼過程。建立二維查找表EnOuti[2][NSTATE],i=1,2,3,其中第1維表示輸入比特的0、1值,第2維表示編碼器的狀態(tài),共16個值。具體地,

        EnOut1[2][NSTATE]={ 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0};

        EnOut2[2][NSTATE]={ 0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0;1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1};

        EnOut3[2][NSTATE]={ 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0;1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1};

        同樣,建立編碼器狀態(tài)查找表

        NextState[2][NSTATE]={0,8,9,1,2,10,11,3,4,12,13,5,6,14,15,7;8,0,1,9,10,2,3,11,12,4,5,13,14,6,7,15};

        從而編碼過程就完全根據(jù)當(dāng)前輸入和編碼器的狀態(tài)通過查表得到編碼輸出和編碼器狀態(tài)更新,對結(jié)尾比特的編碼也只需要通過查表各表的第1行實(shí)現(xiàn)。整個編碼過程不需要任何計(jì)算。

        3 CCSDS標(biāo)準(zhǔn)Turbo編碼器的FPGA設(shè)計(jì)

        3.1 總體設(shè)計(jì)

        根據(jù)CCSDS建議的Turbo碼編碼器結(jié)構(gòu),設(shè)計(jì)的編碼器要支持1/2、1/3、1/4、1/6碼率和1784、3568、7136、8920和16384等信息塊長度編碼,其控制比較復(fù)雜[6-8]。圖3給出了編碼器的FPGA總體設(shè)計(jì)框圖。

        圖3 CCSDS標(biāo)準(zhǔn)Turbo碼編碼器FPGA總體結(jié)構(gòu)

        其中輸入信號clk為系統(tǒng)時鐘,Din為待編碼數(shù)據(jù),Ilen[1:0]為數(shù)據(jù)幀長(取值00、01、10、11分別對應(yīng)幀長1784、3568、7136和8920),Dclk為數(shù)據(jù)速率,rate[1:0]為編碼速率(取值00、01、10、11分別對應(yīng)碼率1/2、1/3、1/4和1/6)。輸出Dout為編碼輸出,Flag為數(shù)據(jù)準(zhǔn)備好信號。

        編碼器工作時,數(shù)據(jù)Din以Dclk頻率進(jìn)入編碼器,由于Turbo碼的編碼是基于數(shù)據(jù)塊(幀)的,因此首先將數(shù)據(jù)緩存。為實(shí)現(xiàn)同步控制,這里假設(shè)輸入數(shù)據(jù)信息塊之間存在間隔,間隔持續(xù)時間滿足以Dclk速率輸出編碼結(jié)果,若設(shè)數(shù)據(jù)時鐘Dclk頻率為fMHz,待編碼信息塊長度為k,編碼碼率為r,則輸入待編碼信息塊之間的間隔為

        (1)

        其中(k+4)/rf是以數(shù)據(jù)時鐘頻率輸出一幀編碼數(shù)據(jù)的時間,32/rf是輸出ASM的時間。

        輸入數(shù)據(jù)存儲器的長度設(shè)置為最大待編碼信息塊長度,單比特位寬。編碼控制模塊根據(jù)輸入控制計(jì)數(shù)器,并與根據(jù)參數(shù)Ilen計(jì)算得到的幀長比較,完成一幀數(shù)據(jù)存儲時控制RSC編碼模塊開始編碼,RSC編碼模塊每時刻輸出4個編碼比特(out0a、out1a、out2a和out3a)。刪余模塊根據(jù)碼率參數(shù)rate的值從輸出中進(jìn)行保留的校驗(yàn)比特存入輸出存儲器,第1個分量碼編碼完成后反饋控制信號給編碼控制模塊。編碼控制模塊控制再次讀取輸入存儲器中的待編碼數(shù)據(jù),先按順序讀取交織映射模塊的值(交織映射模塊按解交織順序輸出待編碼比特位置),然后根據(jù)交織映射模塊的輸出值作為地址讀取輸入存儲器的數(shù)據(jù),即實(shí)現(xiàn)輸入信息塊的交織,然后與第1個分量碼的編碼過程相同,結(jié)果寫入輸出緩存,由于數(shù)據(jù)時鐘低于系統(tǒng)時鐘,因此在一幀待編碼信息塊送入輸入存儲器的時間內(nèi)可以完成兩次RSC編碼,因此這里兩個RSC分量編碼器重用一個模塊,節(jié)省資源。一幀數(shù)據(jù)編碼完成后,輸出控制模塊根據(jù)編碼參數(shù)rate的值和碼塊結(jié)構(gòu),輸出預(yù)存在輸出存儲器中的ASM,通過輸出存儲地址選擇依次輸出編碼結(jié)果。

        3.2 分量編碼器設(shè)計(jì)

        如前所示,分量編碼器編碼過程通過查找表實(shí)現(xiàn),編碼時兩個分量碼不能同時編碼,這是因?yàn)樵谛畔⑿蛄虚_始輸入時即可進(jìn)行分量碼1的編碼,而分量碼2的編碼必須等到整個信息序列輸入后根據(jù)交織映射關(guān)系讀取信息數(shù)據(jù)進(jìn)行編碼,兩個分量碼的編碼是順序進(jìn)行的,可以共用一組查找表。

        分量編碼器的功能仿真結(jié)果如圖4所示。

        圖4 分量碼編碼仿真結(jié)果

        3.3 交織器設(shè)計(jì)

        Turbo碼編碼器中交織器的作用是對輸入信息塊中比特位置進(jìn)行置亂,進(jìn)而改善Turbo碼的輸出碼重。CCSDS建議中給出了交織算法,其中使用了大量的乘除和取模運(yùn)算,如果直接用硬件實(shí)現(xiàn),電路則過于龐大和復(fù)雜,鑒于在Turbo碼編譯碼過程中,交織映射關(guān)系是不變的,因此可以用交織映射表來實(shí)現(xiàn)。將按照交織算法得到的映射表存儲在FPGA芯片的ROM中,編碼時先讀取該ROM中的值,即得到交織后信息塊比特的位置值,然后以位置值作為地址,從輸入存儲器中讀取信息塊比特進(jìn)行編碼。

        實(shí)現(xiàn)時支持4種長度信息塊的交織,考慮到Stratix Ⅲ系列芯片提供M9K和M144K兩種類型的存儲器,為實(shí)現(xiàn)資源優(yōu)化使用,將兩個或多個映射表合并成一個映射表,使用時根據(jù)編碼參數(shù)Ilen選擇不同的初始讀地址。若將多個映射表合并,則ROM存儲器的地址寬度為

        AddrWidth=|log2N1+N2+…|+1

        (2)

        數(shù)據(jù)寬度為

        DataWidth=|log2(max(N1,N2,…)|+1

        (3)

        其中Ni,i=1,2,3,4表示數(shù)據(jù)幀長。

        圖5給出了交織器的功能仿真結(jié)果。

        圖5 交織器功能仿真結(jié)果

        4 編碼控制

        編碼控制模塊的主要功能是從輸入存儲器中順序或按交織順序讀取待編碼信息比特送入RSC分量編碼器。編碼控制模塊主要由計(jì)數(shù)器和選擇器組成,電路結(jié)構(gòu)框圖如圖6所示。

        圖6 編碼控制模塊電路結(jié)構(gòu)框圖

        選擇器由兩個開關(guān)電路組成。第1個分量碼編碼時,開關(guān)1連接到節(jié)點(diǎn)a,開關(guān)2打開,直接將計(jì)數(shù)器的值送到輸入存儲器地址總線,按輸入數(shù)據(jù)順序讀出;第2個分量碼編碼時,開關(guān)1連接到節(jié)點(diǎn)b,開關(guān)2閉合,即先將計(jì)數(shù)器的輸出送到存儲交織映射表的ROM地址總線,再將從ROM讀出的交織地址送到輸入存儲器地址總線,按交織順序讀出。

        5 刪余和輸出控制

        刪余模塊實(shí)際上就是選擇器,根據(jù)編碼參數(shù)rate選擇保留分量編碼器輸出的校驗(yàn)比特。考慮到對保留校驗(yàn)比特最多的1/6碼率的支持,為簡化設(shè)計(jì),將分量編碼器輸出的1個系統(tǒng)比特序列和3個校驗(yàn)比特序列全部保存,然后在輸出控制模塊根據(jù)Rate參數(shù)選擇信息比特和校驗(yàn)比特串行輸出。輸出控制通過選擇器實(shí)現(xiàn),根據(jù)編碼參數(shù)rate,從輸出緩存中選擇編碼比特串行輸出,另外,在每幀編碼比特輸出之前還要輸出ASM。ASM數(shù)據(jù)可以采用類似交織映射表的處理方式,存儲在FPGA芯片的ROM中,不同碼率條件下ASM數(shù)據(jù)長度和值不同,為節(jié)省存儲資源,可以將4種碼率下的ASM數(shù)據(jù)依次寫入一個ASM數(shù)據(jù)表,編碼輸出時根據(jù)rate參數(shù)選擇讀取的初始地址和讀取長度。輸出控制模塊的電路結(jié)構(gòu)框圖如圖7所示。

        圖7 輸出控制模塊電路結(jié)構(gòu)框圖

        編碼輸出以數(shù)據(jù)時鐘Dclk為周期,根據(jù)碼率參數(shù)rate的值選擇輸出數(shù)據(jù)。根據(jù)頂層模塊給出的一幀編碼結(jié)束標(biāo)記開始輸出,首先輸出ASM,開關(guān)1根據(jù)參數(shù)rate的值選擇連接點(diǎn),開關(guān)2連接到節(jié)點(diǎn)1,并根據(jù)計(jì)數(shù)器的值讀取ASM串行送到Dout。ASM輸出完成后,開關(guān)2根據(jù)參數(shù)rate的值依次選擇節(jié)點(diǎn)2~7中的若干個依次輸出。以1/2碼率Turbo碼的編碼為例,開關(guān)1連接到節(jié)點(diǎn)1,開始編碼輸出時,開關(guān)2斷開,開關(guān)3連接到節(jié)點(diǎn)1,前64個Dclk周期通過計(jì)數(shù)器尋址從1/2碼率ASM中依次串行輸出ASM數(shù)據(jù),然后開關(guān)2連接到節(jié)點(diǎn)1,開關(guān)3連接到節(jié)點(diǎn)2,輸出分量編碼器1的第1個系統(tǒng)比特(out0a[0]),即系統(tǒng)比特;下一時刻開關(guān)3連接到節(jié)點(diǎn)3,輸出分量編碼器1的第1個校驗(yàn)比特(out1a[0]);下一時刻開關(guān)3連接到節(jié)點(diǎn)2,輸出分量編碼器1的第2個系統(tǒng)比特(out0a[1]);下一時刻開關(guān)2連接到節(jié)點(diǎn)2,開關(guān)3連接到節(jié)點(diǎn)6,輸出分量編碼器2的第2個校驗(yàn)比特(out1b[1])。依此類推,即完成編碼數(shù)據(jù)的串行輸出。

        以信息塊長為3568、碼率為1/4的Turbo碼編碼器為例,其編碼輸出的功能仿真結(jié)果如圖8所示。

        圖8 Turbo碼編碼輸出功能仿真結(jié)果

        圖8(a)給出的是一幀編碼結(jié)束后開始輸出ASM的功能仿真結(jié)果,其中計(jì)數(shù)器counter的初始地址為160,這是因?yàn)閷?種碼率條件下的ASM依次寫入了一個存儲器,1/2、1/3、1/4和1/6碼率下ASM的長度分別為64、96、128和192,因此對于1/4碼率,讀取ASM的初始地址為64+96=160。DoutRdy為編碼輸出使能信號,輸出標(biāo)記在第1個輸出比特時刻置位高電平。圖8(b)給出的是ASM讀完后開始輸出編碼信息比特和校驗(yàn)比特,通過輸出控制,實(shí)現(xiàn)了編碼輸出的校驗(yàn)比特選擇和串行化輸出。

        6 資源使用情況

        對所設(shè)計(jì)的CCSDS標(biāo)準(zhǔn)Turbo編碼器在Altera Stratix Ⅲ系列FPGA芯片上進(jìn)行了實(shí)現(xiàn)驗(yàn)證,RTL圖如圖9所示。

        圖9 Turbo編碼器RTL圖

        資源使用情況如圖10所示。

        圖10 Turbo編碼器占用資源統(tǒng)計(jì)

        7 結(jié)論

        Turbo碼第1次在實(shí)踐中證明了接近Shannon限的好碼的存在,CCSDS將Turbo碼作為衛(wèi)星通信和深空通信的信道編碼方案建議進(jìn)一步證明了Turbo碼的應(yīng)用潛力。此Turbo編碼器的設(shè)計(jì)完全符合CCSDS標(biāo)準(zhǔn),并已成功應(yīng)用于某衛(wèi)星通信系統(tǒng)中,證明了其可用性和穩(wěn)定性。后續(xù)將繼續(xù)研究通用Turbo碼編碼器的設(shè)計(jì)和實(shí)現(xiàn)方法,使其具有更廣泛的參考意義和工程應(yīng)用價值。

        [1]Berrou C,Glavieux A,Thitimajshima P. Near Shannon Limit Error-Correcting Coding and Decoding:Turbo-Codes(1)[C]//Proc ICC’93. Geneva,Switzerland. 1993:1064-1074.

        [2]祁棟升,陳自力,白勇博. Turbo碼編碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J]. 鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2010,25(6):115-117.

        [3]Divsalar D,Pollara F. Turbo Codes for Deep-Space Communications[R]. JPL TDA Progress Report,42-120. Feb. 1995.

        [4]CCSDS. TM Synchronization and Channel Coding-Summary of Concept and Rationale[R]. Report Concerning Space Data System Standards. June 2006.

        [5]王新梅,肖國鎮(zhèn). 糾錯碼——原理與方法[M]. 西安:西安電子科技大學(xué)出版社,2001:4.

        [6]劉東華,梁光明. Turbo碼設(shè)計(jì)與應(yīng)用[M]. 北京:電子工業(yè)出版社,2011:4.

        [7]S. Benedetto and G. Montorsi. Unveiling turbo codes:Some results on parallel concatenated coding schemes[J]. IEEE Trans Inform Theory,1996,42(2):409-428.

        [8]張凱. CCSDS標(biāo)準(zhǔn)Turbo碼譯碼器設(shè)計(jì)及實(shí)現(xiàn)[D]. 北京:北京郵電大學(xué),2012.

        藺吉順(1980-),男,漢族,吉林蛟河人,內(nèi)蒙古民族大學(xué)講師,碩士,主要從事機(jī)電一體化、信息論與編碼、通信系統(tǒng)設(shè)計(jì),計(jì)算機(jī)圖形學(xué)以及虛擬現(xiàn)實(shí)技術(shù)等方面的研究,linjishun66@163.com。

        FPGADesignandImplementationofTurboEncoderDefinedbyCCSDS*

        LINJishun*,LIUDonghua

        (College of Mechanical Engineering,Inner Mongolia University for the Nationalities,Tongliao Inner Mongolia 028000,China)

        Turbo code has been recommended error control standard for satellite and deep space communication by Consultative Committee for Space Data Systems(CCSDS)because of its excellent performance. An optimal implementation method on FPGA for CCSDS standard Turbo encoder that supports multiple code rate and length of frame is carried out and verified on Altera Stratix Ⅲ FPGA chip. The encoder can reach 100 MHz process speed with very small resource and has been used on some satellite to encoding data with speed larger than 10 Mbit/s.

        turbo code;encoder;CCSDS;FPGA

        項(xiàng)目來源:國家863計(jì)劃基金項(xiàng)目(2012AA0758)

        2013-04-30修改日期:2013-05-08

        TN911.22

        :A

        :1005-9490(2014)06-1162-06

        10.3969/j.issn.1005-9490.2014.06.031

        猜你喜歡
        碼率交織存儲器
        “新”與“舊”的交織 碰撞出的魅力“夜上?!?/a>
        美食(2022年2期)2022-04-19 12:56:22
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        交織冷暖
        女報(bào)(2019年3期)2019-09-10 07:22:44
        基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
        一種改進(jìn)的塊交織方法及FPGA實(shí)現(xiàn)
        奧運(yùn)夢與中國夢交織延展
        華人時刊(2016年17期)2016-04-05 05:50:32
        基于場景突變的碼率控制算法
        X264多線程下碼率控制算法的優(yōu)化
        多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
        存儲器——安格爾(墨西哥)▲
        日本午夜理伦三级好看| 无人视频在线播放在线观看免费| 精品女同一区二区三区在线播放器 | 亚洲第一无码精品久久| 69搡老女人老妇女老熟妇| 国产又黄又湿又爽的免费视频| 久久精品人搡人妻人少妇| 欧美不卡一区二区三区| 亚洲av无码不卡久久| 国产精品99精品一区二区三区∴| 男女性搞视频网站免费| 一区二区中文字幕在线观看污污| 中国娇小与黑人巨大交| 黑人巨大精品欧美一区二区| 中文字幕 人妻熟女| 97人妻无码免费专区| 久久婷婷综合色一区二区| 日本一级片一区二区三区| 久久99精品久久久久久琪琪| 国产成人无码一区二区在线播放| 97人妻视频妓女网| 国产性一交一乱一伦一色一情| 久久亚洲精精品中文字幕早川悠里| 亚洲av迷人一区二区三区| 激情伊人五月天久久综合| 欧美丰满大屁股ass| 久久精品国产88久久综合| 国产精品视频免费一区二区三区 | 亚洲免费毛片网| 日本在线免费不卡一区二区三区| 国产极品美女高潮无套| 性色av无码中文av有码vr| 久久九九青青国产精品| 亚洲精品女同在线观看| 精品一区二区av天堂色偷偷| 中文字幕欧美人妻精品一区| 午夜福利麻豆国产精品| 成人午夜免费福利| 日本女优久久精品观看| 国产精品久久久久一区二区三区| 四川老熟女下面又黑又肥|