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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

课程作业记录10:63位PN码序列扩频通信Matlab仿真

發(fā)布時(shí)間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 课程作业记录10:63位PN码序列扩频通信Matlab仿真 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該過(guò)程中的擴(kuò)頻與解擴(kuò)均采用63位PN碼序列。
給出源碼如下:

clear all; close all;SNR = -30:1:-20; Eb_No = SNR-10*log10(4);T=100; Fs=12600; bit=20;%生成隨機(jī)碼元,設(shè)前兩個(gè)碼元為1、0 %并進(jìn)行BPSK調(diào)制 rs=randint(1,bit*T); rs(1)=1; rs(2)=0; rs=rs-0.5; rs=-2*rs;%擴(kuò)頻 %生成用于擴(kuò)頻的偽隨機(jī)序列 d=round(rand(1,Fs*T/6)); pn_seq=[]; carrier=[]; %生成的級(jí)數(shù)為6 t=[0:2*pi/5:2*pi]; for k=1:Fs*T/6if d(1,k)==0sig=-ones(1,6);elsesig=ones(1,6);endc=cos(t); carrier=[carrier c];pn_seq=[pn_seq sig]; end r_sp=pn_seq.*r;%采樣 for i=1:1:Fs*T;r(i)=rs(ceil(i/630)); end%開(kāi)始流程圖 %設(shè)定抽樣時(shí)間 t=1/Fs:1/Fs:T;for aa=1:1:length(SNR)%BPSK載波gi=r.*sin(2*pi*1000.*t)*sqrt(2);%加性高斯白噪聲 N0 = 1/10^(SNR(aa)/10);gii=gi+sqrt(2/N0)*(randn(1,length(gi)));%生成基本干擾信號(hào)J1=20*randn(1,Fs*T);%低通濾波后成為窄帶干擾cutoff_freq=5;nyquist_freq = Fs/2;Wn=cutoff_freq/nyquist_freq;[filtb,filta]=butter(2,Wn,'low'); J=filtfilt(filtb,filta,J1); %加上干擾信號(hào)后的信號(hào)giii=gii+(sqrt(10)*sin(2*pi*1010.*t+pi/2).*J);%經(jīng)過(guò)第二次1000Hz正弦載波giv=giii.*sin(2*pi*1000.*t)*sqrt(2);gr2=gii.*sin(2*pi*1000.*t)*sqrt(2);%解擴(kuò)rxsig=givv.*carrier;demod_sig=[];for i=1:1:Fs*Tif rxsig(i)>=0giv(i)=1;elsegiv(i)=-1;end%giv=[demod_sig rxs];end%低通濾波cutoff_freq=40;nyquist_freq=Fs/2;Wn=cutoff_freq/nyquist_freq;[filtb,filta]=butter(2,Wn,'low');gv=filtfilt(filtb,filta,giv);gr3=filtfilt(filtb,filta,gr2);%匹配濾波器b=flipud(gv(:));br=flipud(gr3(:));x=gv(:);xr=gr3(:);gvi=filter(b,1,x);gr4=filter(br,1,xr);%抽樣判決%用無(wú)干擾信號(hào)找第一個(gè)峰值點(diǎn)gr5=abs(gr4);[pks,locs] = findpeaks(gr5); point=locs(1);for d=0:1:bit*T-1if (point+d*630<=Fs*T)if gvi(point+d*630)>=0gett(d+1)=1;elsegett(d+1)=-1;endif gr4(point+d*630)>=0getr(d+1)=1;elsegetr(d+1)=-1;endendenderror=sum(gett~=rs);errorr=sum(getr~=rs);ber(aa)=error/(bit*T);berr(aa)=errorr/(bit*T);endsemilogy(SNR,ber) hold on semilogy(SNR,berr) title('擴(kuò)頻情況下的SNRvsvBER') xlabel('SNR') ylabel('BER')

總結(jié)

以上是生活随笔為你收集整理的课程作业记录10:63位PN码序列扩频通信Matlab仿真的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。