📄 2.m
字号:
close all;
clear all;
clc
W=pi/2;
SNR=1:2:30;
while(1)
clc
close ;
lc=input('请输入解调器的样本数 Lc=');
A=2;
for i=1:length(SNR)
error_num(i)=creat_error(SNR(i),lc,W,A);
end
n=1:length(SNR);
stem(n,error_num);
hold on
plot(n,error_num);
title('PN序列扩频系统误码率');
xlabel('信躁比');
ylabel('误码率');
temp=input('是否还要继续 y|Y——是 n|N——否, 输入:','s');
if(temp==['n']|temp==['N']) break;
end
end
function [p]=creat_error(SNR1,lc,W,A)
snr=10^(SNR1/10);
sgma=1;
E=2*sgma^2*snr;
E_chip=E/lc;
N=10000;
num_error=0;
for i=1:N
temp=rand;
if(temp<0.5)
data=-1;
else
data=1;
end;
for j=1:lc
repeat_data(j)=data;
end
for j=1:lc
temp=rand;
if(temp<0.5)
pn(j)=-1;
else
pn(j)=1;
end
end;
trans_signal=sqrt(E_chip)*repeat_data.*pn;
noise=sgma*randn(1,lc);
n=(i-1)*lc+1:i*lc;
interference=A*sin(W*n);
receive_signal=trans_signal+noise+interference;
temp=receive_signal.*pn;
decision_variable=sum(temp);
if(decision_variable<0)
decision=-1;
else
decision=1;
end
if(decision~=data)
num_error=num_error+1;
end
end
p=num_error/N;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -