📄 blindequalizer.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Blind Equalizer Simulation %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;clear;close all;
%%== System Setup ==%%
load channel.mat;
channel=channel/norm(channel);
load srrc18.mat;
srrc=h/norm(h);
fb=5e6; % 5M Hz
fs=4*fb; % 20M Hz
fc=fb;
%%== 64 QAM Transmitter ==%%
%-- 64 QAM Symbol Generation
nums=20000;
bitstream=randint(1,nums,64);
qam64=qammod(bitstream,64);
%-- 4 times oversampling SRRC filtering
I4=zeros(1,4*nums);
Q4=zeros(1,4*nums);
I4(1:4:4*nums)=real(qam64);
Q4(1:4:4*nums)=imag(qam64);
I4tx=filter(srrc,1,I4);
Q4tx=filter(srrc,1,Q4);
tx=I4tx+j*Q4tx;
%%-- pass the channel
tx_ch=filter(channel,1,tx);
%%-- Baseband Carrier Offset Modulation
phase_off=pi/6;
df=100e3; % 100 KHz;
[rnum cnum]=size(I4tx);
t=[1:cnum]/fs;
tx_off=tx_ch.*exp(j*(2*pi*df*t+phase_off));
%%-- add AWGN
snr=20;
r_amp=sqrt(sum(tx_off.^2)/length(tx_off));
noise_amp=r_amp/10^(snr/20);
tx_awgn=tx_off+randn*noise_amp;
%%== 64 QAM receiver ==%%
%%-- Matched Filtering
rx=filter(srrc,1,tx_awgn);
%%-- Downsample 2
rx2=downsample(rx,2);
rx2=rx2.';
%%---------------%%
% CMA %
%%---------------%%
%%-- Parameter Setup
step=2^-23;%23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -