?? dsspsp.m
字號(hào):
% function [BER]=DSSpSp(SNRindB)
%Diect Squence Spread Spectrum
%編程產(chǎn)生信號(hào):直擴(kuò)m碼BPSK調(diào)制,
clear
clc
SNRindB=10;
Num=5000; %傳輸bit數(shù)
Lc=20; %處理增益
SNRline=10^(SNRindB/10);
sigma=1; %噪聲標(biāo)準(zhǔn)差
Eb=2*sigma^2*SNRline;% 信號(hào)bit能量,信噪比:信號(hào)能量/2*噪聲功率
E_chip=Eb/Lc; %信號(hào)碼片能量
%[1]產(chǎn)生信號(hào)
data=rand(1,Num)-0.5;
data=sign(data);%雙極性不歸零碼
btt=zeros(1,Num*Lc);
for i=1:Num
bt((i-1)*Lc+1)=data(i);
end
temp=ones(1,Lc);
btt0=conv(bt,temp);
btt=sqrt(E_chip)*btt0(1:Num*Lc);
% figure
% plot(bttt)
%[2]用pn序列調(diào)制
Sigt=zeros(1,Num*Lc);
%[2.1]產(chǎn)生pn序列
pn=rand(1,Num*Lc)-0.5;
pn=sign(pn);
%[2.2]spread spectrum
Sigspread=pn.*btt; %傳送信號(hào)
%[3]加入AWGN
AWGN=sigma*randn(1,Num*Lc);
Rt=Sigspread+AWGN; %接收信號(hào)
% figure
% stem(Rt)
% text(.5,.5,...
% texlabel('lambda12^(3/2)/pi - pi*delta^(2/3)'))
%[4]despread,假設(shè)理想同步
Despread=zeros(1,Num*Lc);
Despread=sign(Rt.*pn);
%[5]判決,hard decision
for i=1:Num
Decision(1,i)=sum(Despread((i-1)*Lc+1:i*Lc));
end
Decision=sign(Decision);
Errorbit=length(find(Decision-data>1e-004));
BER=Errorbit/length(data);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -