当前位置:网站首页>[ibdfe] matlab simulation of frequency domain equalization based on ibdfe
[ibdfe] matlab simulation of frequency domain equalization based on ibdfe
2022-07-02 03:42:00 【FPGA and MATLAB】
1. Software version
matlab2015b
2.IBDFE Frequency domain equalization scheme
What we have now IBDFE The structure is as follows :

From the structure ,IBDFE It is composed of feedforward filter and feedback filter , among C and B Represents the coefficients of feedforward filter and feedback filter . From the existing literature and data , At present, the structure is in the calculation process , Each iteration requires the estimation of coefficients , Thus, the complexity of system implementation is increased . Aiming at problems , At present, the main research results are as follows LC-IBDFE etc. , It separates the error in the decision signal from the expected signal , This reduces the complexity . But it's similar LC-IBDFE How to improve , It is based on the assumption that the bit error rate of each iteration is the same and very small , In reality, this situation is difficult to meet the conditions . The other is in IBDFE in , When there is serious channel fading , It will lead to overestimation of correlation factors , This leads to the spread of errors . In response to this question , The existing achievements mainly include the joint equalization algorithm of joint channel estimation and channel equalization . But the complexity of this algorithm is further increased .
3. Part of the source code
clc;
clear all;
close all;
warning off;
addpath 'func\'
rng('default');
rng(1);
Blk_size = 512; % Block size 512
Chu_size = 64; %chu Sequence , size 64
NFrame = 1000;
SNR = [0:1:14]; % Signal-to-noise ratio dB
Modsel = 2; %QPSK
Fs = 10*10^3; % Sampling rate
Ts = 1/Fs;
Fc = 5*10^3; % Carrier frequency
Fd = 10; % Doppler shift
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 model
Channel = rayleighchan(Ts,Fd,tau,pdb);
%FFT Transformation
H_channel0 = fft(Channel.PathGains./sqrt(sum((abs(Channel.PathGains)).^2)),Blk_size+Chu_size+Chu_size);
%CHU Sequence
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;
% Bit error rate
%turbo Parameters
Mss = 295;
for n = 1:length(SNR)
ErrMMSE = 0;
for k = 1:NFrame
[n,k]
rng(k);
% Random
Tdin = randint(1,Mss);
% utilize turbo Interleaver for , structure TB-DEF, Three way output
output = [func_turbo_code(Tdin)];
output = reshape(output, 1, []);
seridata1 = [output,0,0];
% modulation
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;
% Frequency domain equalization
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;
% call CNN Output weight of neural network
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));
% Go to UW
RxMMSE1 = xn(Chu_size+1:Blk_size);
% To adjudicate
RxMMSE = demodulation(RxMMSE1,Modsel);
Tdecode = round(func_turbo_decode(2*RxMMSE(1:end-2)-1));
tmps = Tdecode;
XK = fft([tmps,Chuseq],length(RxMMSE1));
% call CNN Deep learning neural networks , Calculation Bk value
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
% Statistical bit error rate
errors(n) = ErrMMSE/(Mss*NFrame*Modsel);
end
figure
semilogy(SNR,errors,'b-o');
hold on;
grid on;
xlabel(' Signal-to-noise ratio SNR(dB)')
ylabel(' Bit error rate SBR')
save R1.mat SNR errors
4. Simulation results

A1-169
边栏推荐
- 蓝桥杯单片机省赛第九届
- 蓝桥杯单片机省赛第十二届第二场
- Qt的网络连接方式
- ThreadLocal详解
- The page in H5 shows hidden execution events
- 5G時代全面到來,淺談移動通信的前世今生
- Visual slam Lecture 3 -- Lie groups and Lie Algebras
- Unity脚本的基础语法(8)-协同程序与销毁方法
- Analyse de 43 cas de réseaux neuronaux MATLAB: Chapitre 42 opérations parallèles et réseaux neuronaux - - opérations parallèles de réseaux neuronaux basées sur CPU / GPU
- 软件测试人的第一个实战项目:web端(视频教程+文档+用例库)
猜你喜欢

Set vscode. When double clicking, the selected string includes the $symbol - convenient for PHP operation

Interface debugging tool simulates post upload file - apipost

Account management of MySQL

【DesignMode】建造者模式(Builder model)

Yan Rong looks at how to formulate a multi cloud strategy in the era of hybrid cloud

MySQL advanced (Advanced) SQL statement (II)

The first game of the 12th Blue Bridge Cup single chip microcomputer provincial competition

《MATLAB 神经网络43个案例分析》:第42章 并行运算与神经网络——基于CPU/GPU的并行神经网络运算

How should the team choose the feature branch development mode or trunk development mode?

Basic syntax of unity script (6) - specific folder
随机推荐
Xlwings drawing
5G时代全面到来,浅谈移动通信的前世今生
[HCIA continuous update] working principle of OSPF Protocol
【小技巧】使用matlab GUI以对话框模式读取文件
Fourier series
Failed to upgrade schema, error: “file does not exist
The 8th Blue Bridge Cup single chip microcomputer provincial competition
The first game of the 12th Blue Bridge Cup single chip microcomputer provincial competition
PY3, PIP appears when installing the library, warning: ignoring invalid distribution -ip
JIT deep analysis
Account management of MySQL
焱融看 | 混合雲時代下,如何制定多雲策略
MySQL index, transaction and storage engine
Introduction to Robotics II. Forward kinematics, MDH method
What do you know about stock selling skills and principles
Kotlin基础学习 16
蓝桥杯单片机省赛第十二届第一场
Kotlin basic learning 14
The 11th Blue Bridge Cup single chip microcomputer provincial competition
近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下