elabradio入門第二講——BPSK數字調制與解調(插值、升余弦濾波、速率匹配、符號同步)

數字信號可以通過數字基帶傳輸系統進行傳輸,而基帶傳輸系統僅僅適用于低頻信道下的數字信號傳輸。然而,在實際的通信系統中信道通常具有帶通特性,因而需要將基帶信號搬移到適合信道傳輸的高頻載波上,使得信號與信道相匹配,這個過程就是數字頻帶調制。

以上是BPSK調制系統的框圖,主要分為以下幾個模塊

1、數字信號源模塊:

功能:產生碼元速率(采樣率)為 32 kHz 的 PN15(偽隨機噪聲) 數字序列。

其中偽隨機噪聲序列的生成常用的技術是使用線性反饋移位寄存器(LFSR)。在 LFSR 中,每個新碼元是基于前面幾個碼元(通常是序列中的最后幾個碼元)通過特定的數學運算(例如異或操作)來生成的。

參數設置:碼元速率:32000 Hz(輸出離散序列碼的速率)。數據緩存大小:1024 個(表示模塊單次運行輸出的數據個數)。

數據緩存:仿真系統采用按塊處理數據的方式,因此信號源模塊必須指定數據緩存大小。本示例中,信號源每次運行會產生 1024 個數據點供后續模塊處理。

2、調制+IQ上變頻模塊:

參數設置:調制方式:BPSK;載波頻率:256 kHz;采樣率:4096 kHz。

基帶信號頻譜圖?

調制和IQ上變頻后的頻譜圖,信號被搬移到了256k左右的頻段

插值的必要性(elabradio中的IQ上變頻模塊自動完成了插值運算)

這里需要注意,我們要想實現上變頻,需要將IQ路的信號分別與載波頻率的正余弦波相乘,而正余弦波屬于是連續的模擬信號,所以我們規定較大的采樣率為4096k盡可能恢復模擬信號,這時轉化為了離散的基帶信號序列和離散的載波信號序列相乘,但是還有一個問題,就是二者要想進行運算,要點一一對應,也就是說如果兩個離散序列的采樣率不一樣則會導致無法計算,因此我們采用插值的方法提高離散的基帶信號序列的采樣率到4096k。

除此之外,如果基帶信號的采樣率過低,則搬移到高頻段之后會導致部分信息丟失,導致信號失真。

3、升余弦滾降濾波器(Root Raised Cosine filter)模塊

對于基帶信號而言,之前的IQ調制和上變頻只是將其搬移到了高頻段,提高了信號的抗干擾能力。但是無法克服信號本身的缺陷。

因為基帶信號往往是頻域的矩形脈沖,在時域上表現為sa函數,眾所周知矩形脈沖最好實現,形式最為簡單,但是它在時域上衰減較慢,且旁瓣較大,會出現拖尾的現象,在抽樣時刻附近可能會受到相鄰碼元拖尾的干擾形成碼間串擾,而且當定時存在偏差時也會出現碼間串擾,除此之外,矩形脈沖頻率截止特性無線陡峭,實際應用中無法實現。

因此,我們嘗試構造一種新型的濾波器,保留以上矩形脈沖的優點,也可以一定程度彌補缺點:

如上圖(b)所示,我們引入了一個雙指數型衰減函數對矩形脈沖進行加權,時域相乘等于頻域卷積,最終得到了H(f)圖像。

?

結合以上圖像可知,其實升余弦滾降濾波器本質上就是通過引入滾降系數α使原來矩形脈沖的邊緣變得平滑,即以擴展信號占用帶寬為代價加快時域衰減,進而減少碼間干擾。

?一般情況下,只需要在特定時刻的信號抽樣值無失真,并不需要整個信號波形都無失真。升余弦濾波器的沖激響應特性可以確保信號在抽樣時刻無失真。這意味著,盡管信號波形在抽樣點之外可能失真,但在接收端的關鍵抽樣點仍能完全恢復原始數據。

