收藏 分享(赏)

基于MATLAB的π.doc

上传人:精品资料 文档编号:11238563 上传时间:2020-02-22 格式:DOC 页数:13 大小:684.71KB
下载 相关 举报
基于MATLAB的π.doc_第1页
第1页 / 共13页
基于MATLAB的π.doc_第2页
第2页 / 共13页
基于MATLAB的π.doc_第3页
第3页 / 共13页
基于MATLAB的π.doc_第4页
第4页 / 共13页
基于MATLAB的π.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、基于 MATLAB 的 QPSK 的仿真实现4(刘海亮 通信 1201 1230440103)摘 要在以前的数字蜂窝系统中,往往采用 FSK、ASK 、PSK 等调制方式。随着数字蜂窝系统的发展,对调制和数字蜂窝系统的技术要求越来越高, 许多优秀的调制技术应运而生,其中 /4QPSK 技术是无线通信中比较突出的一种二进制调制方法本文概述了 /4QPSK 的调制解调原理及其所实现的功能。并通过 MATLAB编程对系统在相同条件下,对比了加噪声和没有噪声的情况进行了比较,并画出了它的眼图,及已调制信号的时域波形和频谱。并通过眼图分析其性能。关键字:/4QPSK;调制解调原理; MATLAB 编程;

2、眼图1 引言无线通信在现代社会中起着举足轻重的作用。从日常生活到航空航天,从工商业运作到军事领域,无线通信得到了越来越广泛的应用。现代数字调制技术的发展,使得传输速率和频谱的利用率进一步得到提高,功率更加节省。在相同的码元速率下,多进制系统的信息传输速率显然比二进制系统高,但信息速率的提高是以牺牲功率为代价的。显然增大码元宽度,就会增加码元的能量,同时也减少了由于信道特性引起的码间串扰等。恒包络调制适用于限带非线性信道中,能有效地防止非线性引起的幅频效应,节省功率,提高频谱的利用率。多进制调制和恒包络调制这两种技术结合在一起能取得更好的调制效果。为了使基带信号更好的利用信道进行传输,必须使代表

3、的原始信号经过调制,而调制技术的好坏影响频谱资源的利用和通信性能的好坏。/4QPSK 在 QPSK的基础上,克服了 180相位突变,信号轨迹不经过原点,有了更好的功率效率。2 /4QPSK 调制解调原理2.1 /4QPSK 调制原理/4QPSK 也是在 QPSK 的基础上发展起来的。不同的是这里把信号的相位平面分成 /4 的八种相位,八种相位相间的又分成两个相位组。如图 1 所示。图中带*的相位为一组,带。的相位为另一组。规定 /4QPSK 信号相位每隔 Ts=2Tb 秒必须从一个组跳变到另一个组。如果当前码元的信号相位等于*组 4 个相位的一个,那么,下一个码元的信号相位只能变成。组中4 个

