在benchmark_rx中在接收端使用了fft低通濾波器來得到感興趣的頻段,以濾除帶外雜訊,然而機器執行benchmark_rx時總是出現「段錯誤」,究其原因就是使用了通道濾波,當把通道濾波去掉之後執行起來就沒有什麼問題了。然而濾除帶外雜訊也是有必要的,所以對通道濾波部分進行了研究。
在軟體無線電中,通道濾波實際就是低通濾波器,在benchmark_rx中是這樣使用的:在filter.firdes.low_pass()中設定了濾波器的抽頭係數,然後使用fft_filter()實現濾波器。在gnuradio-companion中按照benchmark中的方式進行了試驗,同樣也會出現不能執行的情況。
換一種思路,直接設計低通濾波器low_pass_filter,並使用相同的引數,實驗結果比較理想,與benchmark的效果相差無幾:
最後說一下頻寬的確定。
先補充幾個概念:
資訊速率:rb,單位時間內傳輸的二進位制位元數。單位是位元率,用bit/s表示。
符號率:rs,單位時間內傳輸的調製符號數。用symbol/s表示。
資訊速率和符號率的單位不同,但在二進位制中它們的數值相同。在m 進製調製中,資訊速率rb 和符號率rs 之間關係為:
rb = rs log2m
在gnuradio中還涉及到乙個sample rate,取樣點速率,以公升余弦脈衝成型為例,表示的就是脈衝波形取樣點的速率。與符號速率的關係由samples per symbol決定。
奈奎斯特準則:數字波形在無雜訊線性通道上傳輸時的無失真條件。其中奈奎斯特第一準則是抽樣點無失真準則,或無碼間串擾準則,是關於接收機不產生碼間串擾的接受脈衝形狀問題。對於基帶訊號,要達到無碼間串擾,系統傳輸函式h(f)是單邊頻寬為1/2t的矩形函式,其時域波形為h(t0=sinc(t/t)。
理想奈奎斯特濾波系統的傳輸函式形狀為矩形,其脈衝響應為無限長,顯然在物理上是無法實現的,只能近似。奈奎斯特濾波器的頻率傳輸函式可以表示為矩形函式和任意乙個實偶對稱函式的卷積。奈奎斯特脈衝可以表示為sin(t/t)函式與另乙個時間函式的乘積,其中,常用的是公升余弦成形濾波器。
滾降係數:實際頻寬-理想頻寬/理想頻寬=滾降係數,α的範圍為0.15~0.5。也稱滾降因子,由於理想的濾波器具有矩形響應曲線,而實際上是達不到的,因此利用滾降因子在通帶和阻帶之間產生乙個過渡帶,滾降因子決定該過渡帶的垂直程度,或者說與矩形響應的近似程度。
在無碼間串擾條件下,所需頻寬w與碼間傳輸速率rs的關係為:
w = (1+α)rs/2 α為滾降係數。
當α=0時,就是理想奈奎斯特濾波器,此時的傳輸頻寬是理想奈奎斯特濾波器的最小頻寬。
當α>0時,rs<=2w。
對於帶通調製訊號,例如幅移鍵控ask、頻移鍵控 psk 和正交幅度調製 qam,需要的傳輸頻寬是相應基帶訊號的2倍,那麼所需的雙邊帶頻寬bw 和碼元傳輸速率rs的關係為:
w = (1+α)rs
實驗所使用的調製方式為qpsk,sample rate設定為100k,sps設定為2,滾降因子設定為0.35,所以所需頻寬為(1+0.35)*50e3/2=33.75khz,在實際中可略大於計算值。
TD中的三個通道 物理通道 傳輸通道 邏輯通道
邏輯通道概念與 gsm中邏輯通道的概念完全一樣,按照訊息的類別不同,將業務和信令訊息進行分類,獲得相應的通道稱為邏輯通道,這種通道的定義只是邏輯上人為的定義。傳輸通道對應的是空中介面上不同訊號的基帶處理方式,根據不同的處理方式來描述通道的特性引數,構成了傳輸通道的概念,具體來說,就是訊號的通道編碼 ...
Go 中的通道
從底層實現上來看,通道只是乙個佇列。同步模式下,傳送和接收雙方配對,然後直接複製資料給對方。如配對失敗,則置入等待佇列,直到另一方出現後才會喚醒。非同步模式搶奪的則是資料緩衝槽。傳送方要求有空槽可供寫入,而接收方則要求有緩衝資料可讀。需求不符時,同樣加入等待佇列,直到有另一方寫入資料或騰出空槽後被喚...
Gnuradio中的命名規則和資料型別
gnu radio為資料型別的命名建立一套通用的約定。在gnu radio中定義的特殊資料型別可以在 gr types.h 和 gr complex.h 中找到 這兩個檔案都位於 usr local include 中 這些專門的資料型別的列表如下 這些資料型別不過是內建c 資料型別的新名稱 gr ...