⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsspsp.m

📁 dsss直接扩频通信源代码.便于学习.内含4个m文件
💻 M
字号:
% function [BER]=DSSpSp(SNRindB)
%Diect Squence Spread Spectrum
%编程产生信号:直扩m码BPSK调制,
clear
clc
SNRindB=10;
Num=5000;       %传输bit数
Lc=20;         %处理增益
SNRline=10^(SNRindB/10);
sigma=1;      %噪声标准差
Eb=2*sigma^2*SNRline;% 信号bit能量,信噪比:信号能量/2*噪声功率
E_chip=Eb/Lc;   %信号码片能量

%[1]产生信号
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序列调制
Sigt=zeros(1,Num*Lc);
%[2.1]产生pn序列
pn=rand(1,Num*Lc)-0.5;
pn=sign(pn);
%[2.2]spread spectrum
Sigspread=pn.*btt;           %传送信号
%[3]加入AWGN
AWGN=sigma*randn(1,Num*Lc);
Rt=Sigspread+AWGN;       %接收信号
% figure
% stem(Rt)
% text(.5,.5,...
%      texlabel('lambda12^(3/2)/pi - pi*delta^(2/3)'))
%[4]despread,假设理想同步
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);





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -