日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字调制解调—扩频通信和伪码同步

發布時間:2023/12/9 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字调制解调—扩频通信和伪码同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

  • 1 擴頻的基本原理
    • 1.1 擴頻的概念
    • 1.2 直擴系統工作原理
  • 2 直擴調制信號的matlab仿真分析
  • 3 偽碼同步的一般原理
    • 3.1 滑動相關捕獲
    • 3.2 延遲鎖相環跟蹤原理
  • 4 同步算法及matlab仿真分析
    • 4.1 算法設計
    • 4.2 偽碼同步環
    • 4.3 捕獲及跟蹤門限仿真

1 擴頻的基本原理

1.1 擴頻的概念

  • 擴頻的簡單理解

??前面講過一些調制方法,都是利用調制信號乘以基帶信號得到已調信號。2ASK的調制信號就是二進制序列,MSK調制信號可以是一種正交載波。調制無非就是頻譜搬移,將基帶信號調制到期望的頻帶內以便傳輸。這里擴頻也屬于一種調制方式,所謂擴頻,就是擴展頻譜的范圍,比如原信號的頻譜在200 ~ 400KHz,通過擴頻,信息可能就分散在20 ~ 30MHz內。通過拓寬頻譜,可以極大增強通信的抗干擾性。在擴頻系統中,發送方以特定的調制方式將原始信號的頻譜加以擴展,得到擴頻信號。接收端再對擴頻信號加以處理,把它恢復為原始信號。這就是擴頻和解擴。

  • 為什么要擴頻

??一般的,如語音信號,帶寬比大約幾到十幾,屬于窄帶通信,擴頻信號的帶寬比高達1000,屬于寬帶通信。用這么大的帶寬來傳輸信息,是浪費資源嗎?顯然,可以利用信道復用,在寬帶范圍內完成若干窄帶通信,即在同一頻帶同時建立多個信號進行通信,各信道可以通過擴頻碼進行區分,這就是碼分多址(CDMA)。

  • 如何擴展頻譜?

??既然是調制,就是頻譜搬移,搬移到高頻,就需要比基帶信號頻率高的信號。我們知道,時域有限,頻域無限。一個窄脈沖的頻譜非常寬,如果持續時間很窄的脈沖序列被所傳輸的信息調制時,就可以產生帶寬很大的信號。這種持續時間很窄的脈沖碼序列,碼元速率很高,稱之為偽碼序列。偽碼序列不影響傳輸的信息,僅僅起擴展頻譜的作用,接收方可通過相關解調獲取信息碼。


1.2 直擴系統工作原理

??直擴系統的組成框圖如圖所示,a(t)是信源輸出,碼元持續時間為Ta,c(t)是偽碼,碼元寬度是Tc,以模二加實現二者相乘,產生速率與偽碼速率相同的擴頻序列。

??所以直擴系統的關鍵就是產生偽碼。理論上來說,使用隨機碼擴展頻譜是最理想的,但接收方也需要同樣的隨機序列副本,理想的隨機序列是不可復制的。因此在工程中多用PN碼,即偽隨機序列解決這一問題,本文使用的是m序列。

??m序列是一種線性反饋序列,可根據本原多項式產生,其模型可用線性反饋移位寄存器來表征,移位寄存器的位數和抽頭個數由m序列的階數查表可得,這里不贅述。


2 直擴調制信號的matlab仿真分析

??如前所述,直擴系統調制信號可分為三個過程:產生偽碼序列、原始信號通過偽碼序列進行擴頻、載波調制。m序列由本原多項式產生抽頭系數,偽碼產生函數及擴頻主函數代碼如下:

function p=PnCode(polynomial,reg)grade=length(polynomial)-1; PN_Length=(2^grade-1); pn=zeros(1,PN_Length); %找出本原多項式中除最低位外為1的位,并依次存放在寄存器c中 n=0; c=zeros(1,grade); for i=grade:-1:1if polynomial(i)==1n=n+1;c(n)=grade+1-i;end end %產生一個周期的PN碼 q=0; for i=1:PN_Length p(i)=reg(1);m=reg(grade+1-c(1));for q=2:gradeif (c(q)>0) & (reg(grade+1-c(q))==1)m=~m;endendfor q=1:(grade-1)reg(q)=reg(q+1);endreg(5)=m; end

??可以看出,m序列產生過程主要分為:設置初始狀態、寄存器模二和運算、移位、次態的初值為模二和的結果,循環了數值為偽碼長度的次數后,產生的便是一個周期的偽碼。

%仿真直擴信號的調制過程Rb=200*10^3; Lpn=31; Rc=Rb*Lpn; Fs=8*Rc; fc=8*10^6; a=0.8; N=5000; L=N*Lpn*Fs/Rc; t=0:(L-1); t=t/Fs;polynomial=[1 0 0 1 0 1]; %產生PN碼的本原多項式 reg=[1 0 0 0 0]; PN=PnCode(polynomial,reg) %PN=zeros(1,length(PN));bitstream=randint(1,N,2); source=rectpulse(bitstream,Lpn);data=zeros(1,N*Lpn); for i=1:Nif bitstream(i)==0 data((i-1)*Lpn+1:i*Lpn)=PN;elsedata((i-1)*Lpn+1:i*Lpn)=~PN;end endfor i=1:N*Lpnif data(i)==0data(i)=-1;end end%對擴頻后的數據以Fs頻率采樣 Ads=upsample(data,Fs/Rc);%設計升余弦濾波器 n_T=[-2 2]; rate=Fs/Rc; T=1; Shape_b = rcosfir(a,n_T,rate,T);%figure(4);freqz(Shape_b) rcos_Ads=filter(Shape_b,1,Ads);f0=sin(2*pi*fc*t); dss=rcos_Ads.*f0;

運行程序后,可以在命令行中顯示一個周期的偽碼序列`

[1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0]

??仿真結果如圖所示。擴頻就是偽碼與信息做異或處理,對于二進制而言,信息碼無非是"0"或者"1",異或遇0不變,遇1取反,一個信息碼元對應一個周期的偽碼。因此,偽碼速率是信息碼元的31倍(31是偽碼長度),當產生了一個信息碼元,就要產生31位的偽碼與之對應運算,生成的也是31位的碼長,這個碼可能與PN碼一樣,也可能是其反碼,這取決于信息碼元是"0"還是"1",所以擴頻碼的碼率=偽碼碼率=31*信息碼元的碼率。


`


3 偽碼同步的一般原理

??解擴的關鍵就在于收發雙方偽碼是否一致,即需要完成偽碼同步。同步又分為捕獲和跟蹤,捕獲是利用滑動相關原理,跟蹤可利用延遲鎖相環。

3.1 滑動相關捕獲

??滑動相關原理框圖如下:

??如圖所示,接收信號與本地偽碼序列相乘后再進行積分,即求出它們的互相關值,然后在門限檢測器中與某一門限比較,以判斷是否已捕獲到有用信號。這里利用PN碼的相關性,當兩個相同的偽碼序列在相位上一致時,其相關值有最大輸出,即達到相關峰。一旦確認捕獲完成,則捕獲指示信號的同步脈沖控制搜索控制時鐘,調整本地偽碼產生器產生偽碼頻率和相位,使之與接收信號保持同步。


3.2 延遲鎖相環跟蹤原理

??當捕獲到有用信號,即收發雙方偽碼相差在一個偽碼碼元以內,同步系統轉入同步階段,即精同步,也成為跟蹤階段。
??對于延遲鎖相環,需要得到本地偽碼與接收信號的相差,它是以擴頻序列自相關函數的偶對稱性來實現跟蹤功能。下左圖為擴頻序列的自相關函數曲線,右圖為延遲鎖相環的鑒相曲線。可見相關峰出現對稱軸上,且相關信號的延遲和滯后曲線相減可以得到擴頻序列的跟蹤曲線。


??由鑒相曲線可知,在相差位于一定范圍內,鑒相器輸出一個與τττ成線性關系的極性信號,那么可以由這個小范圍得到鑒相誤差,從而經過環路濾波送到VCO,控制本地偽碼序列向減小跟蹤偏差的方向調整。所以在此過程研究鑒相是為了尋找一個小范圍的線性曲線來作為VCO的控制信號,在后文會提出一種全數字偽碼同步環,將前文所述的捕獲過程和這里的跟蹤過程合并,要知道跟蹤就是利用小范圍相差得到的線性相關信號,控制VCO,使得相位可以被調控,從而達到精準跟蹤。


4 同步算法及matlab仿真分析

4.1 算法設計

??由前所述,傳統的滑動相關器通過控制本地偽碼產生器的驅動時鐘頻率來達到滑動的目的。在數字電路中,通過控制本地偽碼產生器,使其按固定步長左移或者右移來達到相對滑動的目的,此法也成為固定步長串行搜索法。原理圖如圖所示:


??由圖可以看出當PN碼與接受的時鐘發生相干解擴(相乘后積分),通過門限檢測得到信息序列,如果不是原始數據,即按固定長度步進。如何知道解出的數據和原始數據匹配呢,利用相乘和積分運算獲得相關值,通過門限檢測來比較是否捕獲到了有用信號,即門限檢測是用于檢測相關值,從而知道是否具有相差,來達到本地偽碼與接收信號中的偽碼相對滑動的目的。

??由于每次滑動步長為一個碼元周期,即對于擴頻序列,一個周期一個周期的處理,第一次對第一個周期的擴頻碼進行調整,步進了一個固長,如果沒有同步成功,下一次對第二個周期的擴頻碼接著調整,則步進兩個步長。每次調整都需要完成一個偽碼周期(采樣后的),比如偽碼長度是31,經過八倍采樣,那么原來的一個偽碼碼元被擴展到了8個,則偽碼周期就是8位碼元,那么最多要調整31次,即最長捕獲時間為Ta=LpnTb


4.2 偽碼同步環

??由前文可知,捕獲和跟蹤都需要環路,如果能用同一個環路實現或者盡可能多地對兩種環路中的部分部件(積分器)加以重用,則可大大減少所需的硬件資源。因為捕獲和跟蹤在時間軸上不重復,這就為環路部件的重用提供可能,這就是全數字偽碼同步環的由來。原理圖如圖所示。

??全數字偽碼同步環與傳統同步環的差別主要是捕獲方式的改變,即采用延遲鎖相環中的超前支路和滯后支路的相關累加器的平方和作為判斷是否捕獲到有用信號的依據,而不單只使用一條支路的相關累加器的輸出作為門限檢測值。跟蹤部分不變,還是利用固定步長調整相位。在步進中可以減少本地偽碼的固定步長,這樣盡可能避免由于積累的相差過多,再加上頻偏的影響導致滑動無法同步,4.3仿真采用的是步進1/2偽碼碼元長度(4個采樣點,一個周期采8個點)。理論上,超前和滯后的兩條支路的相關累加器的相關函數如圖所示。



4.3 捕獲及跟蹤門限仿真

clc Rb=200*10^3; Lpn=31; Rc=Rb*Lpn; Fs=8*Rc; a=0.8; N=2; t=0:(N*Lpn*Fs/Rc-1); t=t/Fs;ploynomial=[1 0 0 1 0 1]; reg=[1 0 0 0 0]; %設置PN碼的初始相位 PN=E9_1_PnCode(ploynomial,reg); %調用函數產生PN碼bitstream=zeros(1,N); %產生N點原始二進制數據 source=rectpulse(bitstream,Lpn);data=zeros(1,N*Lpn); for i=1:Nif bitstream(i)==0 data((i-1)*Lpn+1:i*Lpn)=PN;elsedata((i-1)*Lpn+1:i*Lpn)=~PN;end endfor i=1:N*Lpnif data(i)==0data(i)=-1;end endAds=upsample(data,Fs/Rc);%設計升余弦濾波器 n_T=[-2 2]; rate=Fs/Rc; T=1; Shape_b = rcosfir(a,n_T,rate,T); %對采樣后的數據進行升余弦濾波; rcos_Ads=filter(Shape_b,1,Ads);pn_ad=Ads(1:Fs/Rb); dat=rcos_Ads(Fs/Rb/2: Fs/Rb/2+Fs/Rb-1); Len=length(dat);%產生滯后1/2個偽碼碼元周期的支路數據 data_aft=[dat(Len-Fs/Rc/2+1:Len),dat(1:Len-Fs/Rc/2)]; %產生超前1/2個偽碼碼元周期的支路數據 data_pre=[dat(Fs/Rc/2+1:Len),dat(1:Fs/Rc/2)];%捕獲時的相關峰和差曲線 step=2; PN_oc=pn_ad; sum_aft=zeros(1,Lpn*step); sum_pre=zeros(1,Lpn*step); for i=1:Lpn*stepif i>1PN_oc=[pn_ad((i-1)*Fs/Rc/step+1:Len),pn_ad(1:(i-1)*Fs/Rc/step)];endfor j=1:Fs/Rbif PN_oc(j)==1sum_aft(i)=sum_aft(i)+data_aft(j);sum_pre(i)=sum_pre(i)+data_pre(j);elsesum_aft(i)=sum_aft(i)-data_aft(j);sum_pre(i)=sum_pre(i)-data_pre(j);endend end square_aft=sum_aft.*sum_aft; square_pre=sum_pre.*sum_pre; square_sum=square_aft+square_pre; square_sub=square_aft-square_pre;%跟蹤時的相關峰和差曲線 step=8; PN_oc=pn_ad; sum_aft=zeros(1,Lpn*step); sum_pre=zeros(1,Lpn*step); for i=1:Lpn*stepif i>1PN_oc=[pn_ad((i-1)*Fs/Rc/step+1:Len),pn_ad(1:(i-1)*Fs/Rc/step)];endfor j=1:Fs/Rbif PN_oc(j)==1sum_aft(i)=sum_aft(i)+data_aft(j);sum_pre(i)=sum_pre(i)+data_pre(j);elsesum_aft(i)=sum_aft(i)-data_aft(j);sum_pre(i)=sum_pre(i)-data_pre(j);endend end square_aft=sum_aft.*sum_aft; square_pre=sum_pre.*sum_pre; square_sum=square_aft+square_pre; square_sub=square_aft-square_pre;

??下圖分別為步進4個采樣點和1個采樣點時捕獲狀態的相關峰曲線。其中相關峰之差中間的線性部分就是鑒相部分,相關峰之和中間凹下去而沒有出現平坦的原因是因為采樣頻率不夠高。解決辦法要么增加采樣頻率,要么將捕獲和跟蹤兩個環路分開設計。



總結

以上是生活随笔為你收集整理的数字调制解调—扩频通信和伪码同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品二区三区 | 色网视频 | 少妇人妻偷人精品无码视频 | 网站久久久 | 99er这里只有精品 | 欧美少妇精品 | 一区二区三区久久久久 | 一区免费在线 | 麻豆视频网站在线观看 | 性www| 久久性生活视频 | 日本不卡视频一区二区 | 亚洲免费观看高清完整 | 韩日一区二区三区 | 国产精品久久久久毛片大屁完整版 | 欲色网站 | 天堂久久久久 | 色一区二区三区四区 | 天天爱天天爽 | 中文字幕视频网站 | 粉嫩av蜜桃av蜜臀av | 亚洲精品国产一区二区 | 可以免费看av的网址 | 色网导航站 | 在线观看91视频 | 国产无遮挡又黄又爽免费网站 | 熊猫电影yy8y全部免费观看 | 美脚の诱脚舐め脚视频播放 | 亚洲瑟瑟 | 日韩欧美视频网站 | 亚洲国产综合久久 | 日韩电影在线观看一区二区 | 成人免费看 | 久久四色 | 欧美成人精品一区二区三区在线观看 | 午夜影院入口 | 91精品视频网站 | 日韩精品电影一区 | 亚洲黄色小视频 | h部分肌肉警猛淫文 | 91蜜桃网站| 91精品国产色综合久久不卡蜜臀 | 69热在线观看 | 亚洲涩网| 国产高清在线免费观看 | av在线短片 | 中国一级黄色 | 色图自拍偷拍 | 午夜性视频| 日本少妇中文字幕 | 99在线视频免费观看 | 自拍偷在线精品自拍偷无码专区 | 影音先锋三级 | 女同激情久久av久久 | 肉体粗喘娇吟国产91 | 精品一区二区在线视频 | 日韩久久一级片 | 国产一区二区视频免费 | 国产偷国产偷av亚洲清高 | 懂色av,蜜臀av粉嫩av | 欧美在线视频免费 | 午夜之声l性8电台lx8电台 | 亚洲性图一区二区 | 一本大道综合伊人精品热热 | 蜜桃视频久久一区免费观看入口 | 91视频国产免费 | 日韩免费高清视频 | 2022国产精品| 国产精品天天看 | 99精品欧美一区二区蜜桃免费 | 草在线| 性色一区二区 | 欧美一级免费大片 | 国产日韩视频在线观看 | 中文字幕一区二区视频 | 国产a视频精品免费观看 | 日本美女黄色一级片 | 极品新婚夜少妇真紧 | 色xxxxx| 狠狠亚洲 | 国产视频在线免费观看 | 超污网站在线观看 | 国产av一区二区三区最新精品 | 成人黄色av | 男女偷爱性视频刺激 | 亚洲成a人 | 色婷婷久久久亚洲一区二区三区 | 91av毛片 | 国产精品久久久久久久天堂 | 黑人巨大av| 自拍偷拍日韩 | 欧美日韩国产一区 | 1024视频在线 | 亚洲图片在线视频 | av先锋影音 | 一级片免费看视频 | 欧美一级黄色录像 | 极品少妇xxx| 亚洲第一狼人区 |