- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QPSK和4QAM代码
% Default parameters
%QOSK
NN = 256; % number of symbols
tb = 0.5; % bit time
p0 = 1; % power
fs = 16; % samples/symbol
ebn0db = [0:1:15]; % Eb/N0 vector
[b,a] = butter(5,1/16); % transmitter filter parameters
%
% Establish QPSK signals
%
x = random_binary(NN,fs)+1i*random_binary(NN,fs); % QPSK signal
y1 = x; % save signal
y2a = y1*sqrt(p0); % scale amplitude
%
% Transmitter filter
%
y2 = filter(b,a,y2a); % filtered signal
%
% Matched filter
%
b = ones(1,fs); b = b/fs; a = 1; % matched filter parameters
y = filter(b,a,y2); % matched filter output
%
% End of simulation
%
% Use the semianalytic BER estimator. The following sets
% up the semi analytic estimator. Find the maximum magnitude
% of the cross correlation and the corresponding lag.
%
[cor, lags] = vxcorr(x,y);
cmax = max(abs(cor));
nmax = find(abs(cor)==cmax);
timelag = lags(nmax);
theta = angle(cor(nmax));
y = y*exp(-1i*theta); % derotate
%
% Noise BW calibration
%
hh = impz(b,a); % receiver impulse response
nbw = (fs/2)*sum(hh.^2); % noise bandwidth
%
% Delay the input, and do BER estimation on the last 128 bits.
% Use middle sample. Make sure the index does not exceed number
% of input points. Eb should be computed at the receiver input.
%
index = (10*fs+8:fs:(NN-10)*fs+8);
xx = x(index);
yy = y(index-timelag+1);
[n1, n2] = size(y2); ny2=n1*n2;
eb = tb*sum(sum(abs(y2).^2))/ny2;
eb = eb/2;
[peideal,pesystem] = qpsk_berest(xx,yy,ebn0db,eb,tb,nbw);
subplot(1,2,1)
yscale = 1.5*max(real(yy));
plot(yy,+)
xlabel(Direct Sample); ylabel(Quadrature Sample); grid;
axis([-yscale yscale -yscale yscale])
subplot(1,2,2)
s
文档评论(0)