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

📄 2.m

📁 设pn序列长度为Lc,为输入信号的Lc倍
💻 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 + -