4、相位的一个,反之也一样。这说明,图 1 中,符号不同的相位分别构成一个 QPSK 相量图,只是两者在相位上错开 /4 。图 1 可以看出,在相邻码元之间,信号相位共有 4 种,即 , 不会出现 。43图 1 /4QPSK 信号的矢量图/4QPSK 信号的表示式可以写成(式 1)ttts ckkckkckk sin)1sin(o)o(is1 式中 是当前码元信号相位 与前一码元信号 之差。所谓差分相位编码,k就是利用相位差 来携带所需传输的信息。对于 /4QPSK 信号来讲,对当k前码元数据取值, 的取值范围为 , 四种取值,其编码规则为:43AB=00 对应 /4 的相位,AB=10 对应 3

5、/4 的相位,AB=11 对应-3/4 的相位,AB=01 对应-/4 的相位。显然令信号的初始相位为 0,则当前码元的相位可能有 0, ,4和 /2 这八种初始相位。如图 1 所示。我们令43)sin(),cos(11 kkkkkYX则有(式 2)kksicosin)()((式 3)kkk kXYsinsi)()in(111上式说明, 和 完全取决于前一码元的相位及前后码元的相位差,且 和kX的取值只有 0, , 五种。因此 /4QPSK 的信号包络不是恒定的。k2为了获取已调 /4QPSK 信号,只要获取输入的当前码元数据所对应得 和k取值,再将其分别与相互正交载波信号 相乘,并进行加法运

6、算kY tccsin,o即可,其组成框图如图 2 所示图 2 /4QPSK 调制的原理框图图中的成形滤波器的目的,一是为了抑制已调信号的带外功率辐射,二是去除接受端的码元串扰。2.2 /4QPSK 的解调原理/4QPSK 的常用解调方式也有相干解调和非相干解调两种方式。非相干解调主要分为鉴频检测和中频差分解调两种。在这里,我们采用的是中频差分解调。图 3 为中频差分解调框图。图 3 中频差分解调框图从图中可以看出,这种电路不需要另外的振荡器产生本地正交载波;经过延时的信号 与两个支路的信号 和 分别相)cos()1kktt)cos(kt)sin(kct乘,即(式 4))cs()sin(o1)(

7、 kkck cttVU经虑波和取样,可得 (式 5))sin(21co1)()( kkQI根据 /4QPSK 信号基带信号的编码规则, 只有四种取值。编码规1kk则为:AB=00 对应 的相位, AB=10 对应 的相位,AB=11 对应 -3/4443的相位,AB=01 对应 的相位。当 为 时, 当k ;0)(,)(kQI为 时, ;当 为 时, 当k30)(,)(kQI为 时, 。因此,可以对 的符号进行判决,进而直接判决输出发射端的原始数据。判决规则为: 时判为 0,否则判)(kI为 1; 时判为 0,否则判为 1。)(kQ3 /4 QPSK 信号的调制解调建模根据前面的原理分析可知,

8、产生调制信号并不难,直接按照框图来就是,但是解调在延式那块不能用直接延时来处理,必须采用 Hilbert 变换滤波器来实现。因为直接延时的前提是获取准确的载波频率,显然,这种处理的方法随着载波频率的估计误差,以及移动环境下的载波频率的偏移会带来较大误差。Hilbert 滤波器是一个准确的相位延时系统,Hilbert 滤波器是以个全通的滤波器,会产生 90 度的相移,其频响为:(式 6)0,)(jjehMATLAB 中提供了现成的 Hilbert 滤波器设计函数 firm()。4 MATALAB 仿真 /4 QPSK 信号的调制解调(差分解调)过程1)仿真 QPSK 信号的产生方法;2)仿真差分

9、解调 /4QPSK 信号的过程;3)符号速率 Rb=1Mbps;4)基带成形滤波器滚降系数 =0.8;5)采样速率为 =8Rb;fs绘制 /4 QPSK 信号已调信号的频谱及时域波形,绘制解调后的同相反向支路眼图4.1 /4 QPSK 调制过程的程序清单ps=1*106; %码速率为 1MHza=0.8; %成形滤波器系数B=(1+a)*ps; %中频信号处理带宽Fs=8*106; %采样速率fc=2*106; %载波频率N=2000; %仿真数据的长度t=0:1/Fs:(N*Fs/ps-1)/Fs; %产生长度为 N,频率为 fs 的时间序列s=randint(N,1,4); %产生随机四进

10、制数据作为原始数据%将绝对码变换为相对码%xk=ones(1,N);yk=ones(1,N);for i=2:Nif s(i)=0xk(i)=xk(i-1)*cos(pi/4)-yk(i-1)*sin(pi/4);yk(i)=yk(i-1)*cos(pi/4)+xk(i-1)*sin(pi/4);elseif s(i)=1xk(i)=xk(i-1)*cos(-pi/4)-yk(i-1)*sin(-pi/4);yk(i)=yk(i-1)*cos(-pi/4)+xk(i-1)*sin(-pi/4);elseif s(i)=2xk(i)=xk(i-1)*cos(3*pi/4)-yk(i-1)*sin

11、(3*pi/4);yk(i)=yk(i-1)*cos(3*pi/4)+xk(i-1)*sin(3*pi/4);elseif s(i)=3xk(i)=xk(i-1)*cos(-3*pi/4)-yk(i-1)*sin(-3*pi/4);yk(i)=yk(i-1)*cos(-3*pi/4)+xk(i-1)*sin(-3*pi/4);endend%对相对码数据以 Fs 频率采样%Ads_i=upsample(xk,Fs/ps);Ads_q=upsample(yk,Fs/ps);%加噪声%SNR=20;%Ads_i=awgn(Ads_i,SNR);%Ads_q=awgn(Ads_q,SNR);%设计平方

