自适应信道均衡-无ISI信道,适当ISI信道,很强ISI信道的matlab的源程序,请教高手
1个回答
展开全部
均衡器Matlab例程(1)解析
Equalizing Using a Training Sequence
例程代码
% Set up parameters and signals.
M = 4; % Alphabet size for modulation
msg = randint(1500,1,M); % Random message,产生一个1500 x 1 在[0,M-1]区域内的随机整数序列
modmsg = pskmod(msg,M); % Modulate using QPSK. 进行QPSK调制的映射
trainlen = 500; % Length of training sequence 定义训练序列的帧长
chan = [.986; .845; .237; .123+.31i]; % Channel coefficients 定义信道参量
filtmsg = filter(chan,1,modmsg); % Introduce channel distortion. 模拟信道变化
% Equalize the received signal.
eq1 = lineareq(8, lms(0.01)); % Create an equalizer object.
eq1.SigConst = pskmod([0:M-1],M); % Set signal constellation. 设置星座图
[symbolest,yd] = equalize(eq1,filtmsg,modmsg(1:trainlen)); % Equalize.
% Plot signals.
h = scatterplot(filtmsg,1,trainlen,'bx'); hold on; 以蓝星画出未经过均衡的信号
scatterplot(symbolest,1,trainlen,'锋洞知g.',h); 在原图颤大的基础上以绿色画出经过均衡后的信号
scatterplot(eq1.SigConst,1,0,'k*',h); 在原银消图的基础上以黄色标出理想星座图
legend('Filtered signal','Equalized signal',...
'Ideal signal constellation');
hold off;
% Compute error rates with and without equalization. 计算误码率
demodmsg_noeq = pskdemod(filtmsg,M); % Demodulate unequalized signal. 解调未均衡的码字
demodmsg = pskdemod(yd,M); % Demodulate detected signal from equalizer.解调已均衡的码字
[nnoeq,rnoeq] = symerr(demodmsg_noeq(trainlen+1:end),...对比未均衡信号和样本信号的误码和误码率
msg(trainlen+1:end));
[neq,req] = symerr(demodmsg(trainlen+1:end),...
msg(trainlen+1:end)); 对比均衡信号和样本信号的误码和误码率
disp('Symbol error rates with and without equalizer:')
disp([req rnoeq]
Equalizing Using a Training Sequence
例程代码
% Set up parameters and signals.
M = 4; % Alphabet size for modulation
msg = randint(1500,1,M); % Random message,产生一个1500 x 1 在[0,M-1]区域内的随机整数序列
modmsg = pskmod(msg,M); % Modulate using QPSK. 进行QPSK调制的映射
trainlen = 500; % Length of training sequence 定义训练序列的帧长
chan = [.986; .845; .237; .123+.31i]; % Channel coefficients 定义信道参量
filtmsg = filter(chan,1,modmsg); % Introduce channel distortion. 模拟信道变化
% Equalize the received signal.
eq1 = lineareq(8, lms(0.01)); % Create an equalizer object.
eq1.SigConst = pskmod([0:M-1],M); % Set signal constellation. 设置星座图
[symbolest,yd] = equalize(eq1,filtmsg,modmsg(1:trainlen)); % Equalize.
% Plot signals.
h = scatterplot(filtmsg,1,trainlen,'bx'); hold on; 以蓝星画出未经过均衡的信号
scatterplot(symbolest,1,trainlen,'锋洞知g.',h); 在原图颤大的基础上以绿色画出经过均衡后的信号
scatterplot(eq1.SigConst,1,0,'k*',h); 在原银消图的基础上以黄色标出理想星座图
legend('Filtered signal','Equalized signal',...
'Ideal signal constellation');
hold off;
% Compute error rates with and without equalization. 计算误码率
demodmsg_noeq = pskdemod(filtmsg,M); % Demodulate unequalized signal. 解调未均衡的码字
demodmsg = pskdemod(yd,M); % Demodulate detected signal from equalizer.解调已均衡的码字
[nnoeq,rnoeq] = symerr(demodmsg_noeq(trainlen+1:end),...对比未均衡信号和样本信号的误码和误码率
msg(trainlen+1:end));
[neq,req] = symerr(demodmsg(trainlen+1:end),...
msg(trainlen+1:end)); 对比均衡信号和样本信号的误码和误码率
disp('Symbol error rates with and without equalizer:')
disp([req rnoeq]
参考资料: http://zybinjiang.spaces.live.com/blog/cns!D20437C72D8CAB0C!161.trak
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询