通信QPSK調製,為什麼要對數據串並轉換?

2020-09-03 通信M班長

班長聊通信原理 | 系列文章請至主頁「文章」查閱

通信中的很多調製都有一個把串行數據轉換為並行數據的過程,QPSK就是一個典型的例子。

其實不光QPSK,其他的調製方法都是這個模式。

很多小夥伴最近都在問關於QPSK的問題,很多人在串並轉換地方就犯糊塗了。我之前也寫過QPSK的文章:

本文將從實際Matlab仿真角度,直觀的闡述這個問題。


先從發送信息開始

無論如何,我們先假定我們需要發送一組信息。

為了方便,我們跳過傳感器採集-採樣-編碼等環節,直接定義一組數據:

10位二進位數,10個比特。

0-1-0-1-1-1-0-0-1-1

data=[0 1 0 1 1 1 0 0 1 1];%準備發送的信息

通過Matlab的stem繪圖函數,可以畫出原始信息。定義圖形標題為「準備發送的信息」,設置坐標軸範圍,橫坐標0~11,縱坐標0~1.5。

figure(1)stem(data, &39;,3), grid on;% 畫出杆狀圖,線寬度設置為3號title(&39;);% 定義圖形標題axis([ 0 11 0 1.5]);% 設置坐標軸範圍

得出原始數據杆狀圖1:

圖1 擬發送的數據,10個比特;來源:班長自製

再對數據簡單處理

將原始信息,改成NRZ(Nonreturn - To - Zero)非歸零雙極性編碼,就是我們最常見的編碼。

根據信號是否歸零,還可以劃分為歸零碼和非歸零碼,歸零碼碼元中間的信號回歸到0電平,例如&34;為正電平,&34;為負電平,每個數據表示完畢後,都會回歸到零電平狀態,而非歸零碼沒有回歸到零電平的過程,例如&34;為高電平,&34;為低電平。

而雙極性,就是用正負電平的脈衝分別表示二進位代碼1和0。

圖2 多種常見的編碼形式;來源:網絡

data_NZR=2*data-1; % 將數據改成NRZ編碼格式

data數據改成NRZ形成編碼,在Matlab中也是簡單的一句命令即可,具體波形如圖3中「串」波形。

圖3 QPSK的調製原理;來源:班長自製

數據流串→並轉換?

很多程序中,會用reshape函數一句話,實行了數據比特的串並轉換。

s_p_data=reshape(data_NZR,2,length(data)/2); % 數據串並轉換

關於&34;函數的作用,就是將A的行列排列成m行n列。它對我們輸入data_NZR的作用就如圖4所示。

圖4 數據的串並轉換;來源:班長自製

就是把一串數據,按照m行n列重新排列。

我們為什麼要把一串數據,如圖4中「串」形數列轉換為並行呢?

還得先從MPSK的原理說起

這裡的M代表多進位,M=2,4,8...,通常取2的正整數冪。

也就是常說的2PSK,4PSK/QPSK,8PSK......

一個三角函數sk(t),我們通常用三個參數就可以唯一確定,分別為振幅A,頻率f/ω,初始相位θk。

我們這裡討論的是相位調製,所以振幅A和頻率f/ω不會變化。

圖5 QPSK信號分析;來源:班長自製

θk的變化,如圖5所示。

如果定義θk等於π或者0兩種情況,那麼sk(t)就有兩種唯一的波形,分別為

  • A cos( ωt + 0 )
  • A cos( ωt + π )

這兩種波形,正好對應二進位的0和1,這就是2PSK/BPSK調製。

那麼4PSK/QPSK調製呢?

以此類推,按照θk的公式,我們可以取0,π/2,π,3π/2四種初相位,對應4種sk(t)波形

  • A cos( ωt + 0 )
  • A cos( ωt + π/2 )
  • A cos( ωt + π )
  • A cos( ωt + 3π/2 )

這四種波形,可以表示四種二進位組合01,00,10,11,這就是4PSK/QPSK調製。

同樣是sk(t)波形,在QPSK中可以同時傳輸兩個bit,所以理論上4/QPSK調製的數據傳輸速率是2PSK的兩倍。