12、根升余弦滤波器%n_T=-2 2;rate=Fs/ps;T=1;Shape_b = rcosfir(a,n_T,rate,T,sqrt);%对采样后的数据进行升余弦滤波%rcos_Ads_i=filter(Shape_b,1,Ads_i);rcos_Ads_q=filter(Shape_b,1,Ads_q);%产生同相正交两路载频信号f0_i=cos(2*pi*fc*t);f0_q=sin(2*pi*fc*t);%产生 PI/4_QPSK 已调信号piqpsk=rcos_Ads_i.*f0_i-rcos_Ads_q.*f0_q;4.2 Hilbert 滤波器的设计程序清单%设计 Hilbert

13、 滤波器及相同阶数的普通带通滤波器fpm=0 0.25 1 3 3.75 4*106*2/Fs; %firpm 函数的频段向量magpm=0 0 1 1 0 0; %firpm 函数的幅值向量n=30; %滤波器阶数h_bpf=firpm(n,fpm,magpm,hilbert) ; %Hilbert 带通滤波器bpf=firpm(n,fpm,magpm); %普通带通滤波器3) QPSK 的解调过程程序清单4%完成对 PI/4_QPSK 信号的 Hilbert 滤波及普通滤波piqpsk_i=filter(bpf,1,piqpsk);piqpsk_q=filter(h_bpf,1,piqps

14、k);%对普通带通滤波后的数据进行一个符号周期延时处理piqpsk_di=zeros(1,Fs/ps),piqpsk_i(1:length(piqpsk_i)-Fs/ps);%实现差分解调demod_mult_i=piqpsk_i.*piqpsk_di;demod_mult_q=piqpsk_q.*piqpsk_di;%对乘法运算后的同相正交支路滤波demod_i=filter(Shape_b,1,demod_mult_i);demod_q=filter(Shape_b,1,demod_mult_q);5 结果分析图 4 QPSK 信号的频谱及时域波形图图 5 同相支路眼图0 2 4 6 8

15、10 12 14-1-0.500.51信信(us)信信(V)0 0.5 1 1.5 2 2.5 3 3.5 4-80-60-40-200信信(MHz)信信(dB)PI/4 QPSK信信信信PI/4 QPSK信信信信信信-0.5 0 0.5-0.3-0.2-0.100.10.20.30.4TimeAmplitudeEye Diagram -0.5 0 0.5-0.4-0.3-0.2-0.100.10.20.30.4TimeAmplitudeEye Diagram 图 6 正交支路眼图图 7 加噪音之后的正交支路眼图图 8 加噪音之后的正交支路眼图-0.5 0 0.5-0.8-0.6-0.4-0.

16、200.20.40.6TimeAmplitudeEye Diagram -0.5 0 0.5-0.8-0.6-0.4-0.200.20.40.6TimeAmplitudeEye Diagram 0 0.2 0.4 0.6 0.8 1-3000-2000-100001000Normalized Frequency ( rad/sample)Phase (degrees)0 0.2 0.4 0.6 0.8 1-150-100-50050Normalized Frequency ( rad/sample)Magnitude (dB)图 9 Hilbert 滤波器由同相支路和正交支路眼图在加噪音和没加

17、噪音的情况下对比可知,没加噪音的眼图眼孔张得很大,眼图端正,表示码间串扰小,扫描到的波形重叠在一块,波形良好,说明具有良好的解调性能。反之,加了噪音的眼图,眼孔很小,眼线杂乱无章,说明此波形已失真。6 结束语随着通信事业的发展,通信系统的设计也会越来越复杂,通过计算机的仿真,可以大大地降低通信过程实验成本。本文设计出一个 QPSK 仿真模型,以衡4量 QPSK 在理想信道,高斯白噪声信道的性能,通过仿真,可以更好地了解4QPSK 系统的工作原理,而且为硬件的研制提供一定的参考作用。这次的通信专业方向设计让我把通信原理的一些内容又重新复习了一遍。当然在这过程中我也遇到了一些问题,比如刚开始我运行

18、程序的时候总是只有一个图出来,后来,经过查找相关资料,才得已实现。这次设计让我学会了很多,也认识到了自己还有很多方面的欠缺。7 参考文献【1】 通信原理(第六版)作者:樊昌信 曹丽娜,国防工业出版社【2】 数字调制解调技术的 MATLAB 与 FPGA 实现 作者:杜勇,电子工业出版社附 录完整程序清单:ps=1*106; %码速率为 1MHza=0.8; %成形滤波器系数B=(1+a)*ps; %中频信号处理带宽Fs=8*106; %采样速率fc=2*106; %载波频率N=2000; %仿真数据的长度t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为 N,频率为 fs 的时间序列

19、s=randint(N,1,4); %产生随机四进制数据作为原始数据%将绝对码变换为相对码%xk=ones(1,N);yk=ones(1,N);for i=2:Nif s(i)=0xk(i)=xk(i-1)*cos(pi/4)-yk(i-1)*sin(pi/4);yk(i)=yk(i-1)*cos(pi/4)+xk(i-1)*sin(pi/4);elseif s(i)=1 xk(i)=xk(i-1)*cos(-pi/4)-yk(i-1)*sin(-pi/4);yk(i)=yk(i-1)*cos(-pi/4)+xk(i-1)*sin(-pi/4);elseif s(i)=2 xk(i)=xk(i

20、-1)*cos(3*pi/4)-yk(i-1)*sin(3*pi/4);yk(i)=yk(i-1)*cos(3*pi/4)+xk(i-1)*sin(3*pi/4);elseif s(i)=3 xk(i)=xk(i-1)*cos(-3*pi/4)-yk(i-1)*sin(-3*pi/4);yk(i)=yk(i-1)*cos(-3*pi/4)+xk(i-1)*sin(-3*pi/4);endend%对相对码数据以 Fs 频率采样%Ads_i=upsample(xk,Fs/ps);Ads_q=upsample(yk,Fs/ps);%加噪声SNR=20;Ads_i=awgn(Ads_i,SNR);Ad

21、s_q=awgn(Ads_q,SNR);%设计平方根升余弦滤波器%n_T=-2 2;rate=Fs/ps;T=1;Shape_b = rcosfir(a,n_T,rate,T,sqrt);%对采样后的数据进行升余弦滤波;rcos_Ads_i=filter(Shape_b,1,Ads_i);rcos_Ads_q=filter(Shape_b,1,Ads_q);%产生同相正交两路载频信号%f0_i=cos(2*pi*fc*t); f0_q=sin(2*pi*fc*t); %产生 PI/4_QPSK 已调信号piqpsk=rcos_Ads_i.*f0_i-rcos_Ads_q.*f0_q; %设计

22、Hilbert 滤波器及相同阶数的普通带通滤波器fpm=0 0.25 1 3 3.75 4*106*2/Fs; %firpm 函数的频段向量magpm=0 0 1 1 0 0; %firpm 函数的幅值向量n=30; %滤波器阶数h_bpf=firpm(n,fpm,magpm,hilbert) ;%Hilbert 带通滤波器bpf=firpm(n,fpm,magpm); %普通带通滤波器%绘制 Hilbert 滤波器及普通带通滤波器频率响应freqz(h_bpf);freqz(bpf);%完成对 PI/4_QPSK 信号的 Hilbert 滤波及普通滤波piqpsk_i=filter(bpf,

23、1,piqpsk);piqpsk_q=filter(h_bpf,1,piqpsk);%对普通带通滤波后的数据进行一个符号周期延时处理piqpsk_di=zeros(1,Fs/ps),piqpsk_i(1:length(piqpsk_i)-Fs/ps);%实现差分解调demod_mult_i=piqpsk_i.*piqpsk_di;demod_mult_q=piqpsk_q.*piqpsk_di;%对乘法运算后的同相正交支路滤波demod_i=filter(Shape_b,1,demod_mult_i);demod_q=filter(Shape_b,1,demod_mult_q);%绘制解调后的

24、同相正交支路眼图eyediagram(demod_i,4*Fs/ps)eyediagram(demod_q,4*Fs/ps)%绘制 _QPSK 信号频谱、pi4_QPSK 信号时域波形4figure(1)m_piqpsk=20*log10(abs(fft(piqpsk,1024);m_piqpsk=m_piqpsk-max(m_piqpsk);%设置幅频响应的横坐标单位为 MHzx_f=0:(Fs/length(m_piqpsk):Fs/2;x_f=x_f/106;%只显示正频率部分的幅频响应mpiqpsk=m_piqpsk(1:length(x_f);%设置时域波表的横坐标单位为 usLen=100;%设置时域波形显示的点数x_t=1:Len;%产生长度为 Len 的时间序列x_t=x_t/Fs*106;%显示所需的频谱及时域波形subplot(211); plot(x_f,mpiqpsk); legend(PI/4 QPSK 信号频谱);xlabel(频率(MHz);ylabel(幅度(dB);grid on;subplot(212);plot(x_t,piqpsk(101:Len+100);legend(PI/4 QPSK 时域信号波形);xlabel(时间(us);ylabel(幅度(V);grid on;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报