說了這么多,我們的升余弦滾降濾波器要加在IQ調制映射之后,先將基帶信號進行成型濾波,再進行上變頻調制。在elabradio中我們使用雙路RRC插值濾波器進行基帶信號的成形濾波。

?

前面也說過,要想兩路離散信號序列相乘,需要保持二者的采樣率相同,因此這里進行升余弦濾波的前提是要對基帶信號進行插值,插值通過增加采樣點,使得信號的采樣頻率達到滿足濾波器帶寬要求的標準。

?通過觀察原始的基帶信號(示波器1)和通過RRC之后的信號(示波器2),可以發現:

未濾波信號:旁瓣分量顯著,頻譜主瓣外有明顯的能量泄露。濾波后信號:旁瓣分量被顯著抑制,頻譜主瓣更為集中,帶寬變窄。

4、IQ下變頻模塊

作用:通過將接收到的信號與本地生成的載波(頻率為 256kHz)相乘,將信號從高頻載波帶回零中頻(基帶信號)。

參數設置:載波頻率:256kHz(與發送端一致,保證信號能夠正確下變頻至基帶)。IQ下變頻模塊的輸出速率和輸入速率一致。

由于下變頻過程中可能存在混疊,信號中含有大量不需要的高頻分量。

首先直觀展示一下混疊(aliasing):

由此可見,時域的采樣引起了頻域的周期復制。采樣時不符合采樣定理會使得時域中某些低頻分量和高頻分量產生混疊,在頻域上的表現就是,一個周期的低頻分量和另一個周期的高頻分量產生了交叉。

?然后來辨析一下采樣頻率Nyquist 頻率?以及?混疊效應(aliasing)

采樣頻率fs必須至少是信號中存在的信號最高頻率fmax的2倍,以便信號能夠被完整準確地重建。

Nyquist 頻率?是采樣頻率的一半,表示信號在不產生混疊效應的情況下,能夠準確采樣的最大頻率。公式為:

?混疊效應(aliasing)【頻率對稱性或者采樣頻率不夠高】當信號中包含的頻率超過了 Nyquist 頻率時,這些高于 fN的頻率成分會被“折疊”回低頻范圍,導致錯誤的頻率成分出現在頻譜中。這個現象被稱為混疊效應。

https://blog.csdn.net/weixin_38345163/article/details/127231347

采樣產生混疊之后,由于混疊的對稱,產生的信號如下圖所示,可以看出這個1v,2.6M,的信號會在奈奎斯特頻率以內的0.4M左右產生混疊信號,所以我們就要通過抗混疊濾波器把這個2.6M的噪聲衰減的足夠低,也就是說我們要把超過奈奎斯特頻率的信號足夠的衰減。?

?

?

?從頻譜圖中可以明顯看見,接收到的信號頻譜中含有大量的高頻分量。這些高頻分量不僅占用帶寬,還會影響后續的基帶信號恢復,因此在解調前必須通過低通濾波器濾除。?

5、雙路FIR低通濾波器模塊:

?

參數設置:采樣頻率(必須與輸入信號的采樣率一致,避免因采樣率不匹配引起的頻譜失真):4096000;濾波階數(決定濾波器的性能和過渡帶寬(階數越高,過渡帶越窄,但計算復雜度越高)):51;截止頻率:32kHz(濾除32kHz基帶信號以外的頻率成分);窗函數類型:Hamming;濾波器輸出放大:1。

未經過雙路FIR低通濾波器
經過雙路FIR低通濾波器

?

濾波后的信號頻譜清晰地顯示,32kHz 以下的基帶信號完整保留,而高頻分量被顯著抑制

6、符號同步模塊:

?

參數設置:符號同步算法類型:Zero-Crossing算法(過零檢測算法,不適用輸入信號幅度都大于0的信號同步);符號采樣點數:128(4096000(輸入采樣率)/32000(目標采樣率)=128);?

? ? ? 通過觀察可以發現,解調映射后信號的采樣率是4096000Hz,而本應該恢復出來的信號應該是32000Hz,因此需要對解調后的信號進行抽取。

