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

📄 ofdm.m

📁 正交频分复用的调制解调:实现了mb-ofdm的基带超宽带信号调制解调
💻 M
字号:
function y=ofdm()
numbits=1024;
fp=1e9;
fc=50e9;
T0=242.4e-9;
TP=60.6e-9;
TG=70.1e-9;
A=1;
N=128;

tc=T0/N;
ntcp=floor(TP/tc);
n=(-ntcp+1:1:N);
NT=length(n);

bits=rand(1,numbits)>0.5;
S=bits;

nb=ceil(length(S)/N);
S0=zeros(1,nb*N);
S0(1:length(S))=S;

dt=1/fc;

if ntcp>0
    tc=(T0+TP)/NT;
end
tonesamples=floor(tc/dt);
toneres=floor((TG-TP)/dt);

symsamp=(tonesamples*NT)+toneres;

totsamp=symsamp*nb;

X=[zeros(1,totsamp)'];

for b=1:nb;
    c=S0((1+(b-1)*N):(N+(b-1)*N));
    
    A=length(c);
    a1=floor(A/2);
    a2=A-a1;
    FS=2*A;
    Czp=zeros(FS,1);
    Czp(1:a1)=[c(1:a1).'];
    Czp(FS-a2+1:FS)=[c(A-a2+1:A).'];
    
    C=ifft(Czp);
    
    if ntcp>0
        C1=zeros(length(C)+2*ntcp,1);
        C1(1:(2*ntcp))=C(2*N+1-(2*ntcp):2*N);
        C1(2*ntcp+1:length(C1))=C;
    else
        C1=C;
    end
    
    zp=floor(tonesamples/2);
    C2=[C1.';zeros((zp-1),length(C1))];
    C3=C2(:);
    g=ones(1,zp);
    C4=conv(g,C3);
    C5=C4(1:(zp*NT*2));
    
    ics=1+(b-1)*symsamp+toneres;
    X(ics:ics+length(C5)-1)=C5;
end
XM=X';
y=XM;

x=[1:128];
figure(1);

subplot(211);
stem(x(1:40),S(1:40));%原信号
axis([0,40,-2,2]);
title('原信号');

⌨️ 快捷键说明

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