QPSK调制解调完整程序配有自己的注释Word文件下载.docx
- 文档编号:20487212
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:7
- 大小:16.37KB
QPSK调制解调完整程序配有自己的注释Word文件下载.docx
《QPSK调制解调完整程序配有自己的注释Word文件下载.docx》由会员分享,可在线阅读,更多相关《QPSK调制解调完整程序配有自己的注释Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
rand_data(i)=1;
else
rand_data(i)=0;
end
%serieltoparallel%同时单极性码转为双极性码
ifrem(i,2)==1
ifrand_data(i)==1
I(i)=1;
I(i+1)=1;
I(i)=-1;
I(i+1)=-1;
Q(i-1)=1;
Q(i)=1;
Q(i-1)=-1;
Q(i)=-1;
%zeroinsertion,此过程称为成形。
成形的意思就是实现由消息到波形的转换,以便发射,脉冲成形应该是在基带调制之后。
zero=5;
%samplingrate25MHZ,明白了,zero为过采样率。
它等于采样率fs/码速率。
zero*data%采样点数目=过采样率*原码数目
ifrem(i,zero)==1
Izero(i)=I(fix((i-1)/zero)+1);
Qzero(i)=Q(fix((i-1)/zero)+1);
Izero(i)=0;
Qzero(i)=0;
%pulseshapefilter,接着,将进行低通滤波,因为随着传输速率的增大,基带脉冲的频谱将变宽
%如果不滤波(如升余弦滤波)进行低通滤波,后面加载频的时候可能会出现困难。
%平方根升余弦滤波器
%psf=rcosfir(rf,n_t,rate,fs,'
sqrt'
)rate:
过采样率,rf:
滚降因子,n_t:
滤波器阶数,fs:
采样率
%用在调制或发送之前,用在解调或接受之后,用来降低过采样符号流带宽并不引发ISI(码间串扰)
NT=50;
N=2*zero*NT;
%=500
fs=25e6;
rf=0.1;
psf=rcosfir(rf,NT,zero,fs,'
);
%psf大小为500
Ipulse=conv(Izero,psf);
Qpulse=conv(Qzero,psf);
%为什么数字信号传输也要过采样,成形滤波?
%答:
过采样的数字信号处理起来对低通滤波器的要求相对较低,如果不过采样,滤波的时候滤波器需要很陡峭,指标会很严格
%成形滤波的作用是保证采样点不失真。
如果没有它,那信号在经过带限信道后,眼图张不开,ISI非常严重。
成形滤波的位置在基带调制之后。
%因为经成形滤波后,信号的信息已经有所损失,这也是为避免ISI付出的代价。
换句话说,成形滤波的位置在载波调制之前,仅挨着载波调制。
%即:
(发送端)插值(采样)-成形-滤波(LPF)-加载频(载波调制)-加噪声至(接收端)乘本振-低通-定时抽取-判决。
%modulation
zero*data+N%采样点数目改变(因为卷积的缘故)
t(i)=(i-1)/(fs);
%这里因为假设载频与码速率大小相等,所以用载频fc乘以过采样率=采样率。
Imod(i)=Ipulse(i)*sqrt
(2)*cos(2*pi*fc*t(i));
Qmod(i)=Qpulse(i)*(-sqrt
(2)*sin(2*pi*fc*t(i)));
sum=Imod+Qmod;
%QPSKreceiver
%demodulation
zero*data+N
Idem(i)=sum(i)*sqrt
(2)*cos(2*pi*fc*t(i));
Qdem(i)=sum(i)*(-sqrt
(2)*sin(2*pi*fc*t(i)));
end
%matchedfilter
mtf=rcosfir(rf,NT,zero,fs,'
Imat=conv(Idem,mtf);
Qmat=conv(Qdem,mtf);
%dataselection
zero*data
Isel(i)=Imat(i+N);
Qsel(i)=Qmat(i+N);
%sampler%提取码元
Isam(i)=Isel((i-1)*zero+1);
Qsam(i)=Qsel((i-1)*zero+1);
%decisionthreshold
threshold=0.2;
ifIsam(i)>
=threshold
Ifinal(i)=1;
Ifinal(i)=-1;
ifQsam(i)>
Qfinal(i)=1;
Qfinal(i)=-1;
%paralleltoserial
ifrem(i,2)==1
ifIfinal(i)==1
final(i)=1;
final(i)=0;
ifQfinal(i)==1
%绘图
figure
(1)
plot(20*log(abs(fft(rand_data))));
axis([0data-40100]);
gridon;
title('
spectrumofinputbinarydata'
figure
(2)
subplot(221);
plot(20*log(abs(fft(I))));
axis([0data-40140]);
spectrumofI-channeldata'
subplot(222);
plot(20*log(abs(fft(Q))));
spectrumofQ-channeldata'
subplot(223);
plot(20*log(abs(fft(Izero))));
axis([0zero*data-20140]);
spectrumofI-channelafterzeroinsertion'
subplot(224);
plot(20*log(abs(fft(Qzero))));
spectrumofQ-channelafterzeroinsertion'
figure(3);
plot(psf);
axis([200300-0.20.6]);
timedomainresponseofpulseshapingfilter'
gridon;
plot(20*log(abs(fft(psf))));
axis([0N-35050]);
transferfunctionofpulseshapingfilter'
plot(20*log(abs(fft(Ipulse))));
axis([0zero*data+N-250150]);
spectrumofI-channelafterimpulseshapingfilter'
plot(20*log(abs(fft(Qpulse))));
spectrumofQ-channelafterpluseshapingfilter'
figure(4)
subplot(211);
plot(20*log(abs(fft(Imod))));
gridon;
spectrumofI-channelaftermodulation'
subplot(212);
plot(20*log(abs(fft(Qmod))));
spectrumofQ-channelaftermodulation'
figure(5)
plot(20*log(abs(fft(Idem))));
axis([0zero*data-200150]);
spectrumofI-channelafterdemodulation'
plot(20*log(abs(fft(Qdem))));
axis([0zero*data+N-200150]);
spectrumofQ-channelafterdemodulation'
plot(20*log(abs(fft(Imat))));
axis([0zero*data-400200]);
spectrumofI-channelaftermatchedfilter'
subplot(224);
plot(20*log(abs(fft(Qmat))));
spectrumofQ-channelaftermatchedfilter'
figure(6)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QPSK 调制 解调 完整 程序 配有 自己 注释