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

📄 exampl_3.m

📁 用matlab语言仿真升余弦滚降系统
💻 M
字号:
%例三 升余弦滚降系统

%本程序中时间单位是微秒
%频率单位为MHz
%码速率单位是Mb/s

global dt t df N
close all

N=2^13; %采样点数
L=32;   %每码元的采样点数
M=N/L   %码元数
Rb=2;		%码速率是2Mb/s
Ts=1/Rb;        %码元间隔
dt=Ts/L;        %时域采样间隔
df=1/(N*dt)     %频域采样间隔
T=N*dt          %截短时间
Bs=N*df/2       %系统带宽
Na=4;           %示波器扫描宽度为4个码元
alpha=input('滚降系数=[0.5]');
if isempty(alpha),alpha=0.5;end

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

g1=sin(pi*t/Ts)./(pi*t/Ts);
g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
g=g1.*g2;		 %升余弦脉冲波形
G=t2f(g);

figure(1)
 set(1,'Position',[10,50,300,200])
                %设定窗口位置及大小 
figure(2)
 set(2,'Position',[400,50,300,200])
                %设定窗口位置及大小 
 %hold on
 grid 
 xlabel('t in us')
 ylabel('s(t) in V')
 
EP=zeros(size(f))+eps;
for ii=1:100
 a=sign(randn(1,M));

 imp=zeros(1,N);    %产生冲激序列
 imp(L/2:L:N)=a/dt;

 S=t2f(imp).*G;       %升余弦信号的傅氏变换
 s=f2t(t2f(imp).*G);  %升余弦信号的时域波形
 s=real(s);
 P=S.*conj(S)/T;      %升余弦信号的功率谱
 EP=(EP*(ii-1)+P+eps)/ii;

 figure(1)
 plot(f,30+10*log10(EP),'g');
 grid
 axis([-3,+3,-50,50])
 xlabel('f (MHz)')
 ylabel('Ps(f)  (dBm/MHz)')

figure(2)    %画眼图
hold on
 grid 
 tt=[0:dt:Na*L*dt];
 for jj=1:Na*L:N-Na*L
  plot(tt,s(jj:jj+Na*L));
 end

⌨️ 快捷键说明

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