免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

GNU Radio中g(shù)r.hier_block2:層次化信號處理塊原理與實戰(zhàn)指南

GNU Radio中g(shù)r.hier_block2:層次化信號處理塊原理與實戰(zhàn)指南 在GNU Radio里摸爬滾打一段時間后你會發(fā)現(xiàn)一個問題流圖越來越大模塊之間的連線密密麻麻改一個參數(shù)要在好幾處地方來回找換個項目想把上一版的前端鏈路復(fù)用過來除了復(fù)制粘貼就是改錯漏改。這時候就該把目光轉(zhuǎn)向gr.hier_block2了。它是GNU Radio里用來構(gòu)建層次化信號處理塊的核心類作用和函數(shù)封裝差不多——把一組基礎(chǔ)塊組合成一個整體對外只暴露輸入輸出端口內(nèi)部隨便你怎么折騰。這篇文章我從原理、實操到踩坑完整過一遍適合已經(jīng)能跑通簡單流圖、想讓工程結(jié)構(gòu)更清晰的開發(fā)者參考。1. 為什么要在GNU Radio中構(gòu)建層次化塊1.1 從一張大圖到可復(fù)用積木先回憶一下典型的GNU Radio場景。剛開始接觸SDR時隨便一個接收鏈路就是十來個小塊串在一起下變頻、低通濾波、頻譜翻轉(zhuǎn)、同步、解碼……每個塊在GRC里都占據(jù)一塊畫布連接線密密麻麻鋪滿整個工作區(qū)。前期調(diào)試問題不大但項目一多問題全暴露了同一個前端鏈路要在四五個流圖里重復(fù)畫一遍改一個參數(shù)得把所有流圖都打開改一遍整體結(jié)構(gòu)不清晰別人拿到你的grc文件很難快速判斷哪一段是接收前端、哪一段是解調(diào)器想給鏈路做一個統(tǒng)一的增益接口但散落在各個塊的參數(shù)設(shè)置里沒有統(tǒng)一入口。gr.hier_block2就是在這一背景下被經(jīng)常拉出來救場的工具。它可以把你常用的那串塊比如射頻輸入 - 低噪放 - 帶通濾波 - 增益控制 - 基帶輸出全部塞進一個自定義的層次塊里。外部看它就是一個普通的塊有輸入端口、有輸出端口、有參數(shù)配置項。內(nèi)部則可以是一個完整的信號處理子圖。這和軟件工程里的函數(shù)抽象完全是同一個思路。1.2 hier_block2到底解決什么問題具體來說gr.hier_block2的價值體現(xiàn)在三個方面第一是復(fù)用性。一個自定義層次塊可以被多個頂層流程圖引用也可以被另外的層次塊再次包含形成多級嵌套。我在做某個跨平臺信號接收系統(tǒng)時就把自動增益控制直流消除信號功率檢測封裝成一個層次塊然后在調(diào)頻解調(diào)、正交幅度解調(diào)等好幾個分支里直接復(fù)用后端邏輯完全不用關(guān)心前端細節(jié)。第二是可維護性。如果想調(diào)整前端鏈路的濾波器階數(shù)、增益范圍只需要修改層次塊內(nèi)部定義所有引用它的流圖同步生效不需要逐個去改。這個優(yōu)勢在GRC里體現(xiàn)得特別明顯。第三是接口隔離。層次塊對外暴露的端口數(shù)量和數(shù)據(jù)類型是固定的內(nèi)部塊無論怎么調(diào)整只要接口不變外部代碼就不會被影響。這給多人協(xié)作項目省了很多溝通成本。還有一點很多人沒意識到gr.hier_block2幾乎是零性能損失的。GNU Radio在真正運行時會先把包含層次塊的流圖展開成扁平化的流程拓撲也就是說內(nèi)部各個塊仍然是直接首尾相連的層次塊只是一層邏輯上的殼并不產(chǎn)生多余的數(shù)據(jù)拷貝或調(diào)度開銷。這一點讓它比用文件或Socket中轉(zhuǎn)信號的笨辦法靠譜得多。2. gr.hier_block2的底層機制與接口設(shè)計2.1 輸入輸出簽名先搞清楚這個塊長什么樣使用gr.hier_block2時第一步是定義這個層次塊對外暴露幾個輸入、幾個輸出以及每個端口上傳輸?shù)臄?shù)據(jù)類型。這一步通過gr.io_signature完成。from gnuradio import gr gr.io_signature(1, 1, gr.sizeof_gr_complex)這行代碼的意思是該塊的流輸入端口至少1個、最多1個每個樣本是復(fù)數(shù)類型。第一個參數(shù)是min_streams最小流數(shù)量第二個參數(shù)是max_streams最大流數(shù)量第三個參數(shù)是sizeof_stream_item每個采樣占用的字節(jié)數(shù)通常用gr.sizeof_float4字節(jié)浮點、gr.sizeof_gr_complex8字節(jié)復(fù)數(shù)、gr.sizeof_byte1字節(jié)等常量。如果層次塊需要多個不同類型的輸入就要用到gr.io_signaturev它把每個流的字節(jié)數(shù)分別列出來例如一個輸入是復(fù)數(shù)流另一個輸入是浮點控制流寫法是gr.io_signaturev(1, 2, [gr.sizeof_gr_complex, gr.sizeof_float], 1, 1, [gr.sizeof_gr_complex])在繼承g(shù)r.hier_block2時父類構(gòu)造函數(shù)的第二個和第三個參數(shù)就是輸入輸出簽名所以自定義層次塊的骨架是這樣的from gnuradio import gr class my_hier_block(gr.hier_block2): def __init__(self): gr.hier_block2.__init__( self, my_hier_block, gr.io_signature(1, 1, gr.sizeof_gr_complex), gr.io_signature(1, 1, gr.sizeof_gr_complex) )很多時候你會覺得簽名不就是寫幾個數(shù)字嗎不重要。但實際上類型不匹配是GNU Radio里最常見的運行時錯誤之一如果一個層次塊聲明輸入為復(fù)數(shù)但在主流程圖里給它接了浮點信號源流圖運行起來立刻就會報類型錯誤或者出現(xiàn)垃圾數(shù)據(jù)。所以簽名定義要想清楚再動手。2.2 流的連接與端口映射層次塊內(nèi)部連接流圖時self就代表這個層次塊自身同時充當外部輸入端口和外部輸出端口的映射點。self.connect(self, self.some_internal_block) self.connect(self.some_internal_block, self)第一行的含義是把本層次塊的第一個輸入端口接到內(nèi)部塊的輸入上。第二行的含義是把內(nèi)部塊的輸出接到本層次塊的第一個輸出端口上。對這里的connect并不僅僅是連接兩個塊還承擔了端口傳遞的職責(zé)。如果內(nèi)部鏈路有一段中間處理比如輸入 - 濾波A - 濾波B - 輸出代碼自然就是三條連接self.connect(self, self.filter_a) self.connect(self.filter_a, self.filter_b) self.connect(self.filter_b, self)有一個容易搞反的點connect(self, block)里的self必須是數(shù)據(jù)流的方向起點block是終點而connect(block, self)里的self則是終點。用自然語言理解self就是端口墻數(shù)據(jù)流從墻上流進來穿過內(nèi)部管線再從墻上流出去。連接時還有一個隱藏要求內(nèi)部塊的輸入輸出類型必須和簽名一致。比如簽名聲明了復(fù)數(shù)輸入結(jié)果內(nèi)部第一個塊是浮點濾波器fir_filter_fff兩者類型對不上GRC在生成代碼時不一定報錯運行時卻可能直接段錯誤或者什么都收不到。所以我在定義層次塊時通常會在內(nèi)部第一個塊的輸入前加一個類型轉(zhuǎn)換塊比如blocks.complex_to_float把類型問題在內(nèi)部消化掉。2.3 消息端口讓層次塊活起來除了傳統(tǒng)的流端口gr.hier_block2還支持消息端口。流端口適合傳輸連續(xù)信號樣本消息端口則適合傳輸事件、指令或稀疏數(shù)據(jù)比如更新某參數(shù)報告當前狀態(tài)收到一個控制指令。消息端口的注冊方式是from gnuradio import pmt self.message_port_register_in(pmt.intern(cmd)) self.message_port_register_out(pmt.intern(status))然后通過self.msg_connect把消息路徑穿起來self.msg_connect(self, cmd, self.amp, set_msg) self.msg_connect(self.amp, msg, self, status)這里把層次塊的cmd消息端口接到內(nèi)部放大器塊的set_msg端口把內(nèi)部放大器的msg端口接到層次塊的status端口。這樣外部可以發(fā)送pmt消息動態(tài)調(diào)整增益還能收到內(nèi)部返回的狀態(tài)信息。消息端口讓層次塊不再是死板的靜態(tài)管線而是一個可以接受外部控制的組件。3. 動手實操從零構(gòu)建一個自定義層次塊3.1 環(huán)境準備與最小骨架先準備一個可用的GNU Radio開發(fā)環(huán)境常見的版本是3.8、3.10。環(huán)境安裝好以后你可以選擇兩種方式構(gòu)建層次塊一種是直接用Python寫一個類另一種是在GRC里用圖形化方式創(chuàng)建。我推薦兩種都掌握Python方式適合邏輯比較復(fù)雜、需要頻繁修改代碼的場景GRC方式適合快速搭建、給別人看圖理解的場景。先給出一個最小Python骨架from gnuradio import gr from gnuradio import blocks class dc_remover_hier(gr.hier_block2): def __init__(self): gr.hier_block2.__init__( self, dc_remover_hier, gr.io_signature(1, 1, gr.sizeof_gr_complex), gr.io_signature(1, 1, gr.sizeof_gr_complex) ) # 內(nèi)部塊定義 self.dc_blocker blocks.dc_blocker_cc(1024, False) # 連接 self.connect(self, self.dc_blocker) self.connect(self.dc_blocker, self)這個層次塊的功能就一句話去掉復(fù)數(shù)信號里的直流分量。外部看起來它就是一個直流消除器內(nèi)部用到了dc_blocker_cc。把這個類放在某個Python文件里其他流圖里直接import然后實例化即可。3.2 例一單輸入單輸出的信號調(diào)理塊早些時候做某圖像處理Demo的射頻前端模擬時我需要反復(fù)在多個測試流圖里插入直流消除 帶通濾波 自動增益控制鏈路。每次復(fù)制粘貼這些塊參數(shù)還容易串。后來我干脆寫了一個信號調(diào)理層次塊from gnuradio import gr from gnuradio import blocks, filter class analog_frontend_hier(gr.hier_block2): def __init__(self, samp_rate2e6, center_freq100e3, low_cut90e3, high_cut110e3, gain2.0): gr.hier_block2.__init__( self, analog_frontend_hier, gr.io_signature(1, 1, gr.sizeof_gr_complex), gr.io_signature(1, 1, gr.sizeof_gr_complex) ) # 直流消除 self.dc_blocker blocks.dc_blocker_cc(1024, False) # 帶通濾波器使用firdes設(shè)計線性相位FIR濾波器 taps filter.firdes.band_pass(1.0, samp_rate, low_cut, high_cut, int(samp_rate / 1000), filter.firdes.WIN_HAMMING) self.band_pass filter.fir_filter_ccf(1, taps) # 增益控制 self.amp blocks.multiply_const_cc(gain) # 內(nèi)部鏈路 self.connect(self, self.dc_blocker) self.connect(self.dc_blocker, self.band_pass) self.connect(self.band_pass, self.amp) self.connect(self.amp, self)這個層次塊把三個常用處理單元串在了一起對外就是一個模擬前端盒。構(gòu)造參數(shù)low_cut、high_cut、gain成為了這個盒子的配置項外部想用不同帶寬、不同增益直接改參數(shù)而不用關(guān)心內(nèi)部濾波器系數(shù)是怎么設(shè)計的。這里有個細節(jié)filter.firdes.band_pass返回的是浮點濾波器系數(shù)然后用fir_filter_ccf這個復(fù)數(shù)輸入、浮點系數(shù)、復(fù)數(shù)輸出的濾波器去執(zhí)行。如果寫成fir_filter_fff參數(shù)就對不上了流圖會直接報類型錯誤。3.3 例二帶參數(shù)動態(tài)更新的濾波器鏈上面的層次塊參數(shù)是在初始化時固定的如果想運行時動態(tài)調(diào)整帶寬或者增益需要在層次塊里顯式暴露setter方法。這不是gr.hier_block2自動提供的功能很多人在這里踩坑——初始化好之后外部想改層次塊內(nèi)部某個塊的參數(shù)結(jié)果發(fā)現(xiàn)沒法直接操作。正確做法是在自定義類里加方法def set_gain(self, gain): self.amp.set_k(gain) def set_bandwidth(self, low_cut, high_cut): taps filter.firdes.band_pass(1.0, self.samp_rate, low_cut, high_cut, int(self.samp_rate / 1000), filter.firdes.WIN_HAMMING) self.band_pass.set_taps(taps)multiply_const_cc有一個set_k方法可以修改增益fir_filter_ccf有set_taps方法可以更新濾波器系數(shù)。把這些方法放在層次塊里外部就能像操作一個普通變量一樣控制整個鏈路的特性。這里需要注意動態(tài)改濾波器系數(shù)一般建議重新設(shè)計一組新的taps后一次性設(shè)置而不是逐點修改否則會產(chǎn)生幅度抖動這在信號處理上是個常見的經(jīng)驗。3.4 例三多輸入多輸出與消息控制只看單輸入單輸出還體現(xiàn)不出層次塊的全部威力。實際通信系統(tǒng)里經(jīng)常需要兩個輸入合成一個輸出比如一個簡單的混頻測試鏈路本振信號和待調(diào)信號同時輸入內(nèi)部相乘后輸出。class mixer_hier(gr.hier_block2): def __init__(self): gr.hier_block2.__init__( self, mixer_hier, gr.io_signaturev(2, 2, [gr.sizeof_gr_complex, gr.sizeof_gr_complex]), gr.io_signature(1, 1, gr.sizeof_gr_complex) ) self.mixer blocks.multiply_cc() # 端口0和端口1分別連到乘法器的兩個輸入 self.connect((self, 0), (self.mixer, 0)) self.connect((self, 1), (self.mixer, 1)) self.connect(self.mixer, self)注意到關(guān)鍵字connect((self, 0), ...)。當層次塊有多個輸入端口時必須在self后面帶上端口序號(self, 0)表示第0個輸入(self, 1)表示第1個輸入。同理輸出側(cè)多端口時也用(self, n)這種寫法。這個語法在單輸入情況下可以省略但多端口時一旦漏掉序號GNU Radio默認連到的是第0號端口很容易產(chǎn)生明明有兩個輸入但第二個輸入沒接上的怪現(xiàn)象。如果你希望層次塊同時支持流控制和消息控制可以把前面提到的消息端口注冊也加進來。這樣這個混頻器不但可以實時接受本振信號還可以通過消息指令切換增益或工作狀態(tài)。3.5 在GRC中使用用Python寫好層次塊后在GRC里用起來有兩種方式。第一種是把你的層次塊封裝成GRC模塊。GRC會自動掃描~/.grc_gnuradio和gr-*目錄下的XML定義文件把自定義層次塊顯示在塊庫中。你可以為層次塊寫一個XML描述文件指明名稱、參數(shù)、端口類型然后就能像使用內(nèi)置塊一樣拖拽使用。對大多數(shù)開發(fā)者來說這一步容易卡在XML的格式上我提供一個樸素的示例?xml version1.0? block nameAnalog Frontend Hier/name keyanalog_frontend_hier/key categoryCustom/category importfrom examples.frontend import analog_frontend_hier/import makeanalog_frontend_hier($samp_rate, $center_freq, $low_cut, $high_cut, $gain)/make param nameSamp Rate/name keysamp_rate/key typereal/type /param param nameCenter Freq/name keycenter_freq/key typereal/type /param param nameLow Cut/name keylow_cut/key typereal/type /param param nameHigh Cut/name keyhigh_cut/key typereal/type /param param nameGain/name keygain/key typereal/type /param sink namein/name typecomplex/type /sink source nameout/name typecomplex/type /source /block第二種更輕量如果只是在一個工作區(qū)內(nèi)復(fù)用直接在GRC里框選一組塊右鍵選擇Create Hier BlockGRC會自動把選中的塊折疊成一個層次塊并讓你定義外部端口。這個功能在處理一次性的試驗流圖時非常好用省去手寫XML的繁瑣。要注意的是GRC生成的層次塊通常并存兩個文件一個.grc圖形文件和一個.py實現(xiàn)文件。圖形文件負責(zé)描述內(nèi)部結(jié)構(gòu)Python文件才是真正被主流程import執(zhí)行的。如果直接編輯Python文件一定要保證和GRC里看到的圖一致否則容易張冠李戴。4. 常見錯誤排查與技巧實錄4.1 錯誤速查表我把這幾年在gr.hier_block2上踩過的坑按癥狀和原因整理成一張表遇到問題直接對著排查癥狀常見原因解決辦法運行時提示輸入輸出端口數(shù)量不匹配io_signature或io_signaturev參數(shù)寫錯核對min_streams和max_streams以及每個流的數(shù)據(jù)類型字節(jié)數(shù)連接時報錯IO signature mismatchconnect時把不同數(shù)據(jù)類型的塊連在一起在內(nèi)部加blocks.float_to_complex或complex_to_float做類型轉(zhuǎn)換流圖運行后輸出端口沒有數(shù)據(jù)內(nèi)部鏈路沒有連接self輸出數(shù)據(jù)終止在內(nèi)部某個sink檢查是否有connect(internal_block, self)這條路徑消息發(fā)了但內(nèi)部塊不響應(yīng)消息端口名稱不一致比如set_msg寫成setmsg用pmt.intern統(tǒng)一名稱并在GRC里核對端口名多次實例化層次塊后參數(shù)互相污染在類里定義了共享可變對象如列表、字典把所有可變狀態(tài)放到__init__里用實例變量承載不要用類變量層次塊里有file_sink導(dǎo)致后續(xù)塊收不到數(shù)據(jù)數(shù)據(jù)流被sink消耗但沒有加一個分支到輸出如果需要同時記錄數(shù)據(jù)并輸出要用blocks.tee把數(shù)據(jù)分流動態(tài)改參數(shù)無效層次塊沒有暴露setter方法或方法名拼寫錯誤在層次塊里顯式定義set_xxx方法調(diào)用內(nèi)部塊的對應(yīng)方法4.2 排查思路與調(diào)試技巧排查層次塊問題時我一般遵循先類型、再拓撲、再數(shù)據(jù)的順序。先類型確認外部端口的輸入輸出類型與內(nèi)部鏈路首尾塊的類型完全匹配。這一步出錯最快暴露但也是新人最常犯的。我的習(xí)慣是在動手寫connect之前先把鏈條中每一個塊的數(shù)據(jù)類型寫下來像列方程一樣把類型流理一遍complex - dc_blocker_cc(complex) - fir_filter_ccf(complex) - multiply_const_cc(complex) - complex輸出。這樣類型鏈完全一致再寫連接代碼就很少出錯。再拓撲在GRC里把層次塊展開查看內(nèi)部圖檢查是否存在懸空的輸出端點。很多時候數(shù)據(jù)看起來沒信號是因為內(nèi)部某個塊雖然接了輸入但它的輸出并沒有繼續(xù)連接到self輸出端口這個塊實際上成了信號黑洞。如果你輸出端口數(shù)量多建議逐個端口追蹤看它的來源是否有完整的鏈路。最后看數(shù)據(jù)在層次塊內(nèi)部臨時插入blocks.vector_sink_c或blocks.probe_signal_c來觀察中間結(jié)果。不要迷信肯定沒問題先用數(shù)據(jù)確認每一級輸出是否正常再判斷是哪一級出了問題。調(diào)試完后記得移除這些探測塊否則會引入不必要的計算開銷。4.3 幾個值得注意的實踐細節(jié)構(gòu)造函數(shù)調(diào)用順序不能亂。Python里gr.hier_block2.__init__要先執(zhí)行把流圖骨架初始化好然后才能connect。如果你在父類初始化之前就創(chuàng)建內(nèi)部塊并嘗試連接運行時會出現(xiàn)訪問空指針的致命錯誤。這一點和普通Python類的習(xí)慣不一致寫的時候要刻意注意。self就是端口別重復(fù)實例化。有些新手會把層次塊自己再實例化一次或者嘗試在內(nèi)部connect到外部實例導(dǎo)致循環(huán)引用。記住層次塊內(nèi)部使用的自我引用就是self對象本身不需要再新建一個同類的實例。關(guān)于消息端口名稱大小寫。pmt.intern(Set_Gain)和pmt.intern(set_gain)是兩個完全不同的端口。GRC中顯示的端口名和代碼中的字符串必須一字不差否則消息連接在運行時是靜默失敗的既不給提示也不工作排查起來很浪費時間。層次塊內(nèi)部不要放頂層控制塊。比如blocks.udp_sink、qtgui這類可視化或網(wǎng)絡(luò)塊放進來會造成層次塊難以復(fù)用。屬于外部副作用的塊應(yīng)該留在頂層流圖層次塊保持純粹的數(shù)據(jù)處理職責(zé)這樣測試時才不會動不動彈出圖形界面。5. 更深一層層次塊的性能優(yōu)化與協(xié)作實踐5.1 運行時展開機制對性能的影響前面提到gr.hier_block2在運行時會被展開成扁平化流圖。機制上GNU Radio先將層次塊內(nèi)部的所有塊拆出來重新建立端口映射關(guān)系再統(tǒng)一交給調(diào)度器。所以理論上只要內(nèi)部不引入多余的塊層次化的結(jié)構(gòu)不會帶來性能懲罰。但多余要小心。一個常見行為是為了讓層次塊看起來清晰隨手在內(nèi)部加入blocks.keep_one_in_n、blocks.throttle這類采樣率控制塊結(jié)果整個處理鏈路的吞吐量反而被它們限制住了。特別是throttle它本意是在仿真環(huán)境中限制流速防止CPU跑滿如果放到層次塊里這個限制會傳播到所有使用該層次塊的流圖導(dǎo)致真實測試時性能下降。我的建議是層次塊內(nèi)部只保留必要的信號處理塊所有仿真限速功能放在頂層流圖。還有一個容易被忽略的細節(jié)層次塊內(nèi)部的調(diào)度粒度。GNU Radio調(diào)度器是按塊調(diào)度的扁平化之后內(nèi)部每個塊依舊是獨立的調(diào)度單元。一個層次塊里有幾十個小塊拓撲過深可能帶來調(diào)度上下文切換開銷。雖然大多數(shù)情況下不明顯但在追求極端實時性比如處理幾百MHz采樣率時可以考慮把緊耦合的處理合并到一個OOT C塊中。這也是一種合理的優(yōu)化策略不是說有了層次塊就非要層層嵌套。5.2 在團隊協(xié)作中使用層次塊做過多項目復(fù)用之后我認為gr.hier_block2最大的隱藏價值是給團隊建立了一塊公共地基。當多個開發(fā)者都在維護各自的信號處理鏈路時如果沒有統(tǒng)一的層次塊抽象A寫的濾波參數(shù)和B寫的濾波參數(shù)很難對齊有了公共層次塊接口一旦凍結(jié)內(nèi)部實現(xiàn)誰變動都只影響內(nèi)部。我在參與某跨平臺系統(tǒng)的仿真部分時團隊把信道編碼、數(shù)字調(diào)制、成形濾波封裝為發(fā)送端層次塊把匹配濾波、定時同步、均衡封裝為接收端層次塊。測試不同調(diào)制方案時只需要替換其中一個層次塊后端誤碼率評估完全不變。這個方案的缺點是如果層次塊接口設(shè)計得不好比如端口類型定義過細非要單獨為某個調(diào)制方式開端口復(fù)用范圍就會很窄。接口設(shè)計的另一個經(jīng)驗是盡可能使用復(fù)數(shù)基帶信號作為層次塊統(tǒng)一接口而不是暴露I/Q兩路單獨的浮點端口。復(fù)數(shù)接口表示這里是一個完整的復(fù)信號后續(xù)接入濾波器、混頻器、解調(diào)器都更方便強行拆分I/Q會讓層次塊的使用者被迫處理兩路信號的同步問題。5.3 與嵌入式Python塊的選型建議gr.hier_block2經(jīng)常和另一種自定義塊概念混淆即gr.embedded_python_block。我在實際項目里的選型經(jīng)驗是如果要做的事情是組合已有塊比如把官方提供的濾波器、放大器、信號源按順序連起來使用gr.hier_block2因為它沒有work函數(shù)不需要自己維護采樣數(shù)據(jù)的輸入輸出循環(huán)代碼量小、不易出錯。如果要做的事情是實現(xiàn)一個全新算法比如自己寫一個符號定時同步器、自定義的調(diào)制映射器使用embedded_python_block或C OOT塊因為這時需要精確控制每個采樣如何處理需要重寫work方法。兩者還可以混用在gr.hier_block2內(nèi)部可以包含一個embedded_python_block實現(xiàn)既有自定義算法、又有現(xiàn)成塊組合的鏈路。比如在一個接收層次塊內(nèi)部先用官方低通濾波再接入自己寫的判決器Python塊是完全可以的。一點個人體會代碼寫多了會發(fā)現(xiàn)工具本身并不復(fù)雜真正塑造工程質(zhì)量的是你對結(jié)構(gòu)邊界的感知。gr.hier_block2提供的就是這樣一種能力把信號流變成信號組件讓復(fù)雜的系統(tǒng)可以被分而治之。我至今還記得第一次把一組散落的塊折疊成一個層次塊時整個GRC畫布瞬間干凈了那種清爽感確實很值。如果你剛開始嘗試建議從小處入手先挑一個你重復(fù)畫過三次的鏈路把它封裝成層次塊在流圖里替換掉原來的散塊。然后試著加一兩個setter方法、加一個消息端口把它變成一個可以動態(tài)控制的組件。過程中踩到任何坑都回到這篇文章的排錯表里找找大概率能找到對應(yīng)的解法。GNU Radio的學(xué)習(xí)曲線不算平緩但把層次化這一關(guān)過了后面的工程化之路會順很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩色五月| 亚洲不卡| 激情五月天色色| 狠狠干在线视频| 依人大香蕉在钱1| 亚洲碰碰碰| 26uuu国自产精品| 婷婷五月花.97| 91成人视频| 色婷婷六月激情| 五月激情综合婷婷| 日韩色色色色| 99综合网| 九九热视频在线观看| 婷婷六月激情综合| 狠狠操狠狠干综合| 亚洲精品久久久久久久久久吃药| 色五月丁香六月资源站| 伊人五月综合网| 热99精品视频| 色狠狠图片| 9 99免费视频| 都市激情亚洲| 久热re在线视频| 婷婷五月丁香五月| 99色色网| 婷婷六月色| 婷久久| 国产成人一区二区三区在线观看| 综合激情视频| 国产欧洲欧洲精品久久| 夜夜操天天干| 国产67194| 婷婷五月色惰| 一区二区免费看| 天天干天天射色综合| 国产精品五月丁香| 深爱五月中文字幕| 台湾佬天天日丁香婷婷五月天| 色色是色N一| 亚洲色夜| 6月丁香婷婷| 五月丁香毛片| 色婷婷欧美| 99热99在线精品| 婷婷婷婷午夜| 9久热在线精品| 天堂呦 呦百度搜索-百度搜索| 丁香五月影院| 成片免费观看视频大全| BBWCUCKOLD精品熟妇| 韩国真做片在线观看| 五月天婷婷成人网| 亚洲AV成人在线| 强伦轩人妻一区二区电影| 五月婷婷深深爱| 99色在线视频观看| 国产日韩欧美性生活| 这里只有精品日韩| 天天艹夜夜爽| 思思热精品在线视频| 人人爽人人爽人人爽人人爽| 久久婷婷五月综合色和| 亚洲天堂大香蕉| 天天草天天摸| 开心五月网| 99视频内射三四| 伊人五月天在线| 色噜噜狠狠色综合日日| 亚洲色就是色色色| 色五月偷偷| 欧洲亚洲午夜| 激情五月综合亚洲另类| 激情综合网婷婷五夜| 久久小说网| 国产69精品久久久久999小说| 精品无码久久久久久久久| 色噜噜婷婷| 久久女婷| 91视频精品99| 欧美性猛交 XXXX 乱大交| 欧美一级色| 97人妻超级碰碰碰碰碰| 骚五月婷婷| 色婷婷9| 婷婷五月激情综合| 天天色综合图片| 天天综合 99久久婷婷| 99ri精品视频在线观看| 九九视频在线观看视频6| 色八戒操婷婷| 超碰日韩人妻在线| 色婷婷久久天天性爱| 久久久网站| 日日色五月天| 91超级碰在线视频| 婷婷丁香18| 天堂网色色| 国产成人AV在线播放| 色婷婷五月天亚洲| 久久久久久97| 日本成人内射| 九九热只有这里精品| 性生活久久朋友人妻| 色99网站| 成人精品免费在线观看| 婷婷五月丁香五月丁香| 99久久精品国产色欲| 粉嫩AV久久一区二区三区| 啪啪五月婷婷| 亚洲AAA| 大香蕉欧美在线| 森林影视大全,最好看的2019年视频 | 国产色色在线| 五月丁香综合中文| 丁香av网| 26uuuavcom| 超碰二区| 日韩日比视频| 99热这里只有精品3| 涩涩五月天| 日韩在线观看亚洲| 99精色| 色五月婷婷五月天| 99综合视频一体| 特级片神马电影| 99激情在线| 人妻第九页| 五月丁香久久综合| 五月天丁香综合| 一本到不卡高清DVD| 色色色999| 午夜福利成人AV91| 亚洲婷婷免费| 色婷婷亚洲综合网站| 人妻性操逼中文字幕 国产| www激情婷婷com| 丁香激情五月| 管管補管管紱| A片试看50分钟做受视频| 久久婷婷激情| 99色性爰网络| 精品少妇人妻AV无码专区偷人| 九九AV在线| www.99成人视频| 第四色在线观看| 啪啪色激情五月天| 99国产精品久久久久久久久久久| 日本va欧美va精品发布视频| 色婷婷丁香A片区毛片区女人区| 久色网址| 日本婷婷五月天| 久久婷婷五月综合色奶水99啪| 国产精品视频久久99| 日本人妻伦在线中文字幕| 嫩草AV久久伊人妇女超级A | 丁香五月天之婷婷影院| 色综合中文色综合网| 五月久久丁香| 任你干嘛免费视频播放| 日本久久性| 吊色AV男人的天堂| 精品人妻一区二区三区四区不卡在| 9999热在线免费观看| 热99在线| www久久久| 久久婷婷激情| 天天免费成年人视频| 婷婷激情六月| 九九热视频免费| 日本婷婷色日| 67194成I人在线观看线路1| 开心激情综合| 日本三级大片| 五月丁香婷婷钟和色图| 婷婷五月情| 国产午夜精品一区二区| 99无码精品| 婷婷基地成人五月天| 99久久国产宗和精品1上映| 狠狠狠狠狠狠草| 黑人巨粗进入警花疼哭A片| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888| 99热91| 狠狠操天天日| 欧美人人操| 99久久婷婷国产综合| 少妇激情五月婷婷| 久久大香蕉视频| 色五月婷婷久久| 天天日天天狠狠操| 91操屁股| 国产国产乱老熟女视频网站97| 婷婷深爱五月丁香网| 综合精品啪啪| 亚洲aV写真天天综合网久久| 久热9| 亚洲精品久久久久AV无码| 99爱视频在线免费观看| 99视频35精品视频在线观看| 91九色PORNY肉丝在线| 丁香六月综合激情| 丁香色情五月综合网站| 思思热这里只有精品视频666| 久久er99热精品一区二区| 五月色丁香激情| 蜜乳人妻一区二区三区| 91无码一区人妻A片蜜| 亚洲人人操| 久热这里这里有精品| 性爱激情久久| 99国产精品久久久久久久久久久| 开心婷婷中文字慕| www.com在线操视频免费观看| 91久久精品无码一区二区三区| 丁香月五月天婷婷久久| 狠狠综合久久| 亚洲成人中心| 久久9热综合| 欧洲色色| 九九色影院| 视色综合| 五月天婷婷久久综合| 亚洲视频操| 色五月,com| 亚洲区视频| 99九九精品视频| 久操热线| 亚洲不卡| 超碰在线观看9| 色综合99无码| 婷婷婷婷婷婷婷婷婷婷丁香| 少妇大叫太大太粗太爽了A片| 午夜九九九九九九九九九九九九九| 丁香五月天亚洲综合| 夜夜爽天天爽| 色99网站| 99热这里只| 久久九九国产精品怡红院| 91操操操| 丁香五月网| 婷婷激情肏屄网| 久久亚洲无码| 91热视频色网站| 久热精品9999| 高清 码 免费看片短视频| 1024成人免费看| 国产乱人偷精品人妻A片| 日本色婷婷| 99热这里只有精品9| 五月婷丁香亚洲| 美女亚洲五月丁香| 久久这里面只有精品视频| 五月天久久婷婷| 久久99综合网| 九九99精品| 欧美在线97| 大香蕉九九| 国产精品色色| 亚洲综合网 665566| 天天爱综合网| 婷婷的99视频网站| 激情五月婷婷网| 91爱操| 五月丁香亭亭操逼| 久久久这里有精品| 亚洲成人网站在线观看| 色播激情五月天| 韩国久久少妇视屏| 五月激情站| 超碰在线综合| 97色色色色色| 99热在线观看| 五月婷久草| 日韩性爱无码| 日韩999| wwwss在线观看| 99热在线观看| 丁香五月婷婷综合91| 五月丁香综合久久夜夜| 色五月色五天色情网| 丁香九月综合| 99高级会所久久| 深爱激情网噜噜色| 9久热免费视频99| 久热大香蕉| 五月天色婷婷综合| 色婷婷影视99| 99热这里是精品| 色丁香五月婷婷婷| 色婷视频| 中文字幕在线观看视频www| 亚洲日日日| 亚洲激情网| 日韩黄色中文字幕| 亚洲成人超碰| 婷婷丁香一月| 香蕉视频91| 狠狠色综合网| 国产91在线视频| 久久92| 人人干天天操五月丁香| 九九色精品| 午夜丁香六月婷| 性天天中文网| 五月丁香综合啪啪| 91视频久久久| 婷婷开心综合人妻小说网址| 色综合大香蕉| 激情综合网婷婷五夜| 久七香蕉| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 婷婷欠久少妇| 99操| 五月婷婷六月色| 婷婷色中文字幕| 亚洲丁香婷婷| 丁香五月色播中文在线播放| 夜夜资源站| 熟妇人妻中文字幕无码老熟妇| 超碰在线观看成人视| 色频玖玖五月天| 狠狠搞亚洲| 激情av| 欧美日本另类| 久久五月天激情| 五月丁香婷中文| 久久er99| 第九色区AV在线| 国产99热| 色婷婷亚洲| 久9草在线观看视频| 亚洲国产精品成人免费一区久久久在线观看AAAA | 婷婷的99视频网站| 婷婷综合av| 狠狠久久婷五月综合色| 狠狠操狠狠操AV| 91精品啪| 久久久久人妻网址| www,久久久人人| 六月婷婷色五月| 久久综合爱| 91窝窝| 丁香婷婷色五月天| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 91丨九色丨大屁股| 九九热中文| 九九婷婷五月天| 久久五月婷综合| 五月天丁香啪啪综合| 丁香五月婷婷AV| 欧美操我| 九九成人视频| 久久激情天堂| 五月婷婷啪啪啪| 欧美婷婷精品激| 丁香五月网在线观看| 99在线免费观看| 久久网站免费亚洲| 六月婷婷综合| 东北婷婷五月天| 狠狠精品干练久久久无码中文字幕 | 26uuu色噜噜精品一区| 亚洲成人在线播放| 日本操B视频| 日本婷婷丁香五月| 五月婷A V在线| 五月天综合区| 久久婷婷五月综合色和| 丁香六月欧美| 性爱网五月天| 另类图片五月天| 婷婷国产综合| 狠狠色综合五月人人| 婷婷成人丁香色情基地30| 成人无码髙潮喷水A片| 这里只有精品日韩精品| 亚洲性爱AV在线| 可以直接看的AV网站| 伊人丁香在线| 色偷偷五月天| ay2区| 99热综合| 夜丁香综合| 久久午夜丁香| 人人摸人人| 秋霞网在线观看理论91| 97超碰在线观看免费| 丁香六月天| 色婷婷综合网站| 色综合五月天| 欧美操逼天堂| 欧美性爱五月天| 五月婷婷无码专区| 91porn一起草| 精品夜夜澡人妻无码AV| 精品成人a v无码内射| 三区激情四射av| 国产色视频网站2| 亚洲啪啪网| 色天天综合天天综合频道。| 久久33视频| 99高级会所久久| 精品久久穴| 99热伊人| 97色碰| 久久五月婷| 亚洲精品久久久久AV无码| 欧美人人操| 另类视频在线| 婷婷激情小说| 色综合久久88色综合天天人守婷| 2021日韩无码| 欧美成人AAA片一区国产精品| 久久66成人网站| 情色五月天网站| 日日做A爰片久久毛片A片英语| 午夜激情五月天| 欧洲毛片基地c区| 在线观看免费人成视频无码| 狠狠人妻色综合| 色婷五月天亚洲| 久草五月天| 大地资源色婷婷视频在线| 久久婷婷综合五月趴| 金桔一区二区ab地址| 97色碰碰公开视频| 欧美性生交XXXXX无码小说| 五月天综合视频网| 人人干Av| 亚州激情在线视频| 大香蕉五月丁香| 国产成人综合电影| 色优久久| 欧美色频| 丁香五月婷婷超碰在线| 五月天激情网图片| 这里只有久久精99| 色婷婷a三区麻| 99热网站| 热中文字幕| 五月香蕉婷婷| 亚洲热久| 色婷婷另类| 鲁鲁色五月| 日韩aaaaa| 国产无人区大片| 丁香六月婷婷姐网| 9久热这里只有精品| 婷婷亚洲日本| 成人片在线播放| 天天色综| h亚洲| 亚洲视频码| 日韩性爱AV| 婷婷五月婷婷| 狠狠操天天干| 婷婷五月在线视频| 国产精品久久欧美久久一区| 超碰碰碰碰| 色情综合网| 久久玖玖综合| 超碰成人av| 婷婷五月激情图片| 婷婷六月色开| 五月丁香六月婷婷综合网站| 天天插综合| 色五月影视| 五月综合色播播丁香婷婷| 这里只有精品在线播放| 伊人狠狠干| 亚洲另类久久| 夜夜夜夜夜操| 在线观看av网站| 亚洲色图五月丁香| 五月婷婷丁香在线| 丁香激情五月| 婷婷五月天久草在线| 成人做爰黄A片免费看直播室男男| 熟女人妻一区二区三区免费看| 日日夜夜狠狠| 激情婷婷丁香| 97碰碰碰| 在线观看熟女少妇| 五月丁香婷婷成人伊人网| 五月天婷婷丁香蜜桃91| 亚洲色激情| 丁香六月婷婷综合缴| 久久色亭亭五月天| 五月丁香啪啪网| 专区无日本视频高清8| 精品国产一区二区三区四区阿崩 | 久久婷婷免费| 色人久夂| 婷婷另类开心| 人妻久久久久久久| 玖玖热视频| 强辱丰满人妻HD中文字幕| 97啪在线观看视频| 五月天婷婷免费| 久久久妻人人人| 涩涩网五月天| 久久网日本| 欧美性做爰大片免费看办公室 | 色天堂操| 26uuu四色| www.26uuu.com亚洲电影| 色婷婷久久综合久色综| 天天插天天爽| 伊人青涩网| 成人版视频在线观看| 开心深爱五月天| 丁香五月六月婷婷殴美综合| 26uuu| 99爱在线| 青青草a在线| 久久这里只有国产视频| 久99视频| 久99精品视频| 婷婷五六日| 噜噜视频| 婷婷丁香九色| 五月丁香六月综合情在线观看 | 色五月丁香五月五月婷婷| 黄色激情五月天| 五月天婷婷丁香| tingtingseav| 五月天婷婷在线观看精品男人| 99热首页| 九月激情婷婷丁香| 在线区区区| 五月丁香六月激情综合| 欧美黄色一级录像| 色婷婷五月天亚洲| 久久大香蕉同僚| 久久五月婷综合| 成人日韩欧美| 玖玖色综合网| 任你日热视频| 91精品综合久久久久久五月丁香 | 亚洲欧洲国产精品| 狠狠色综合网站久久久久| 婷婷色婷婷| 99热欧美偷拍| 丁香六月婷婷综合欧美| 婷婷97色| 天天舔天天| 99爱视频在线观看| 丁香花色色网| 久操综合| 91人人操.COM| 免费AV在线| 婷婷狠狠香蕉综合| 激情网综合| 国产FREESEXVIDEOS性中国| 夜夜 操无码| 丁香婷婷情色五月天| 久久久久9久无码视频| 五月天激情综合首页| 99久在线精品| 亚洲操逼网| 97人凄人人操人人爽| 五月丁了香蕉综合| 婷婷五月免费视频| 99色久| 婷婷天天婷婷天天澡| 丁香六月婷婷操逼网| 狠狠色丁香婷婷基地| 九九综合色| WWW,色五月| 婷婷俺去也| 亚洲婷婷在线播放十月| 任你爽视频| 另类色视频| 久久久人妻| 婷婷六月丁香开心深深爱| 激情五月天在线视频| 久久精品99| 伊人五月天| 开心丁五月| 亚洲亚洲人成综合网络| 99久久99热这里只有精品| 9久热精品在线视频| 26uuuu精品一区二区| 少妇水多A片太爽了| 五月婷婷开心色伊人| www.97视频| 婷婷激情丁香六月| 婷婷色五月天色| 99在线视频资源| 五月婷婷久久久| 狠狠做婷婷| 五月婷婷开心色伊人| 超碰在线网站9| 久久五月综合| 色五月综合在线| 色爱亚洲| 这里只有精品9| 亚洲AV无码成人精品电影| 日韩综合久| 色九九综合| 欧美性生交XXXXX无码小说| 五月婷AV| 日本久热| 国产婷伊人| 五月婷婷激情综合av| 99操中文视频| 激情五月天久久| 99久久这里只有精品| 丁香六月久久| 99色综合久久| 亚洲无码播放| 丁香五月天精品| 免费播放AV| 99热国产精品| 26uuu亚洲欧美| 婷婷免费无马| 日本在线观看99| 久久婷婷五月综合激情国产| 色五月丁香激情| 丁香五月激情综合婷综| 国产69久久久欧美黑人A片| 五月天最新网| 激情五月天之六月婷婷| 黄色片精品| 日比网免费国产| 伊人狠狠丁香婷婷综合尤物| 五月婷六月丁香| 精品成人久久久久久久_一二三四视| 极品少妇XXXX精品少妇偷拍| 婷婷五月天丁香社区| 很很干在线视频| 五月婷色色| 啪啪视频99| 色色色com| 久久激情五月婷婷| 另类小说婷婷色| 婷婷操逼| 影音先锋偷偷色男人站| 婷婷五月激情黄色| 色婷婷电影网| 99热18| 欧美中文五月天| 色婷婷综合五月| 婷婷五月天av| 大香蕉狼人久久| 婷婷字幕在线| 成人无码髙潮喷水A片| 97碰在线视频| 丁香五月欧美色综合| 成人五月天视频播放| 五月色婷婷综合色| 色婷婷av在线观看| 久9精品视频| 久久久五月婷婷| 九九视频这里是精品五月| WWW99热| 91干在线视频| WWW色色色COM| 自拍盗摄 另类| 激情小说五月天中文字幕| 免费AV播放| 久久久久亚洲AV成人无码电影| 日韩精品99久久| 1024在线观看免费视频| 91制片厂久久久国产电影| 五月丁香六月激情| 丁香五月综合| 丁香九月激情| 色墦五月丁香| 免费做A爰片77777| 免费视频WWW在线观看网站| 色色婷婷丁香| 国精产品一区一区三区免费视频 | 五月丁了香蕉综合| 伊人大蕉香| 免费V片在线| 丁香婷婷久久综合在线| 一级性爱大片| 激情四射婷婷色色色| 9久热在线精品| www.久久99精品| 婷婷的五月天另类视频| 欧美三级视频| 亚洲成人综合网在线免费观看| 91碰人人| 丝袜熟女一区二区三区| 色五月美女| 综合日本婷婷| 性爱七区| 四色永久成人网站| 丁香五月精品视频| 五月天成人伊人| 影音先锋 91工厂| 久久九九在线视频| 五月天综合在线观看| 激情五月天开心| 成人免费在线电影| 五月婷婷天| 色五月婷婷五月天| 亚洲中文字幕AV在线| 久久婷婷青青草| 99成人| 婷婷桃色网| .肏屄视频一区二区| 婷婷丁香视频| 4399在线日本A片| 99视频久久免费视频| 天天日人人| 五月播播| 精品久久久999| 超碰免费人人| aaa久久久| 14色综合婷婷| 深情六月婷婷综合久久| 深爱丁香网| 99国产这里只有精品| 丁香五月婷婷视频| 丁香五月影院| 97日本在线播放| 婷婷无码视频| 五月天伊人日日噜影片AV| 激情欧美五月丁香| 狠狠色丁香| 丁香婷婷AV| 4438激情网| 婷婷5月天av| 色色色色色综合| 97精品综合久久| 超碰免费观看| 婷婷射丁香| www.色窝| 免费观看欧美成人AA片爱我多深 | 高清无码视频网址| 国产又黄又爽又色的免费| 色爱爱综合网| 丁香五月网络网络| 五月天播播| 五月天激情小说网| 丁香五月停停基地| 色小说五月婷婷| 在线观看的av| 91主播在线| 五月色婷婷综合色| 五月天伊人综合| 九九成人电影婷婷| 99黄色在线视频精品熟女| 激情五月综合色婷婷| 五月色影院| 国精产品一区一区三区免费视频| 91精品91久久久中77777久久玖玖九九| 欧美天天综合网站上去吧| 色色国产| 99资源人人| 狠狠久久婷五月综合色| 色五月综合在线| 日韩成人电影av| 天堂婷婷丁香六月网| 久久综合九九| 欧美激情综合色综合啪啪五月| 九九免费在线视频| 国产亚洲精品久久久久久郑州| 丁香婷婷色九月| 日日夜夜久| 思思9久久| 欧美99热| 99色色网| 激情五月天在线观看婷婷| 色五月婷婷九月| 变态另类色图 | 五月丁香六月激情欧美综合| 麻豆精品| 思思热视频在线观看| 丁香花大香蕉婷婷综合| 激情合网婷婷| www.夜夜| 天堂五月婷婷| 日日夜夜干| 日韩草草草草草草草草草草草草| 色婷婷狠狠18禁| 九九久久五月天| 色婷婷先锋| 久久婷网| www.黄色片-久久成人国产精品在线播放-999AV | 无码 色| 99久久久精品| 五月激情久久综合网| 久久九九热38| 四月婷婷丁香| 精品导航在线x不卡| 色五月亚洲开心网| 伊人成综合五月婷婷| 久久久久思思热| 色站9/| 开心网五月色婷婷| 97婷婷狠狠| 无码yw| 一区二区免费看| 亚洲欧洲一二| 激情网五月天| 开心五月婷婷婷美女| 日本美女上人| 五月天婷婷色五月天| 色99在线| 蜜桃五月天色| 性爱五月婷| 夜夜大香蕉婷婷丁香| 久久天堂网| 日本三级日本三级99| 婷婷5月色| 九九色婷婷五月天| 99精品大片| 婷婷午夜精品久久久| 四色99久久| 26uuu欧美亚洲日韩| 在线五月婷| 日本久久性| 五月婷色| 激情综合网激情五月丁香五月俺也去| 婷婷激情社区| 色999亚洲人成色| 国产人妻777人伦精品HD| 这里只有精彩视| 久热伊人9| 久久人妻视频| 久久九九蜜| 成人av在线电影| 久久婷婷五月综合| 79精品视频| 91丨九色丨熟女丰满| 婷婷五月天社区| www.99热精品| 99热亚洲精品| 深爱1激情网| 大香蕉中文| 亚洲V国产V欧美V久久久久久| 色婷婷激情视频| 日韩操逼大片| 99在线精品免费视频| 5月丁香啪啪啪| 丁香六月婷婷综合激情欧美| 成人中文网| 狠狠色成人影片| 丁香五月骚喷水视频| 1024你懂的欧美曰韩| 丁香六月综合激情| 色婷婷狠狠久久综合五月| 色综合久久99色| 亚洲国产精品二二三三区| 在线只有精品| 美女要搞搞天天搞搞搞网站| 免费啪啪亚州视频| 日操夜操天天操不卡| 五月婷婷中文字幕| 啪啪六月婷婷| 五月婷婷激情刺激| 97操碰在线视频| 亚洲成av人影院| 九色91视频| 色性日本| va中文资源在线观看| 91人碰| 九色视频九色九色91jiuseshipin| 九九精品热播| 天天爽免费视频| 欧美情月伍月天| 丁香五月久久社区| 三级毛片视频| 天天色视频| 五月婷婷偷拍| 亚洲最大五月天成人网| 中文久久久人妻| 九色PORNY自拍成人精彩视频| 91在线观看www| 亚洲精品又粗又大又爽A片| 人人摸人人搞| 五月天偷拍| 激情小说视频图片网| 五月婷婷激情69| 亚洲精品色色| 自拍偷窥99热| 亚洲av综合网| 综合网激情| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 9999热精品在线免费播放| 久久曰曰| 狠狠干综合网| 婷婷终合色图| 人妻中文av| 色情五月天导航| 韩国97天堂| 日木WWW视频| 亚洲五月六月婷婷| 成人无码髙潮喷水A片| 婷婷久久久| 亚洲男女激情| 91性高潮久久久久久久久| 色五月天激情| 永久精品| 99久久综合网| 色五月天电影| 亚洲激情综合| 俺去也综合| 97自拍视频在线| 97啪啪| 色色丁香| 99热精品在线播放| 荫道BBWBBB高潮潮喷| 亚洲va成人va成人va在线观看| 人人综合久| 九九aV| 熟女激情五月天| 深爱激情丁香| 99爱视频| 色综啪啪网| 久久码久久无清| 99久久亚洲国产| A1片久久久| 婷婷综合精品| 色之综合网| 色欲日日躁| av五月天婷婷丁香| 婷婷五月天AV在线| 成人欧美日韩| 99热精品免费| 精品夜夜澡人妻无码AV| 99年操人人爽| 极品五月天| 蜜桃婷婷狠狠久久综合| 色日本综合| 丁香五月影视| 婷婷五月激情的图片| 亚洲综合视频天天精品| 这里只精品| 激情五月色综合| 可以看的av| 99热这里只有精品99| 丁香五月 性爱| 久久久人妻久久久| 一本久久亚洲五月婷婷| 思思热久久爱| 色婷五月天| 高清一区二区三区日本久| 伊人喵咪a V| 五月婷中文字幕| 狠狠人人| 精品99在线| 九九aV| 日韩小视频在线99| 狠狠爱婷婷| 久热这里只有精品在线观看 | 免费播放99性爱视频| 色婷婷狠狠| 久久婷婷五月天| 大香蕉视频婷婷| 啪啪综合网| 婷婷精品综合| 丁香五月电影| 玖色色综合| 久鲁鲁色网| 97碰碰视频在线观看| 色插综合网| 99成人| 91 影音先锋| 丁香婷婷婷五月综合色情| 丁香六月亚洲| 日本久热| 玖玖91| 99免费热在线精品| 中文在线视频久1| 99热在线播放| 日韩综合网络男女香蕉a片| 婷婷五月天激情在线观看| 色婷婷六月天| 丁香婷婷婷| 日日干日日s| 色色色9| 日韩无码性爱| www.激情五月天com| 国产一级片| 亚洲色图81p| 亚洲夜夜操| 狠狠色婷婷7777久| 97精品在线| 五月丁香婷婷成人综合网| 99re6在线视频精品免费| 在线视频你懂得| 五月丁香六月婷婷国产视频| 99热99艹在线观看| 97操在线视频| 午夜亚洲国产精品av一区二区| 丁香花五月天社区| 日韩av干| 少妇人妻丰满做爰XXX| 五月丁香999| 免费啪啪亚州视频| 99视频91| 六月丁AV| 热久91| 丁香五月在线视频黑人| 天天爽天天| 第四色色六月色综合| 亚洲AV网址| 4399在线观看免费高清黄色视频| 五月色导航| 全部老头和老太XXXXX| 97色色-99久久| 婷婷五月天黄色| 人人摸人人干| 丁香五月天无码AV| 99九九在线观看免费| 亚洲熟女乱色综合亚洲网站| 婷婷色正月| 操操熟女| 五月狠狠| 久久久27操| 亚洲AV综合网| 99久久久99久久91熟女| 色婷婷亚洲| 五月丁香婷婷色| 9久视频| 99在线精品观看99| 免费亚洲婷婷| 99色色热| 亚洲国产精品SUV| 亚洲婷婷婷| 久草婷婷网 | 亚洲九九99精品视频在线播放| 国自产拍偷拍精品啪啪一区二区| sewuyuejiqingwang| 亚洲视频一区| 婷婷五月天干干| 婷婷玖玖丁香| 婷婷爱五月| 人人摸人人操人人爽| 婷婷五月天黄色| 久鲁鲁色网| 日本操天堂| 色婷婷色人人射| 丁香九月综合在线| 亚洲第一黄网| 久久永久网址| 亚洲中文字幕AV在线| 天天五月天综合网址| 国产精品国产| 色综合婷婷| 亚洲五月综合色播| 久久久九九九 99| 色丁香五月婷婷| 人妻久久做| 五月丁香六月停停停| 影音先锋91| 亚洲一个色| 九九精品免费视频99| 色爱99| 伊人超碰在线| 日夜操B| 五月婷婷五月丁香综合| 日本91在线播放| 另类激情五月| 久久在线视频只有这里有精品| 亚洲啪| 丁香五月婷婷啪啪啪| 99热热九九| www,99色| 另类视频五月天| 丁香五月天日韩无码| 天天色噜| 丁香六月婷婷综合激情欧美| 九色综合五月天婷五月| 婷婷五月天AV在线| 亚洲五月婷天天操| 国产永久一黄| 伊人激情| 婷婷丁香五月综合| 色欲婷婷夜夜| 日韩黄色电影| 日韩成人精品中文字幕电影| www.天天日| 色婷婷丁香五月高清在线| 九九色区| 丁香五月天视频| 开心五月天激情网| 色小说婷婷五月天天天| 97人妻碰碰碰碰碰久久久久久| 色色五月天婷婷| 9热精品| 色色aⅤ網| 婷婷在线精品| 亚洲精品成人片在线播| 狠狠爱综合网| 精品久久9| 色播五月| 五月深爱婷婷| 婷婷大香蕉| 91色吧网| 丁香六月天婷婷色| 五月综合色| 香蕉国产2013| 色色cOm| 99人这里只有精品| 亚洲va成人va成人va在线观看| 五月情色天| 麻豆123区| 中文字幕AV在线播放| 亚洲mm免费| 禁欲电影完整版在线播放| 久久9精品| 精品亚洲VA网站| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 丁香狠狠| 久久停停超碰| 97干在线播放| 婷婷激情啪啪| 亚洲午夜在线视频| 99热亚洲| 久草五月| 久久久99视频| 成人免费高清在线播放| 亚亚州久久高潮| 四色女婷婷| 六月丁香五月亭亭| 婷婷黄色五月天在线视频| 97人人操人人爽| 久草天堂| 五月色网| 成人欧美日韩| 激情床戏| 99久.| 欧美性久| 久久五月天色婷婷| 六月丁香停| 婷婷五月欧美| 久大香蕉| 激情中文在线| 91九色中文字幕女在线观看| 丁香五月亚洲| 思思re99视频在线观看| 丁香五月六月婷婷怡红院| 国产99视频永久免费| 91视屏在线观看com.wwwvv| 激情婷婷色小说| 99超级碰免费视频| 九九久久精品| 丁香五月综合激情久久潮喷| 国产亚洲色婷婷久久99精品91| 丁香五月性| 国庆精品久久| 综合激情啪啪| 五月丁香成人| www.亭亭五月天| 日日操天天| 久色激情| 六月 丁香 视频| 99热精品在线| 婷婷丁香五月亚洲欧美| 亚洲中字AV电影在线网站| 99在线精品免费视频| 春色激情| 99热 在线播放| 97人妻碰碰碰碰碰久久久久久| 激情久久丁香| 成人电影一区| 天天射影院| 五月天激情小说| 六月成人网| 9色免费网| 丁香五月婷婷99| 天天色播| 色婷婷最爱五月| 蜜臀av在线成人电影| 99爱视频在线| 九九Av| 久久99视频| 久久久婷| 草久私拍| 国产成人+综合亚洲+天堂| 色噜噜狠狠色综| 中文字幕日韩无码制服诱或| 99亚州综合精品成人网| 五月丁香久人妻中文| 97人妻碰碰中文无码久热丝袜| 青青草婷婷五月天| 久久宗合影| 丁香综合婷婷开心激情网| 婷婷五月天手机版视频| 日本在线99| 欧美在线视频99| 久久曰9| 久久五月综合| 热99只有精品| 五月婷婷在线观看黄| 99性爱| 日韩 mm 不卡| 激情综合啪啪| 五月丁香基地| 久久只有18视频| 亚洲视频在线网| 五月婷婷丁香| www.成人婷婷综合| 色情五月婷婷| 国产人妻777人伦精品HD| 国产色网站| 亚洲精品久久久久久久久久吃药| 另类A片| 亚洲乱码日产精品BD| WWW.婷婷五月天.COM| 五月天伊人日日噜影片AV| 超碰97人人操| 99燥99日| 99综合视频在线| 天天日综合| 99久久9| 色婷婷丁香综合中文字幕| 日日肏夜夜干| 99碰碰| 99色.com| 五月婷色啪| 成人AV在线电影| 五月丁香久人妻中文| 99精品在线下载| 婷婷五月色| 婷婷丁香九月| 先锋av性爱成人电影| 天天做天天爱天天爽| 欧美天堂久久| 99免费| 亚洲无AV在线中文字幕| 久久综合激情| 991国产精选视频在线播放下载| 九月丁香很很色| 99精品久久| 丁香五月区| g00d人体西西| 久久五月天色| 极品人妻VIDEOSSS人妻| 九九家庭影院| 婷婷五月丁香基地| 91视频精品99| 亚洲va欧洲va国产va不卡| 婷婷五月丁香亚洲| 色婷婷六月激情| 激情综合五月丁香| 免费婷婷| 五月丁香六月婷婷久久肏| 超碰伊人碰婷婷五月| 五月天激情社区| 少妇高潮A片无套内谢麻豆传| 99亚洲精品视频在线观看| 久热9| 超碰人人操人人干| 79精品视频在线观看,| 色五月激情综合网站| 婷婷在线免费| 狠狠狠狠草草| 日本性激情色播| 婷婷在线中文字幕| 婷婷激情五月综合丁香社| 久久久久久久久久久-久五月天婷婷| 婷婷五月天最新综合你懂的| 久久99视频| 丁香五月综合高清在线| 天天综合网在线| 天天做天天爱高潮片| www.色99| 色欲五月天|