%==========================================================================
% The mfile investigates the effects of high power amplifier on the ofdam
% signals. The effects on spectrum ang Modulation Error Rate (MER) is of
% more concern.
%
% Written By : Hamid Ramezani
% Date : 17-Jun-2007
% Code version : 1
% Matlab Version : 7.4.0.287 (R2007a)
%==========================================================================
% Initialization
clear all;
close all;
clc;
%==========================================================================
% Setting Parameters
%==========================================================================
N = 256;
M = 64;
numOfZeros = N/4+1;
GI = 1/4;
BW = 20;
numOfSym = 100;
satLevel = 5;
%==========================================================================
% Main Program
%==========================================================================
txData = randint(N-numOfZeros,numOfSym,M);
txDataMod = qammod(txData,M);
txDataZpad = [txDataMod((N-numOfZeros+1)/2:end,:);...
zeros(numOfZeros,numOfSym);...
txDataMod(1:(N-numOfZeros+1)/2-1,:)];
txDataZpadIfft = sqrt(N)*ifft(txDataZpad,N);
txDataZpadIfftGI = [txDataZpadIfft((1-GI)*N+1:end,:);txDataZpadIfft];
txDataZpadIfftGIAbs = abs(txDataZpadIfftGI);
txDataZpadIfftGIAbsStd = mean(std(txDataZpadIfftGIAbs));
txDataZpadIfftGIAbsMean = mean(mean(txDataZpadIfftGIAbs));
txDataZpadIfftGIAng = angle(txDataZpadIfftGI);
txDataZpadIfftGIAbsHPA = txDataZpadIfftGIAbs ./...
sqrt(1+(txDataZpadIfftGIAbs/(txDataZpadIfftGIAbsMean*10^(satLevel/10))).^2);
txDataZpadIfftGIAngHPA = txDataZpadIfftGIAng;
txDataZpadIfftGIAbsHPAmean = mean(mean(txDataZpadIfftGIAbsHPA));
txDataZpadIfftGIAbsHPAStd = mean(std(txDataZpadIfftGIAbsHPA));
txDataZpadIfftGIHPA = txDataZpadIfftGIAbsHPA.* ...
exp(sqrt(-1) * txDataZpadIfftGIAngHPA);
rxDataZpadIfftHPA = txDataZpadIfftGIHPA(GI*N+1 : N+GI*N,:);
rxDataZpadHPA = 1/sqrt(N)*fft(rxDataZpadIfftHPA,N);
rxDataModHPA = [rxDataZpadHPA((N-(N-numOfZeros-1)/2+1):N,:);...
rxDataZpadHPA(1:(N-numOfZeros+1)/2,:)];
rxDataHPA = qamdemod(rxDataModHPA/mean(std(rxDataModHPA))*mean(std(txDataMod)),M);
%==========================================================================
% statistical computation
%==========================================================================
MER = 10*log10(mean(var(rxDataModHPA./mean(std(rxDataModHPA))...
- txDataMod./mean(std(txDataMod)))));
[num BER] = symerr(rxDataHPA,txData);
%==========================================================================
% graphical observation
%==========================================================================
f1 = figure(1);
set(f1,'color',[1 1 1]);
subplot(2,2,1);
spectrumFftSize = 2*N;
txSpec = 20*log10(mean(abs(fft(txDataZpadIfftGI(:,:)./ ...
mean(std(txDataZpadIfftGI)),spectrumFftSize)),2));
HpaSpec = 20*log10(mean(abs(fft(txDataZpadIfftGIHPA(:,:)./ ...
mean(std(txDataZpadIfftGIHPA)),spectrumFftSize)),2));
Freq = linspace(-BW/2,BW/2,length(txSpec));
plot(Freq,[txSpec(length(txSpec)/2:length(txSpec));...
txSpec(1:(length(txSpec)/2-1))]);
hold on
grid on
plot(Freq,[HpaSpec(length(txSpec)/2:length(txSpec));...
HpaSpec(1:(length(txSpec)/2-1))],'r');
grid on;
xlabel('representing frequency');
ylabel('spectrum signals (first symbol)');
title('Spectrum Effects')
legend('Befor Amplifier','After Amplifier')
subplot(2,2,2);
plot(real(reshape(rxDataModHPA,1,numOfSym*(N-numOfZeros)))/mean(std(rxDataModHPA)),...
imag(reshape(rxDataModHPA,1,numOfSym*(N-numOfZeros)))/mean(std(rxDataModHPA)),'.r')
hold on
plot(real(reshape(txDataMod,1,numOfSym*(N-numOfZeros)))/mean(std(txDataMod)),...
imag(reshape(txDataMod,1,numOfSym*(N-numOfZeros)))/mean(std(txDataMod)),'.b')
xlabel('I channel');
ylabel('Q channel');
title('signal Constelleations');
legend('After Amplifier','Before Amplifier');
subplot(2,2,3)
txAmp = linspace(0,5,100);
amAmp = txAmp./(1+(txAmp/satLevel).^2);
plot(txAmp,txAmp,'b');
hold on
plot(txAmp,amAmp,'r');
plot(1,1,'om');
xlabel('Input Amplitude');
ylabel('Output Amplitude');
title('AM/AM response of power amplifier');
legend('Linear Response','Amplifier Response','Mean of OFDM Amplitude');
subplotHandel = subplot(2,2,4);
text(0,1 ,['Mean Error Rate : ',num2str(MER),' dB']);
text(0,.8,['Bit Error Rate : ',num2str(BER)]);
text(0,.6,['Modulation : ',num2str(M),' QAM']);
text(0,.4,['IFFT Size : ',num2str(N),' points']);
text(0,.2,['Guard Interval Size : ',num2str(N),' points']);
text(0,.0,['Saturation Level : ',num2str(satLevel),' dB relative to AM Avg']);
set(subplotHandel,'Xcolor',[1 1 1]);
set(subplotHandel,'Ycolor',[1 1 1]);
OFDM.rar_OFDM simple_ofdm_ofdm model_ofdm简单仿真_简单OFDM
版权申诉
68 浏览量
2022-09-22
17:28:34
上传
评论
收藏 2KB RAR 举报
寒泊
- 粉丝: 75
- 资源: 1万+
最新资源
- RAG技术知识图谱概览
- VMware Workstation功能强大的桌面虚拟计算机软件
- 中文命名实体识别,采用bilstm+crf模型基于Pytorch实现
- PowerGREP V5.3.3 Retail
- 美赛数学建模算法-使用Matlab实现灰色系统建模GreySystem-国赛-题解.zip
- 基于albert-bilstm-crf架构利用keras框架实现NER
- RegexMagic V2.13.1 Retail
- python-3.6.5-macosx 安装包
- 美赛数学建模算法-使用Matlab实现图论GraphTheory-包括求最短路径-国赛-题解.zip
- RegexBuddy v4.14.1 Retail
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