基于OFDM+64QAM系統的載波同步matlab仿真,輸出誤碼率,星座圖,鑒相器,鎖相環頻率響應以及NCO等

目錄

1.算法運行效果圖預覽

2.算法運行軟件版本

3.部分核心程序

4.算法理論概述

2.1 OFDM原理

2.2 64QAM調制

2.3 載波同步

5.算法完整程序工程


1.算法運行效果圖預覽

?

2.算法運行軟件版本

MATLAB2022a

3.部分核心程序

............................................................................
for ij=1:Nframe      [sj,ij]%64個符號的訓練序列msg1          = round(63*rand(64,1));msg2          = repmat(msg1,2,1); msg2_64QAM    = qammod(msg2,Morder);dataPre       = round(63*rand(36,1));  dataPre_64QAM = qammod(dataPre,Morder);  %數據   signal        = round(63*rand(nsym-2*64-36,1));      signal_64QAM  = qammod(signal,Morder);Tx_din        = [dataPre;msg2;signal];Tx_bin        = de2bi(Tx_din,6,'left-msb');Tx_bin2       = Tx_bin.';%發送數據的二進制數Tx_bin3       = reshape(Tx_bin2,[],1);   dataTxSig     =[dataPre_64QAM;msg2_64QAM;signal_64QAM];dataTx        = dataTxSig.*Carrier.';
..............................................................................   %積分濾波器PLL_Phase_Part(i)= Discriminator(i)*C1;PLL_Freq_Part(i) = Discriminator(i-1)*C2+PLL_Freq_Part(i-1);Freq_Control(i)  = PLL_Phase_Part(i)+PLL_Freq_Part(i);NCO_Phase(i)     = NCO_Phase(i-1)+Freq_Control(i-1);fre(i)           = NCO_Phase(i)/(2*pi*i)*fs;%平滑處理if i-len<=99Discriminator2(i) = mean(Discriminator(len+1:i));                fre2(i)           = mean(fre(len+1:i));elseDiscriminator2(i) = mean(Discriminator(i-99:i));fre2(i)           = mean(fre(i-99:i));endend         if (sj==12 | sj==15)& ij==1figure    
subplot(2,2,1)
plot(fre2(len+1:nsym)); 
grid on;
title('鎖相環頻率響應');subplot(2,2,2)
plot(NCO_Phase(len+1:nsym)); 
grid on;
title('NCO輸出相位');subplot(2,2,3)
plot(Discriminator2(len+1:nsym));  
title('鑒相器輸出');  
grid on;subplot(2,2,4)
plot(dataPhaEst(2000:end),'b*');  
title('鎖相環之前星座圖');   
grid on;figure
plot(Signal_PLL(2000:end),'r.');  
title('鎖相環之后星座圖');   
grid on; ends_pll=Signal_PLL; 
dRx2=qamdemod(s_pll,Morder);
dRx1=reshape(dRx2,[],1);
dRx_bit1=de2bi(dRx1,6,'left-msb'); 
dRx_bit2=dRx_bit1.';
dRxbit=reshape(dRx_bit2,[],1);for m=(1200+1):nsym if dRxbit(m)~=Tx_bin3(m)  err_bit(ij)=err_bit(ij)+1;       end                         
end                                    
end                                
sum_bit_err=sum(err_bit);
BER(sj)=sum_bit_err/(Nframe*(4*nsym-300*4));
endfigure;
semilogy(SNRss,BER,'b-o');
grid onxlabel('SNR');
ylabel('error');
0046

4.算法理論概述

? ? ? ? 正交頻分復用(OFDM)是一種在現代通信系統中廣泛使用的調制技術,它具有高效的頻譜利用和抗多徑衰落等特點。64QAM(64-ary Quadrature Amplitude Modulation)是一種調制方式,可以在每個符號中傳輸更多的位信息。在OFDM系統中,保持載波同步對確保數據傳輸的可靠性至關重要。

2.1 OFDM原理

? ? ? OFDM將高速數據流劃分為多個較低速的子載波,這些子載波之間互相正交,從而降低了子載波之間的干擾。每個子載波可以獨立地調制和解調,提高了抗多徑衰落和頻率偏移的能力。

2.2 64QAM調制

