云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > OFDM技术仿真(MATLAB代码)

OFDM技术仿真(MATLAB代码)

  • 62 次阅读
  • 3 次下载
  • 2025/7/1 12:51:13

附录1:OFDM发送部分代码

clear all; close all; %DVB传送参数

Tu=224e-6; %可利用OFDM符号时间 T=Tu/2048; %原始基带周期

G=0; %允许保护时间间隔选择1/4, 1/8, 1/16或1/32 delta=G*Tu; %保护间隔持续时间 Ts=delta+Tu; % 整个OFDM持续时间 Kmax=1705; %子载波数目 Kmin=0;

FS=4096; %IFFT/FFT 长度 q=10; %载波周期与原始基带周期比 fc=q*1/T; %载波频率 Rs=4*fc; %模拟周期 t=0:1/Rs:Tu; %数据产生程序 (A) M=Kmax+1; rand('state',0);

a=-1+2*round(rand(M,1)).'+i*(-1+2*round(rand(M,1))).'; A=length(a); info=zeros(FS,1);

info(1:(A/2)) = [ a(1:(A/2)).']; %补充零 info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; %子载波产生程序 (B) carriers=FS.*ifft(info,FS); tt=0:T/2:Tu; figure(1); subplot(211);

25

基于MATLAB实现OFDM的仿真

stem(tt(1:20),real(carriers(1:20))); subplot(212);

stem(tt(1:20),imag(carriers(1:20))); figure(2);

f=(2/T)*(1:(FS))/(FS); subplot(211);

plot(f,abs(fft(carriers,FS))/FS); subplot(212);

pwelch(carriers,[],[],[],2/T); % D/A 转换模拟 L = length(carriers);

chips = [ carriers.';zeros((2*q)-1,L)]; p=1/Rs:1/Rs:T/2;

g=ones(length(p),1); %脉冲形成 figure(3); stem(p,g);

dummy=conv(g,chips(:)); u=[dummy(1:length(t))]; % (C) figure(4); subplot(211);

plot(t(1:400),real(u(1:400))); subplot(212);

plot(t(1:400),imag(u(1:400))); figure(5);

ff=(Rs)*(1:(q*FS))/(q*FS); subplot(211);

plot(ff,abs(fft(u,q*FS))/FS); subplot(212); pwelch(u,[],[],[],Rs);

26

[b,a] = butter(13,1/20); %重构滤波器 [H,F] = FREQZ(b,a,FS,Rs); figure(6);

plot(F,20*log10(abs(H)));

uoft = filter(b,a,u); %基带信号 (D) figure(7); subplot(211);

plot(t(80:480),real(uoft(80:480))); subplot(212);

plot(t(80:480),imag(uoft(80:480))); figure(8); subplot(211);

plot(ff,abs(fft(uoft,q*FS))/FS); subplot(212);

pwelch(uoft,[],[],[],Rs); %Upconverter

s_tilde=(uoft.').*exp(1i*2*pi*fc*t); s=real(s_tilde); %通频带信号 (E) figure(9);

plot(t(80:480),s(80:480)); figure(10); subplot(211);

%plot(ff,abs(fft(((real(uoft).').*cos(2*pi*fc*t)),q*FS))/FS); %plot(ff,abs(fft(((imag(uoft).').*sin(2*pi*fc*t)),q*FS))/FS); plot(ff,abs(fft(s,q*FS))/FS); subplot(212);

%pwelch(((real(uoft).').*cos(2*pi*fc*t)),[],[],[],Rs); %pwelch(((imag(uoft).').*sin(2*pi*fc*t)),[],[],[],Rs); pwelch(s,[],[],[],Rs);

27

基于MATLAB实现OFDM的仿真

附录2:OFDM接收部分代码

%DVB 2K模式接收部分 clear all; close all;

Tu=224e-6; %有用OFDM符号持续时间 T=Tu/2048; %原始基带周期

G=0; %允许保护时间间隔选择1/4, 1/8, 1/16或1/32 delta=G*Tu; %保护间隔持续时间 Ts=delta+Tu; %整个OFDM符号持续时间 Kmax=1705; %子载波数 Kmin=0;

FS=4096; %IFFT/FFT 长度 q=10; %载波周期与原始基带周期比 fc=q*1/T; %载波频率 Rs=4*fc; %模拟周期 t=0:1/Rs:Tu; tt=0:T/2:Tu; %数据产生程序 sM = 2;

[x,y] = meshgrid((-sM+1):2:(sM-1),(-sM+1):2:(sM-1)); alphabet = x(:) + 1i*y(:); N=Kmax+1; rand('state',0);

a=-1+2*round(rand(N,1)).'+i*(-1+2*round(rand(N,1))).'; A=length(a); info=zeros(FS,1);

info(1:(A/2)) = [ a(1:(A/2)).'];

info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; carriers=FS.*ifft(info,FS);

28

搜索更多关于: OFDM技术仿真(MATLAB代码) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

附录1:OFDM发送部分代码 clear all; close all; %DVB传送参数 Tu=224e-6; %可利用OFDM符号时间 T=Tu/2048; %原始基带周期 G=0; %允许保护时间间隔选择1/4, 1/8, 1/16或1/32 delta=G*Tu; %保护间隔持续时间 Ts=delta+Tu; % 整个OFDM持续时间 Kmax=1705; %子载波数目 Kmin=0; FS=4096; %IFFT/FFT 长度 q=10; %载波周期与原始基带周期比 fc=q*1/T; %载波频率 Rs=4*fc; %模拟周期 t=0:1/Rs:Tu; %数据产生程序 (A) M=Kmax+1; rand('state',0); a=-1+2*round(rand(M,1)).'+i*(-1+2*rou

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com