如何產生QPSK信號?

生成QPSK信號,就是上文的sk(t)信號。

sk(t)是一個三角函數,根據三角展開式,我們可以進行如下展開:

sk(t)波形被展開成兩個正弦波的疊加,且初始相位均為0,二者相位差π/2(cos與sin相位差π/2)。

載波信號coswt很容易獲得,sinwt信號在cosωt的基礎上做一個π/2移相,也可以獲得。

那麼根據圖3所示,當數據流串並轉換之後,分成2路,一路為ak,一路為bk;

分別與cos和sin相乘之後,再進行疊加,輸出QPSK信號。

我們用圖3中的串行數據-1 +1 -1 +1 +1 +1 -1 -1 +1 +1作為輸入。

  • ak = -1 或者 +1
  • bk = -1 或者 +1

當ak=-1,bk=+1,輸入為(0,1)時,

sk(t)=-1*cosωt+(+1)sinωt=√2 * cos(ωt + 5π/4 ),θ3 = 5π/4;

當ak=+1,bk=+1,輸入為(1,1)時,

sk(t)=+1*cosωt+(+1)sinωt=√2 * cos(ωt + 3π/4 ),θ4 = 7π/4;

當ak=-1,bk=-1,輸入為(0,0)時,

sk(t)=-1*cosωt+(-1)sinωt=√2 * cos(ωt + 7π/4 ),θ2 = 3π/4;

當ak=+1,bk=-1,輸入為(1,0)時,

sk(t)=+1*cosωt+(-1)sinωt=√2 * cos(ωt + π/4 ),θ1 = π/4;

嘿嘿,這也是四個相位,那麼這也是QPSK。

圖6 QPSK的四種相位信號;來源:班長自製

自此,我們發現之所以要串行轉換為並行,就是為了方便調製cos和sin載波,然後疊加,形成QPSK信號。

那麼,我們可以生產QPSK信號如下圖7所示。同相信號Inphase和正交Quadrature信號疊加,形成最終QPSK信號。

圖7 QPSK信號仿真圖;來源:班長自製

for(i=1:length(data)/2) y1=s_p_data(1,i)*cos(2*pi*f*pt); % 同相分量 y2=s_p_data(2,i)*sin(2*pi*f*pt) ;% 正交分量 y_in=[y_in y1]; % 同相信號向量 y_qd=[y_qd y2]; % 正交信號向量 y=[y y1+y2]; % 調製信號end

總結

文中的仿真其實還是有改進之處的,班長在此拋出3個思考,大家可以思考下,會加深對QPSK的理解。

QPSK可是4G、5G中的重要調製技術,尤其在信號覆蓋較差的時候,一點也不過時啊。

思考1:為什麼一般的程序中要用NRZ編碼這種形式,用其他的編碼形式可以嗎?

思考2:圖7中最後紅色的QPSK信號,在&34;位置處,出現了不連續,或者說是突變?這對信號傳輸有影響嗎?能否改進?

思考3:圖6中的對應方式,即

  • θ1→(1,0)
  • θ2→(0,0)
  • θ3→(0,1)
  • θ4→(1,1)

為什麼要這麼排列,可以打亂順序麼?格雷碼是什麼?

看到這裡,幫文章點個讚吧!

歡迎您在評論區留言討論!

