当前位置:网站首页>【IBDFE】基于IBDFE的频域均衡matlab仿真
【IBDFE】基于IBDFE的频域均衡matlab仿真
2022-07-02 03:38:00 【fpga和matlab】
1.软件版本
matlab2015b
2.IBDFE频域均衡方案
目前已有的IBDFE结构如下所示:

从结构可知,IBDFE由前馈滤波器和反馈滤波器构成,其中C和B表示前馈滤波器和反馈滤波器的系数。从现有的文献和资料上看,目前该结构在计算过程中,每一次迭代均需要进行系数的估计,从而增加了系统实现复杂度。针对问题,目前主要的研究成果例如LC-IBDFE等,其通过将判决信号中的误差与期望信号分离,从而降低了复杂度。但是类似LC-IBDFE的改进思路,其是基于每次迭代的误比特率相同且很小的假设的,实际中这种情况很难满足条件。另外就是在IBDFE中,出现信道严重衰落的时候,会导致过高的相关因子的估计,从而导致误差的扩散。针对这个问题,现有成果主要有联合信道估计和信道均衡的联合均衡算法。但是这样算法的复杂度又进一步增加。
3.部分源码
clc;
clear all;
close all;
warning off;
addpath 'func\'
rng('default');
rng(1);
Blk_size = 512; %数据块大小512
Chu_size = 64; %chu序列,大小64
NFrame = 1000;
SNR = [0:1:14]; %信噪比dB
Modsel = 2; %QPSK
Fs = 10*10^3; %采样率
Ts = 1/Fs;
Fc = 5*10^3; %载波频率
Fd = 10; %多普勒频移
tau = [0 0.5 0.5 1.2 1.2 2.1 2.1 3.3 3.3 4.8 4.8 6.5 6.5 8.5 10.8]*10^-4;
pdb = [0 -0.967 -0.967 -0.967 -1.933 -1.933 -1.933 -1.933 -2.900 -2.900 -2.900 -2.900 -2.86 -3.86 -3.84];
%信道模型
Channel = rayleighchan(Ts,Fd,tau,pdb);
%FFT变换
H_channel0 = fft(Channel.PathGains./sqrt(sum((abs(Channel.PathGains)).^2)),Blk_size+Chu_size+Chu_size);
%CHU序列
Chuseq = zeros(1,Chu_size);
for k = 0:Chu_size-1
tmps(k+1) = pi*k^2./Chu_size;
end
I = cos(tmps);
Q = sin(tmps);
Chuseq = I+sqrt(-1)*Q;
%误码率
%turbo参数
Mss = 295;
for n = 1:length(SNR)
ErrMMSE = 0;
for k = 1:NFrame
[n,k]
rng(k);
%随机
Tdin = randint(1,Mss);
%利用turbo的交织器,构建TB-DEF,三路输出
output = [func_turbo_code(Tdin)];
output = reshape(output, 1, []);
seridata1 = [output,0,0];
%调制
Data = modulation(seridata1,Modsel);
Tx = [Chuseq,Data,Chuseq];
Channel0 = Channel.PathGains./sqrt(sum((abs(Channel.PathGains)).^2));
Rx1 = filter(Channel0,1,Tx);
Rx2 = awgn(Rx1,SNR(n),'measured');
Rx3 = Rx2;%(Chu_size+1:Chu_size+Blk_size);
H_channel = H_channel0;
%频域均衡
Y = fft(Rx3,Blk_size+Chu_size+Chu_size);
Wk = conj(H_channel)./(H_channel.*conj(H_channel)+10^(-SNR(n)/10));
Zk = Y.*Wk;
Qk = zeros(size(Zk));
Bk = (Blk_size-Chu_size)*(abs(H_channel).^2+10^(-SNR(n)/10))./(sum(abs(H_channel).^2+10^(-SNR(n)/10)))-1;
P = 5;
%调用CNN神经网络的输出权值
load CNNmodel.mat
Iter = 5;
for iter = 1:Iter
Wk = conj(H_channel)./(H_channel.*conj(H_channel)+10^(-SNR(n)/10)/P).*(1+Bk);
Zk = Y.*Wk;
Uk = Zk-Qk;
RxMMSE0 = ifft(Uk,Blk_size+Chu_size+Chu_size);
xn = sign(real(RxMMSE0))+sqrt(-1)*sign(imag(RxMMSE0));
%去UW
RxMMSE1 = xn(Chu_size+1:Blk_size);
%进行判决
RxMMSE = demodulation(RxMMSE1,Modsel);
Tdecode = round(func_turbo_decode(2*RxMMSE(1:end-2)-1));
tmps = Tdecode;
XK = fft([tmps,Chuseq],length(RxMMSE1));
%调用CNN深度学习神经网络,计算Bk值
Bk0 =([H_channel.*conj(H_channel)]+10^(-SNR(n)/10)/P)/(mean(([H_channel.*conj(H_channel)]+10^(-SNR(n)/10)/P)))/(Blk_size)-1;
Bk = func_CNN(H_channel,Bk0,cnn);
Qk = [XK,ones(1,192)].*Bk;
end
CrrMMSE = find((Tdin-Tdecode) == 0);
ErrMMSE = ErrMMSE+(Mss-length(CrrMMSE));
end
%统计误码率
errors(n) = ErrMMSE/(Mss*NFrame*Modsel);
end
figure
semilogy(SNR,errors,'b-o');
hold on;
grid on;
xlabel('信噪比SNR(dB)')
ylabel('误码率SBR')
save R1.mat SNR errors
4.仿真结果