? ? ?64QAM是一種高階調制方式,每個符號可以傳輸6個比特(2^6=6426=64種可能的組合)。每個符號的相位和幅度有64種可能的組合,使得64QAM適合傳輸更多的信息,但也對信號質量要求更高。

2.3 載波同步

? ? ? ?在OFDM系統中,準確的載波同步是至關重要的。載波同步包括兩個方面:頻率同步和相位同步。頻率同步旨在校準發送端和接收端的本地振蕩器,以消除頻率偏移。相位同步則調整接收信號的相位,以最大化解調性能。

5.算法完整程序工程

OOOOO

OOO

O

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

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

相關文章

【從零學習python 】31.深入理解Python中的高階函數和閉包

文章目錄 高階函數定義一個變量指向函數高階函數函數做為另一個函數的參數函數作為另一個函數的返回值 閉包函數嵌套什么是閉包修改外部變量的值原因分析解決方案 進階案例 高階函數 在Python中&#xff0c;函數其實也是一種數據類型。 def test():return hello worldprint(t…

NestJs 中使用 mongoose

在 NestJS 中鏈接 MongoDB 有兩種方法。一種方法就是使用TypeORM來進行連接&#xff0c;另外一種方法就是使用Mongoose。 此筆記主要是記錄使用Mongoose的。所以我們先安裝所需的依賴&#xff1a; npm i nestjs/mongoose mongoose安裝完成后&#xff0c;需要在AppModule中引入…

SpringBoot后端服務開啟Https協議提供訪問(使用阿里云資源)

目錄 概述 申請/下載證書 部署證書 本地測試訪問 服務器部署訪問 最后/擴展 總結 概述 本篇博客說明如何將SpringBoot項目開啟Https協議提供訪問。 博文以步驟【申請/下載證書】&#xff0c;【部署證書】&#xff0c;【本地測試訪問】&#xff0c;【服務器部署訪問】 &a…

SIP/VoIP之常見的視頻問題

除了語音通話外&#xff0c;視頻通話也是SIP協議通話中重要的功能&#xff0c;在實際應用中&#xff0c;經常會遇到一些視頻問題&#xff0c;如下&#xff08;以h264為例&#xff09; 一、 己方未顯示對方視頻圖像 排查方法&#xff1a; 查看網絡抓包中有沒有發給已方的視頻…

LORA開發板采集溫濕度數據,連接PC上位機顯示和液晶屏顯示

一、準備材料 準備以下板子和器件 Lora開發板x2 USB數據線x2 OLED 屏幕x2 StLink下載器x1 母對母杜邦線x3 DHT11 x2 二、設備連接 如圖所示先將OLED 屏幕插入到開發板中 接著按照圖中所示的&#xff0c;將串口一以及lora的撥碼開關撥到指定方向 接著將USB數據線一端插入到…

SQL Server用sql語句添加列,添加列注釋

SQL Server用sql語句添加列&#xff0c;添加列注釋 微軟文檔&#xff1a; https://learn.microsoft.com/zh-cn/sql/relational-databases/tables/add-columns-to-a-table-database-engine?viewsql-server-ver15 alter table article add RedirectURL varchar(600) nu…

(七)Unity VR項目升級至Vision Pro需要做的工作

Vision Pro 概述 定位為混合現實眼鏡&#xff0c;對AR支持更友好 無手柄&#xff0c;支持手&#xff08;手勢&#xff09;、眼&#xff08;注視&#xff09;、語音交互 支持空間音頻&#xff0c;相比立體聲、環繞聲更有沉浸感和空間感 支持VR/AR應用&#xff0c;支持多種應用模…

八字精批API接口

接口平臺&#xff1a;https://api.yuanfenju.com/ 開發文檔&#xff1a;https://doc.yuanfenju.com/ 支持格式&#xff1a;JSON 請求方式&#xff1a;HTTP POST <?php//密鑰 $api_secret "wD******XhOUW******pvr"; //請求網關 $gateway_host_url "ht…

FPGA應用學習筆記-----復位電路(二)和小結

不可復位觸發器若和可復位觸發器混合寫的話&#xff0c;不可復位觸發器是由可復位觸發器饋電的。 不應該出現的復位&#xff0c;因為延時導致了冒險&#xff0c;異步復位存在靜態冒險 附加素隱含項&#xff0c;利用數電方法&#xff0c;消除靜態冒險 這樣多時鐘區域還是算異步的…

【Docker】如何在設計 dockerfile 過程中,設置容器啟動后的定時任務

如何在設計 dockerfile 過程中&#xff0c;設置容器啟動后的定時任務 jwensh 2023.08.14 文章目錄 如何在設計 dockerfile 過程中&#xff0c;設置容器啟動后的定時任務1. 基于 alpine 設計 dockerfile 過程中&#xff0c;設置容器啟動后的定時任務2. 基于 CentOS 設計 Dockerf…

深度學習實戰基礎案例——卷積神經網絡(CNN)基于SqueezeNet的眼疾識別|第1例

文章目錄 前言一、數據準備1.1 數據集介紹1.2 數據集文件結構 二、項目實戰2.1 數據標簽劃分2.2 數據預處理2.3 構建模型2.4 開始訓練2.5 結果可視化 三、數據集個體預測 前言 SqueezeNet是一種輕量且高效的CNN模型&#xff0c;它參數比AlexNet少50倍&#xff0c;但模型性能&a…

Linkedin為什么要退出中國市場?

在迅速發展的時代,職場也在不斷變換,只有不斷地提升專業技能和進行培訓,才能在職場中獲得成功。Linkedin作為一家專注于職業發展的平臺,專業的學習體驗以及熱門技能贏得了人們青睞。然而遺憾的是這個曾經讓人備受青睞的平臺,如今卻在中國市場中黯然落幕,究竟是何種原因讓曾經風…

大數據Flink(六十一):Flink流處理程序流程和項目準備

文章目錄 Flink流處理程序流程和項目準備 一、Flink流處理程序的一般流程

Springboot 設置統一的請求返回格式

現在開發過程中主要采用前后端分離的方式進行開發測試&#xff0c;也就是前端封裝請求&#xff0c;后端提供標準的API接口服務。一般現在json 格式受到開發者們的青睞&#xff0c;學習過程中我們可以設置接口的返回類型&#xff0c;那么怎么做到設置統一的返回格式呢&#xff1…

數據在內存中的存儲(二進制形式存儲)

計算機要處理的信息是多種多樣的&#xff0c;如數字、文字、符號、圖形、音頻、視頻等&#xff0c;這些信息在人們的眼里是不同的。但對于計算機來說&#xff0c;它們在內存中都是一樣的&#xff0c;都是以二進制的形式來表示。 要想學習編程&#xff0c;就必須了解二進制&…

Spark SQL優化:NOT IN子查詢優化解決

背景 有如下的數據查詢場景。 SELECT a,b,c,d,e,f FROM xxx.BBBB WHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} AND predict_type not IN ( SELECT distinct a FROM xxx.AAAAAWHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} ) 分析 通過查看SQL語句的執行計劃基本…

Dubbo基礎學習(筆記一)

目錄 第一章、概念介紹1.1&#xff09;什么是RPC框架1.2&#xff09;什么是分布式系統1.3&#xff09;Dubbo概述1.3&#xff09;Dubbo基本架構 第二章、服務提供者2.1&#xff09;目錄結構和依賴2.2&#xff09;model層2.3&#xff09;service層2.4&#xff09;resources配置文…

ARTS 挑戰打卡的第8天 ---volatile 關鍵字在MCU中的作用,四個實例講解(Tips)

前言 &#xff08;1&#xff09;volatile 關鍵字作為嵌入式面試的常考點&#xff0c;很多人都不是很了解&#xff0c;或者說一知半解。 &#xff08;2&#xff09;可能有些人會說了&#xff0c;volatile 關鍵字不就是防止編譯器優化的嗎&#xff1f;有啥好詳細講解的&#xff1…

HashMap底層相關內容

HashMap的底層結構&#xff1a; 1.7之前 數組加鏈表&#xff0c;當兩個值進行插入的時候 采用頭插法進行插入&#xff0c;可能會造成死循環 1.8之后 數組加鏈表/紅黑樹&#xff0c;當兩個值進行插入的時候&#xff0c;采用尾插法進行插入&#xff0c;不會造成死循環 HashMap底…

xml轉map工具類

背景&#xff1a;最近遇到接口返回是xml&#xff0c;所以需要整一個轉換的工具類&#xff0c;方便后續其他xml處理。 依賴引入&#xff1a; <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.1</versi…