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

📄 exp4.m

📁 一些比较基本的程序
💻 M
字号:
%实验4 多径信道
%本程序中时间单位是微秒
%频率单位为MHz
%码速率单位是Mb/s
global dt t f df N T
close all
clear Eb_N0 Pe
N=2^13;         %采样点数
L=8;            %每码元的采样点数
M=N/L           %码元数
Rb=2;		    %码速率是2Mb/s
Ts=1/Rb;        %码元间隔
dt=Ts/L;        %时域采样间隔
df=1/(N*dt)     %频域采样间隔
T=N*dt          %截短时间
Bs=N*df/2       %系统带宽
alpha=0.5 	    %滚降系数

t=linspace(-T/2,T/2,N);     %时域横坐标
f=linspace(-Bs,Bs,N)+eps;   %频域横坐标

figure(1)
 set(1,'Position',[10,50,500,400]) %设定窗口位置及大小
                 
%升余弦
hr1=sin(pi*t/Ts)./(pi*t/Ts);
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
hr=hr1.*hr2;        %升余弦脉冲波形
HR1=abs(t2f(hr));   %取模是为了忽略时延
GT=sqrt(HR1);
GR=GT;
tao=Ts/2;
C=abs(1-0.5*exp(-j*2*pi*f*tao));%多径信道
HR=HR1.*C

for loop1=1:20
 Eb_N0(loop1)=(loop1-1) %Eb/N0 in dB
 eb_n0(loop1)=10^(Eb_N0(loop1)/10);
 Eb=1;	
 n0=Eb/eb_n0(loop1); %信道的噪声谱密度   
 sita=n0*Bs;         %信道中噪声功率
 n_err=0;            %误码计数

for loop2=1:5  
  a=sign(randn(1,M));
  imp=zeros(1,N);                 %产生冲激序列
  imp(L/2:L:N)=a/dt;
  IMP=t2f(imp);
  n_ch=sqrt(sita)*randn(size(t)); %信道噪声
  nr=real(f2t(t2f(n_ch).*GR));    %输出噪声
  sr=real(f2t(IMP.*HR))+nr;   %接收信号
  y=sr(L/2:L:N);		      %取样时间无偏差
  aa=sign(y);                 %判决                 
  n_err=n_err+length(find(aa~=a))  
 end
 Pe(loop1)=n_err/(M*loop2)
 figure(1) 
  semilogy(Eb_N0,Pe,'b');
  eb_n0=10.^(Eb_N0/10);
  hold on
  semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)),'r');
  axis([0,9,1e-4,1])
  xlabel('Eb/N0')
  ylabel('Pe')
 end
end

⌨️ 快捷键说明

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