OFDM数字通信MATLAB仿真实现

一、实验目的

尝试自行调研、推导,建模实现一个完整的OFDM数字通信系统,要求:

给出数字信号从发射端处理(产生+IDFT)、到信道传输(假定多径信道模型参数已知+线性卷积输入输出关系)、再到接收处理(DFT+去除信道衰减影响)的完整数学推导

使用MATLAB编程,仿真验证上述数学模型

无须考虑信源编解码、信道编解码、基带调制、载波调制

随机生成发送原始符号序列,多径信道引入加性高斯白噪声序列

经过接收处理,能够恢复原始发送符号序列

尝试计算误码率,即画出随信噪比变化的误码率曲线(用半对数坐标)

二、实验原理

在这里插入图片描述

OFDM的模拟电路形式

下面为数字信号的数学推导过程

对于模拟信号
f = S 0 S 1 S 2 . . . S N − 1 f = S_0S_1S_2...S_{N-1} f=S0S1S2...SN1
经过多载波调制后,每一段信号的以频率为k的正弦波调制结果为
s k ( t ) = S k c o s ( 2 π k t ) = S k e j 2 π k t s_k(t)=S_kcos(2\pi kt)=S_ke^{j2\pi kt} sk(t)=Skcos(2πkt)=Skej2πkt
该信号被分为N段,用N个频率进行调制再叠加,得到的调制信号为
s ( t ) = ∑ k = 0 N − 1 S k e j 2 π k t s(t)=\sum_{k=0}^{N-1}S_ke^{j2\pi kt} s(t)=k=0N1Skej2πkt
通过采样数字化后,调制后的信号为
s ( n ) = ∑ k = 0 N − 1 S k e j 2 π k n / N s(n)=\sum_{k=0}^{N-1}S_ke^{j2\pi kn/N} s(n)=k=0N1Skej2πkn/N
发现多载波调制其实与离散傅里叶逆变换(IDFT)的形式相同,可以用MATLAB内置的N点IFFT进行快速计算。

对于接收端来说,利用三角函数的正交性,用不同频率的正弦波可以恢复出对应频率所载的信号,得到
S k = ∫ s ( t ) s i n ( 2 π k t ) d t = ∫ s ( t ) e − j 2 π k t d t S_k =\int s(t)sin(2\pi kt) dt=\int s(t)e^{-j2\pi kt}dt Sk=s(t)sin(2πkt)dt=s(t)ej2πktdt
通过采样数字化后
S k = ∑ n = 0 N − 1 s ( n ) e − j 2 π k n / N S_k=\sum_{n=0}^{N-1} s(n)e^{-j2\pi kn/N} Sk=n=0N1s(n)ej2πkn/N
发现与离散傅里叶变换形式(DFT)相同,可以用MATLAB内置的N点FFT进行快速计算。

三、实验结果

在没有增大符号周期时,误信率与信噪比关系如图所示。

在这里插入图片描述

图1 串行传输误信率与信噪比的关系

在一段8192 bit随机产生的比特序列中,误码率、误信率与信噪比的关系如图所示

在这里插入图片描述

图2 OFDM仿真实验中误码率与信噪比的关系

在这里插入图片描述

图3 OFDM仿真实验中误信率与信噪比的关系

四、结果分析

1、当信噪比超过20dB时,该OFDM系统下误信率和误码率为0。

2、误码率和误信率都随着信噪比增高而下降,即SNR越高,传输可靠性越强。

3、 图1与图3对比得知,增大符号周期能有效抑制多径效应。

附录:代码及参考文献

clc, clear
% 设置参数
% 信息容量
num = 8192;
% 每段大小(载波频率个数)
seg = 8;
% 设置最大SNR
SNRmax = 50;

% 随机产生信号
info = randi(2,1,num) - 1;
for s = 1:SNRmax
    
    % 设置信道参数
    road = [1, zeros(1,1000), 0.05, zeros(1,1000),-0.1, zeros(1,1000)];
    
    info_a = awgn(info, s); % 增加高斯白噪声 第二个参数为信噪比
    % 用reshape函数进行串行转并行
    info1 = reshape(info_a, seg, num/seg);
    
    info_re = reshape(info, seg, num/seg);
    
    res_seg = OFDM(info1, road, seg, num)>0.5; % OFDM为自编函数
    
    % 计算误码率
    for i = 1 : num/seg
        temp(i) = sum(res_seg(:,i) ~= info_re(:,i));
    end
    
    errseg(s) = sum(temp~=0)/num*seg;
    
    % 计算误比特率
    res = reshape(res_seg, 1, num); % 并行信号恢复成串行信号
    errbit(s) = sum(info~=res)/num;
end

plot(errseg)
title("误码率与SNR的关系")
plot(errbit);
title("误比特率与SNR的关系")


function res = OFDM(info1, real_road, seg, num)
    for i = 1:num/seg
        info_idft(:,i) = ifft(info1(:,i),seg); % IDFT载波调制过程
        receiver(:, i) = conv(info_idft(:,i),real_road); % 信号通过信道
        res(:, i) = real(fft(receiver(:, i), seg)); % DFT恢复信号过程
    end
end

参考文献

https://blog.csdn.net/a493823882/article/details/80058002?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

常规的单载波调制技术在带宽有限的测井电缆上的低传输速率制约着成像测井技术的发展。在分析测井 电缆传输特性和 OFDM 技术原理的基础上 ,设计了一种基于 OFDM 技术的测井电缆高速数据传输系统 ,并介绍了 基于 OFDM 技术的测井电缆高速数据传输系统的参数设计和工作原理 ,给出了不同长度测井电缆上的测试结果。 电缆实测结果表明 ,在 7 000 m长的测井电缆上 ,基于OFDM 技术的测井电缆高速数据传输系统可获得900 kbit / s 以上的数据传输速率和低于 5E28 的误码率。当变压器的接入模式为 Mode2II时 ,系统最高的数据传输速率可达到 1. 1 Mbit/ s。 (To solve t he low data t ransmission rate problem in t he conventional single car rier mod2 ulation met hod for logging cable and enhance t he data t ransmission rate , a new data t ransmission system with high data t ransmission rate for logging cable is propo sed , which is based on t he Or2 t hogonal Frequency Division Multiplexing (OFDM) technology. The working principle of OFDM modem and t he procedure of data t ransmission system are al so presented and lot s of test s are car2 ried out on logging cables with different lengt hs. It is verified that t he data t ransmission rate can reach 900 kbit/s on 7 000 meter s logging cable wit h bit er ror rate (BER) lower t han 5E28 , and t he maximum data t ransmission rate is 1. 1 Mbit/s under Mode2II of t he t ransformer .)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值