? ? ? 此外,在接收數字信號時,為了在準確的判決時刻對接收碼元進行判決,以及對接收碼元能量正確積分,必須得知接收碼元的準確起止時刻。為此,需要獲得接收碼元起止時刻的信息,以此信息產生與接收碼元嚴格同步的時鐘脈沖序列。對于二進制碼元而言,碼元同步又稱為位同步。

對于符號同步主要有兩種方式:

第一種是再解調后加入實數符號同步模塊:

?第二種是先復數符號同步模塊再解調:

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70180.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70180.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70180.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

汽車 OTA 升級:提升下載與升級速度,優化用戶體驗

摘要: 隨著汽車智能化的飛速發展,OTA(Over - the - Air)升級已成為汽車行業的重要技術,它能為車輛持續帶來功能更新與性能優化。然而,下載及升級速度較慢的問題常常影響用戶體驗。本文深入探討在汽車 OTA …

【Spring+MyBatis】留言墻的實現

目錄 1. 添加依賴 2. 配置數據庫 2.1 創建數據庫與數據表 2.2 創建與數據庫對應的實體類 3. 后端代碼 3.1 目錄結構 3.2 MessageController類 3.3 MessageService類 3.4 MessageMapper接口 4. 前端代碼 5. 單元測試 5.1 后端接口測試 5.2 使用前端頁面測試 在Spri…

SQLite Select 語句詳解

SQLite Select 語句詳解 SQLite 是一個輕量級的數據庫管理系統,以其簡潔的設計和高效的性能被廣泛應用于各種場景。在 SQLite 中,SELECT 語句是用于查詢數據庫中的數據的命令。本文將詳細介紹 SQLite 的 SELECT 語句,包括其基本語法、常用功…

深度學習05 ResNet殘差網絡

目錄 傳統卷積神經網絡存在的問題 如何解決 批量歸一化BatchNormalization, BN 殘差連接方式 ?殘差結構 ResNet網絡 ResNet 網絡是在 2015年 由微軟實驗室中的何凱明等幾位大神提出,斬獲當年ImageNet競賽中分類任務第一名,目標檢測第一名。獲得CO…

組件庫地址

react: https://react-vant.3lang.dev/components/dialoghttps://react-vant.3lang.dev/components/dialog vue用v2的 Vant 2 - Mobile UI Components built on Vue

docker 進階命令(基于Ubuntu)

數據卷 Volume: 目錄映射, 目錄掛載 匿名綁定: 匿名綁定的 volume 在容器刪除的時候, 數據卷也會被刪除, 匿名綁定是不能做到持久化的, 地址一般是 /var/lib/docker/volumes/xxxxx/_data 綁定卷時修改宿主機的目錄或文件, 容器內的數據也會同步修改, 反之亦然 # 查看所有 vo…

從入門到精通:Postman 實用指南

