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

📄 lc21.m

📁 在matlab下输入guide命令后打开main_main.gig 实现卷积编码
💻 M
字号:
%本程序中时间单位是微秒
%频率单位为MHz
%码元速率单位是Mb/s

global dt df t f N
close all

N=2^13;   %采样点数
L=64;    %每码元的采样点数
M=N/L     %码元数
Rb=2;
Ts=0.5		%码元宽度是0.5us
dt=Ts/L;        
df=1/(N*dt)     %MHz
T=N*dt          %截短时间
Bs=N*df/2       %系统带宽
n0=0.001;

t=[-T/2+dt/2:dt:T/2]; %时域横坐标
f=[-Bs+df/2:df:Bs];   %频域横坐标

figure(1)
 set(1,'Position',[10,50,400,400])
                %设定窗口位置及大小 
figure(2)
 set(2,'Position',[410,50,400,400])
                %设定窗口位置及大小 
EP=zeros(size(f))+eps;
EPR=zeros(size(f))+eps;
 for ii=1:30               
   a=round(rand(1,M));
s=zeros(1,N);  
for ii=1:0.5*L,s(ii+[0:M-1]*L)=a; ,end%产生单极性归零码

sita=n0*Bs; %信道中噪声功率
n_ch=sqrt(sita)*randn(size(t)); %信道噪声
   sr=s+n_ch;       %接收信号
   
   S=t2f(s);    %S是s的傅氏变换
 P=S.*conj(S)/T;    %功率谱
    SR=t2f(sr);    %接收信号傅氏变换
 PR=SR.*conj(SR)/T;    %功率谱
  EP=(EP*(ii-1)+P+eps)/ii;
 EPR=(EPR*(ii-1)+PR+eps)/ii;
end


figure(1)
subplot(2,1,1)
 plot(t,s,'b')
grid
 axis([-3,+3,-1.5,1.5'])
 xlabel('t (ms)')
 ylabel('s(t) (V)')
 
 figure(1)
 subplot(2,1,2)
  aa=30+10*log10(EP+eps);    %加eps以避免除以零
plot(f,aa,'b');
grid
axis([-10,+10,-50,50])
xlabel('f  (MHz)')
ylabel('Ps(f)   (dBm/MHz)')


figure(2)
subplot(2,1,1)
 plot(t,sr,'b')
grid
 axis([-3,+3,-1.5,1.5'])
 xlabel('t (ms)')
 ylabel('s(t) (V)')
 
 figure(2)
 subplot(2,1,2)
  aa=30+10*log10(EPR+eps);    %加eps以避免除以零
plot(f,aa,'b');
grid
axis([-10,+10,-50,50])
xlabel('f  (MHz)')
ylabel('Ps(f)   (dBm/MHz)')

⌨️ 快捷键说明

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