OFDM信号仿真MATLAB程序


%-- OFDM信号产生仿真程序 --
clear all;clc;close all;
Fv=32; %原始输入数据流速率(Mb/s)
M=2;   %子载波调制进制=2M,QPSK时M=2,,16QAM,M=4
N=8;   %子信道数
I=50;  %50倍内插
Fs=Fv/N/M; %调制符号速率(2Mb/s)
fs=I*Fs;   %输出采样率(100MHz)
f1=25;     %数字上变频中心频率(MHz)


d(1)=1+j;  % 数据符号
d(2)=-1+j;
d(3)=-1-j;
d(4)=1-j;
d(5)=1+j;
d(6)=-1+j;
d(7)=-1-j;
d(8)=1-j;


s=ifft(d); %离散傅里叶反变换
for k=1:N
    s(k)=s(k)*complex(cos(pi/N*(k-1)),sin(pi/N*(k-1)));%子载波搬移半个信道
end


[n0,f,m,w]=firpmord([0.9 1.1],[1 0],[0.001 0.001],fs);
b=firpm(n0,f,m,w);%内插滤波器


for n=1:N*I
    if mod((n-1),I)==0
        dd(n)=s((n-1)/I+1);
    else
        dd(n)=0.0; %内插(I-1)个0点。
    end
end
y=conv(dd,b);%内插滤波
m=(N*I+n0);


for k=1:m
    y1(k)=real(y(k))*cos(2*pi*f1*(k-1)/fs)+imag(y(k))*sin(2*pi*f1*(k-1)/fs);%数字上变频
    l(k)=fs/m*(k-1);
end


yy=20*log10(abs(fft(y1)));
figure
plot(l(1:m/2),yy(1:m/2));
grid on;

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值