Postman 是一款超棒的 API 開發工具,能用來測試、調試和管理 API,大大提升開發效率。下面就給大家詳細講講它的安裝、使用方法,再分享些實用技巧。 一、安裝 Postman 你能在 Postman 官網(https://www.postman.com )下…

將圖片base64編碼后,數據轉成圖片

將圖片數據進行base64編碼后,可以在瀏覽器上查看圖片,只需在前端加上data:image/png;base64,即可 在線工具: Base64轉圖片 - 加菲工具

【動態規劃】詳解 0-1背包問題

文章目錄 1. 問題引入2. 從 dfs 到動態規劃3. 動態規劃過程分析4. 二維 dp 的遍歷順序5. 從二維數組到一維數組6. 一維數組的遍歷次序7. 背包的遍歷順序8. 代碼總結9. 總結 1. 問題引入 0-1 背包是比較經典的動態規劃問題,這里以代碼隨想錄里面的例子來介紹下。總的…

LeetCode每日精進:20.有效的括號

題目鏈接:20.有效的括號 題目描述: 給定一個只包括 (,),{,},[,] 的字符串 s ,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。左括號必須以…

llama.cpp部署 DeepSeek-R1 模型

一、llama.cpp 介紹 使用純 C/C推理 Meta 的LLaMA模型(及其他模型)。主要目標llama.cpp是在各種硬件(本地和云端)上以最少的設置和最先進的性能實現 LLM 推理。純 C/C 實現,無任何依賴項Apple 芯片是一流的——通過 A…

Web后端 - Maven管理工具

一 Maven簡單介紹 Maven是apache旗下的一個開源項目,是一款用于管理和構建java項目的工具。 Maven的作用 二 Maven 安裝配置 依賴配置 依賴傳遞 依賴范圍 生命周期 注意事項:在同一套生命周期中,當運行后面的階段時,前面的階段都…

[LeetCode力扣hot100]-C++常用數據結構

0.Vector 1.Set-常用滑動窗口 set<char> ans;//根據類型定義&#xff0c;像vector ans.count()//檢查某個元素是否在set里&#xff0c;1在0不在 ans.insert();//插入元素 ans.erase()//刪除某個指定元素 2.棧 3.樹 樹是一種特殊的數據結構&#xff0c;力扣二叉樹相…

vite+vue3開發uni-app時低版本瀏覽器不支持es6語法的問題排坑筆記

重要提示&#xff1a;請首先完整閱讀完文章內容后再操作&#xff0c;以免不必要的時間浪費&#xff01;切記&#xff01;&#xff01;&#xff01;在使用vitevue3開發uni-app項目時&#xff0c;存在低版本瀏覽器不兼容es6語法的問題&#xff0c;如“?.” “??” 等。為了方便…

《計算機視覺》——角點檢測和特征提取sift

角點檢測 角點的定義&#xff1a; 從直觀上理解&#xff0c;角點是圖像中兩條或多條邊緣的交點&#xff0c;在圖像中表現為局部區域內的灰度變化較為劇烈的點。在數學和計算機視覺中&#xff0c;角點可以被定義為在兩個或多個方向上具有顯著變化的點。比如在一幅建筑物的圖像…

WWW 2025 | 中南、微軟提出端到端雙重動態推薦模型,釋放LLM在序列推薦中的潛力...

©PaperWeekly 原創 作者 | 殷珺 單位 | 中南大學碩士研究生 研究方向 | 大語言模型、推薦系統 論文題目&#xff1a; Unleash LLMs Potential for Sequential Recommendation by Coordinating Dual Dynamic Index Mechanism 論文鏈接&#xff1a; https://openreview.net…

c# 2025/2/17 周一

16. 《表達式&#xff0c;語句詳解4》 20 未完。。 表達式&#xff0c;語句詳解_4_嗶哩嗶哩_bilibili

數據結構與算法面試專題——堆排序

完全二叉樹 完全二叉樹中如果每棵子樹的最大值都在頂部就是大根堆 完全二叉樹中如果每棵子樹的最小值都在頂部就是小根堆 設計目標&#xff1a;完全二叉樹的設計目標是高效地利用存儲空間&#xff0c;同時便于進行層次遍歷和數組存儲。它的結構使得每個節點的子節點都可以通過簡…

iOS開發書籍推薦 - 《高性能 iOS應用開發》(附帶鏈接)

引言 在 iOS 開發的過程中&#xff0c;隨著應用功能的增加和用戶需求的提升&#xff0c;性能優化成為了不可忽視的一環。尤其是面對復雜的界面、龐大的數據處理以及不斷增加的后臺操作&#xff0c;如何確保應用的流暢性和響應速度&#xff0c;成為開發者的一大挑戰。《高性能 …

微信小程序的制作

制作微信小程序的過程大致可以分為幾個步驟&#xff1a;從環境搭建、項目創建&#xff0c;到開發、調試和發布。下面我會為你簡要介紹每個步驟。 1. 準備工作 在開始開發微信小程序之前&#xff0c;你需要確保你已經完成了以下幾個步驟&#xff1a; 注冊微信小程序賬號&…