A1-169
边栏推荐
- Global and Chinese market of autotransfusion bags 2022-2028: Research Report on technology, participants, trends, market size and share
- 【DesignMode】建造者模式(Builder model)
- The 9th Blue Bridge Cup single chip microcomputer provincial competition
- [C Advanced] brother Peng takes you to play with strings and memory functions
- [yolo3d]: real time detection of end-to-end 3D point cloud input
- [database]jdbc
- [designmode] builder model
- 《MATLAB 神经网络43个案例分析》:第42章 并行运算与神经网络——基于CPU/GPU的并行神经网络运算
- One of the future trends of SAP ui5: embrace typescript
- Interface debugging tool simulates post upload file - apipost
猜你喜欢

The 9th Blue Bridge Cup single chip microcomputer provincial competition
![[yolo3d]: real time detection of end-to-end 3D point cloud input](/img/5e/f17960d302f663db75ad82ae0fd70f.jpg)
[yolo3d]: real time detection of end-to-end 3D point cloud input

《MATLAB 神经网络43个案例分析》:第41章 定制神经网络的实现——神经网络的个性化建模与仿真
![[mv-3d] - multi view 3D target detection network](/img/aa/741b36ead2dfaa5a165401b8d657b7.jpg)
[mv-3d] - multi view 3D target detection network

Comment élaborer une stratégie nuageuse à l'ère des nuages mixtes

知物由学 | 自监督学习助力内容风控效果提升
![[designmode] Prototype Pattern](/img/ee/c4e48c2ce8ff66f50f0bf13e5a0418.png)
[designmode] Prototype Pattern

蓝桥杯单片机省赛第十二届第一场

软件测试人的第一个实战项目:web端(视频教程+文档+用例库)

【无线图传】基于FPGA的简易无线图像传输系统verilog开发,matlab辅助验证
随机推荐
Network connection mode of QT
【DesignMode】建造者模式(Builder model)
What is the logical structure of database file
What do you know about stock selling skills and principles
In depth interpretation of pytest official documents (26) customized pytest assertion error information
PY3 link MySQL
Pycharm2021 delete the package warehouse list you added
Global and Chinese markets for ultrasonic probe disinfection systems 2022-2028: Research Report on technology, participants, trends, market size and share
[mv-3d] - multi view 3D target detection network
傅里叶级数
《MATLAB 神经网络43个案例分析》:第41章 定制神经网络的实现——神经网络的个性化建模与仿真
Eight steps of agile development process
Retrofit's callback hell is really vulnerable in kotlin synergy mode
The 9th Blue Bridge Cup single chip microcomputer provincial competition
Basic syntax of unity script (7) - member variables and instantiation
知物由学 | 自监督学习助力内容风控效果提升
Kotlin basic learning 15
ThreadLocal详解
The fourth provincial competition of Bluebridge cup single chip microcomputer
Imageai installation