nlspec.m
来自「自适应滤波原理_西蒙.赫金_Matlab_源代码 希望能够对学习自适应滤波技术」· M 代码 · 共 50 行
M
50 行
%-----------------------------------------------------------
% Compute spectrum through nonlinearity
%-----------------------------------------------------------
Nbits = 10000;
Rs = 16; % upsampling rate
rolloff = 0.50; % rolloff for raised cosine filtering
Ntaps = 101; % number of filter taps
Txfilt = rrcfilt(1/Rs/2,rolloff,201);
BackOff = [1]; % input backoff of nonlinearity
%--- QPSK modulation ----------------
Data = sign(randn(Nbits,1)) + j*sign(randn(Nbits,1));
Data = [1; zeros(Rs-1,1)] * Data';
Data = Data(:);
%--- pi/4-QPSK ----------------------
% Data = sign(randn(1,Nbits)) + j*sign(randn(1,Nbits));
% Rot = exp(j*pi/4) .^ [1:length(Data)];
% Data = Data .* Rot;
%
% Data = [1; zeros(Rs-1,1)] * Data;
% Data = Data(:);
%--- OQPSK --------------------------
% Data = [1; zeros(Rs-1,1)] * sign(randn(1,Nbits)) + ...
% j * [zeros(Rs/2,1); 1; zeros(Rs/2-1,1)] * sign(randn(1,Nbits));
% Data = Data(:);
TxSig = filter(Txfilt,1,Data);
Vrms = std(TxSig);
freq = Rs*[-512:511]'/1024; % frequency in symbol rates
temp = [];
for i=1:length(BackOff)
BoSig = TxSig/Vrms * 10^(-BackOff(i)/20);
ClipInd = find(abs(BoSig)>1);
BoSig(ClipInd) = BoSig(ClipInd) ./ abs(BoSig(ClipInd));
Nlsig = BoSig;
temp = [temp Nlsig];
end
spectra(temp,1024,Rs);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?