相關焦點

  • QPSK數字調製解調的FPGA實現,包括源程序
    代碼要綜合解調部分一起研讀。*round(sin(2*pi*fc*t)*32767); st_qpsk=st_qpsk_1+st_qpsk_2;%定點量化後的數據 %---- % 發射信號的功率譜 %plot((abs(fft(st_qpsk,2048))).^2);3.QPSK調製的FPGA
  • 基於QPSK數字調製解調的FPGA實現
    四相絕對移相鍵控(QPSK)技術以其抗幹擾性能強、誤碼性能好、頻譜利用率高等優點,廣泛應用於數字通信系統。隨著超大規模集成電路的出現,FPGA在數字通信系統中的應用日益廣泛,目前已提出了多種基於FPGA實現QPSK的方法。本文基於FPGA實現直接數字頻率合成(DDS),通過對DDS信號(載波信號)輸出相位的控制實現調相,除DA轉換外,其它過程均可以FPGA實現。
  • 基於FPGA器件的QPSK調製解調程序實現系統的設計與測試
    由於是零中頻方案,QPSK調製僅需在 FPGA中將 00,01,10,11四種狀態映射為 14位二進位數以進入 AD9767作模擬轉換,變換後的模擬信號在上變頻器件中與載波實現復乘作為射頻調製信號發射出去。接收機則是作與此相反的解調過程從而得到解調數據,並與發射數據相比較測出誤碼率。
  • 基於MATLAB的QPSK信號調製技術及其頻譜分析
    QPSK意為正交相移鍵控,是一種數字調製方式在電路上實現較為簡單。它不僅可以節約頻譜資源而且可以提供良好的通信性能。QPSK調製是一種具有較高頻帶利用率和良好的抗噪聲性能的調製方式,在數字移動通信中已經得到了廣泛的應用。
  • 數據通信中的模擬數據和數字數據
    打開APP 數據通信中的模擬數據和數字數據 發表於 2019-08-26 11:50:53 在數據通信中,概念性的術語很多,只有弄清楚這些概念術語
  • 基於CPLD器件和EDA技術實現QDPSK調製解調電路的設計
    但微波的頻帶很寬,通信容量很大。微波通信每隔幾十千米要建一個微波中繼站。衛星通信是利用通信衛星作為中繼站在地面上兩個或多個地球站之間或移動體之間建立微波通信聯繫。四相相移鍵控信號簡稱"QPSK".它分為絕對相移和相對相移兩種。由於絕對相移方式存在相位模糊問題,所以在實際中主要採用相對移相方式QDPSK.它具有一系列獨特的優點,目前已經廣泛應用於無線通信中,成為現代通信中一種十分重要的調製解調方式。
  • 使用FPGA實現並/串轉換電路
    打開APP 使用FPGA實現並/串轉換電路 佚名 發表於 2018-02-21 12:19:00 並串轉換電路在通信接口中具有廣泛的應用
  • 通信中的調製技術,為了把信息"扔"的更遠
    相比調製雞尾酒,通信中的「調製」是用來調整一種信號的。為什麼需要調製?如果我們以聲波的頻率(20-20 kHz)來發射電磁波,所需天線的尺寸將在公裡數量級(圖3)。模擬調製容易受到噪音的影響,這降低了信號的質量,而且,在今天的電子儀器中,所有操作都是以數字形式進行的,數位訊號要麼是1,要麼是0。那麼,讓我們來討論目前使用的數字調製技術,更具體地說,讓我們看看數字比特流是如何轉換成電磁波的。數字調製數字調製中載波信號的特性隨信號離散值的變化而變化。
  • 1024QAM調製中EVM要小於多少才能正常通信?
    1024QAM調製中EVM要小於多少才能正常通信? 微波射頻網 發表於 2021-01-02 18:22:00 移動通信技術對數據傳輸速率要求越來越高。
  • 細說javascript數據轉換的七種方法
    下面,就讓小編為大家分享一下javascript數據類型的轉換與它們之間的聯繫!一:什麼是javascript數據,常見的javascript數據主要有哪些?Javacipt數據一般指用來在網絡中通信,傳遞信息、數據計算,建立與用戶交互的指令或代碼。
  • 基於摩爾狀態機的自適應調製編碼方法
    與{1/2,2/3,3/4}3種編碼效率進行適當組合,得到MSM的有限狀態集合,用符號S表示,集合S的元素如式(1)所示: 每個狀態對應一個SNR閾值,MSM會根據實時SNR進行狀態轉換,及時調整MCS,適應當前信道環境。對於狀態集中的「Stop」狀態,它表示當實時SNR低於某個很小的SNR閾值時,系統將停止發送數據。
  • LabVIEW編程實例:如何通過TCP協議進行數據通信
    利用「格式化日期/時間字符串」函數取得當前的系統日期及時間,然後與待發送的字符串連接後得到實際發送的消息內容,利用「寫入TCP數據」函數發送到客戶端程序即可。該例中採用了兩個「寫入TCP數據」節點函數發送數據,首先發送消息內容的字節數(此處使用「強制類型轉換」函數將「I32」類型的長度數據轉換為字符串),其次發送實際的內容字符串數據。
  • 基於SDR的FM調製與解調器的實現
    對於戰場上單兵作戰通信,飛機通信,人們對SDR要求越來越高,本文提出了在ZYNQ+AD9361的架構上實現的FM調製與解調方案。本方案電路結構簡單,功耗低,接收和發射頻點靈活可調,高動態範圍等優點,FM解調也相對於傳統的鎖相環相干解調具有結構簡單,抗載頻失配,同時滿足解調寬帶和窄帶的信號 [3] 。
  • LabVIEW中將字符串轉換成ASCII碼
    因為任何數據採集後都希望能做出圖表來,在LabVIEW裡寫了一個串口的程序,無奈輸出的是字符串,而作圖的輸入數據必須要是數值類型,找遍了控制項也沒看見將字符串轉換成相應ASCII碼的控制項。於是上網搜索,真是眾說紛紜,很多人說用十六進位數字符串轉換成數值的控制項,也有人說用掃描字符串的控制項,本人也是初學,發現這兩種方法並不能實現我的目標。
  • 5G有哪些調製方式?
    調製是將信源產生的信號轉換為適應於無線傳輸的形式的過程,是無線通信業務的一個重要流程。在無線通信中,信號是以電磁波的形式發送到接收端,那麼電磁波是如何傳遞信息的呢?因此,在數位訊號調製中有三種最基本的調製方式:調幅(ASK):載波幅度是隨著調製信號而變化的。調頻(FSK):用數位訊號去調製載波的頻率。
  • 5G有哪些調製方式?
    調製是將信源產生的信號轉換為適應於無線傳輸的形式的過程,是無線通信業務的一個重要流程。在無線通信中,信號是以電磁波的形式發送到接收端,那麼電磁波是如何傳遞信息的呢?所以這裡的調製就是用基帶信號去控制載波信號的幅度,頻率,相位這幾個參量的變化,將信息荷載在到載波上形成已調信號。因此,在數位訊號調製中有三種最基本的調製方式:- 調幅(ASK):載波幅度是隨著調製信號而變化的。- 調頻(FSK):用數位訊號去調製載波的頻率。
  • 脈寬調製原理
    ,縮寫為PWM,是脈衝寬度調製的簡稱,它主要是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。脈衝寬度調製的一個優點是從處理器到被控系統信號都是數字形式的,無需進行數模轉換。
  • 基於CPLD的串並轉換和高速USB通信設計
    硬體濾波具有效率高的優點,但要增加系統的投資和設備的體積,當幹擾的性質改變時我們往往不得不重新搭接電路;軟體濾波是用程序實現的,不需要增加設備,故投資少、可靠性高、穩定性好,並且可以對頻率很低的信號實行濾波,隨著幹擾的性質改變只需修改軟體即可,具有靈活、方便、功能強的優點,但要佔用系統資源、降低系統的工作效率。
  • 無線系統中自適應數字調製、STBC編碼和FFT/IFFT模塊的FPGA實現方法
    0 引言 OFDM(Orthogonal Frequency-Division Multiplexing)技術由於其頻譜利用率高和抗頻率選擇性衰落的優點,已經成為無線通信系統中最受歡迎的調製技術。目前,MIMO-OFDM技術已廣泛運用到高速無線通信系統中,比如:LTE、WLAN、WiMAX、微波通信以及未來的5G通信等[1]。
  • LABVIEW字符串轉換為UTF-8編碼字符串
    在網絡通信中,例如電子郵件等,經常遇到UFT-8編碼的問題。只要依據一定的轉換準則,這種轉換並不困難。當然我們更希望能在Labview找到直接轉換的函數,但是LABVIEW中的內置函數和VI中並沒有提供。實際上,LABVIEW中包含了很多非常有用的內置函數或者VI,但是並沒有列入幫助文檔,所以一般情況下不容易發現。今天給大家介紹的文本轉換為UTF-8的函數就是如此。LABVIEW提供了STMP庫,在這個庫中就包含了上述函數。