当前位置:网站首页>【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
边栏推荐
- leetcode-1380. Lucky number in matrix
- Global and Chinese markets for welding equipment and consumables 2022-2028: Research Report on technology, participants, trends, market size and share
- Oracle的md5
- Xlwings drawing
- 【人员密度检测】基于形态学处理和GRNN网络的人员密度检测matlab仿真
- [designmode] builder model
- 蓝桥杯单片机数码管技巧
- js生成随机数
- VS2010 plug-in nuget
- MySQL advanced (Advanced) SQL statement (II)
猜你喜欢
蓝桥杯单片机省赛第五届
The first game of the 12th Blue Bridge Cup single chip microcomputer provincial competition
近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下
Generate random numbers that obey normal distribution
"Analysis of 43 cases of MATLAB neural network": Chapter 42 parallel operation and neural network - parallel neural network operation based on cpu/gpu
MySQL index, transaction and storage engine
一天上手Aurora 8B/10B IP核(5)----从Framing接口的官方例程学起
In wechat applet, the externally introduced JS is used in xwml for judgment and calculation
It took me only 3 months to jump out of the comfort zone and become an automated test engineer for 5 years
What do you know about stock selling skills and principles
随机推荐
Kotlin基础学习 15
Haute performance et faible puissance Cortex - A53 Core Board | i.mx8m mini
蓝桥杯单片机省赛第十届
Download and use of the super perfect screenshot tool snipaste
【DesignMode】建造者模式(Builder model)
焱融看 | 混合雲時代下,如何制定多雲策略
[untitled] basic operation of raspberry pie (2)
数据库文件逻辑结构形式指的是什么
《MATLAB 神经网络43个案例分析》:第41章 定制神经网络的实现——神经网络的个性化建模与仿真
In depth interpretation of pytest official documents (26) customized pytest assertion error information
Discrimination between sap Hana, s/4hana and SAP BTP
Getting started with MQ
【直播回顾】战码先锋首期8节直播完美落幕,下期敬请期待!
"Analysis of 43 cases of MATLAB neural network": Chapter 42 parallel operation and neural network - parallel neural network operation based on cpu/gpu
Imageai installation
Comment élaborer une stratégie nuageuse à l'ère des nuages mixtes
Yan Rong looks at how to formulate a multi cloud strategy in the era of hybrid cloud
Object oriented thinking
Aaaaaaaaaaaa
Kotlin基础学习 16